portal 下載 Mac 版改給 DMG(拖進 Applications),不再給 zip
leo 2026-08-05:「Mac 強調要包裝成 application + dmg 的格式,拖進去就會放到 application,**解決之前直接在下載資料夾啟動造成更新問題**」 ## 病(實查證實) manifest 已有 mac_dmg 欄,DMG 也上傳了,**但 portal 下載按鈕仍指 zip**: DAEMON_MAC = 'ArcrunRAG-mac-unsigned.zip' 用戶端實抓該 zip → 解開就是 Arcrun.app ⇒ 很可能直接在「下載」資料夾雙擊啟動, 正是 t184(Oscar)那個「更新完又跳回舊版」的病灶。 ## 修 · DAEMON_MAC → 'ArcrunRAG-mac.dmg'(**固定檔名**,否則每出一版都要改 code) · Mac 安裝提示改成 DMG 的步驟:「開啟後把 Arcrun 拖進『應用程式』,再從啟動台開啟」 (zip 版的話術是「右鍵→打開」,步驟不同不能沿用) ## 說明:App 端的更新邏輯本來就修好了 selfupdate.go 已改成更新「正在跑的那個 .app」(runningAppBundlePath),不寫死 /Applications ⇒ 放哪都更新得了。本次補的是**入口**:讓使用者一開始就放對位置。 ## ⚠️ 殘項(未送達) bundles repo 目前**只有帶版號的 DMG**(ArcrunRAG-v0.18.4.dmg), **沒有固定檔名 ArcrunRAG-mac.dmg**(實測 404)⇒ 這行改動要等出貨時 一併產生固定檔名副本才會生效。出貨需 D20 開閘。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -796,10 +796,16 @@ function taipeiMonthDay(ms) { var d = new Date(ms + TAIPEI_OFFSET_MS); return {
|
|||||||
// 判不出 OS 時**兩個都給**,不替用戶猜;且無論判成哪個,頁面都留「不是這個系統?」的另一版連結
|
// 判不出 OS 時**兩個都給**,不替用戶猜;且無論判成哪個,頁面都留「不是這個系統?」的另一版連結
|
||||||
// ——UA 會判錯,判錯時用戶要有路可走(施工圖 §3 注意事項 1、3)。
|
// ——UA 會判錯,判錯時用戶要有路可走(施工圖 §3 注意事項 1、3)。
|
||||||
var DAEMON_BASE_DEFAULT = 'https://raw.githubusercontent.com/youlinhsieh/arcrun-rag-bundles/main/daemon/';
|
var DAEMON_BASE_DEFAULT = 'https://raw.githubusercontent.com/youlinhsieh/arcrun-rag-bundles/main/daemon/';
|
||||||
var DAEMON_MAC = 'ArcrunRAG-mac-unsigned.zip';
|
// 🔴 2026-08-05 leo:「Mac 強調要包裝成 application + dmg 的格式,拖進去就會放到
|
||||||
|
// application,**解決之前直接在下載資料夾啟動造成更新問題**」
|
||||||
|
// ⇒ Mac 一律給 **DMG**(開啟後是「把 Arcrun 拖進 Applications」的標準畫面),
|
||||||
|
// 不再給 zip——zip 解開就是 .app,使用者很可能直接在「下載」資料夾雙擊啟動,
|
||||||
|
// 而自更新會蓋錯位置(t184 Oscar 的病)。
|
||||||
|
// ⚠️ 用**固定檔名**(不帶版號),否則每出一版都要改這裡的 code。
|
||||||
|
var DAEMON_MAC = 'ArcrunRAG-mac.dmg';
|
||||||
var DAEMON_WIN = 'ArcrunRAG-win-unsigned.zip';
|
var DAEMON_WIN = 'ArcrunRAG-win-unsigned.zip';
|
||||||
// Mac 那顆 21MB > jsDelivr 單檔 20MB 上限(實測回 "File size exceeded...")→ 一律走 raw;
|
// Mac 那顆 > jsDelivr 單檔 20MB 上限(實測回 "File size exceeded...")→ 一律走 raw;
|
||||||
// Windows 13MB 雖在限內,同走 raw 保持單一來源、少一個會壞的地方。
|
// Windows 同走 raw 保持單一來源、少一個會壞的地方。
|
||||||
function daemonBase() {
|
function daemonBase() {
|
||||||
var cfg = (window.ARCRUN_CONFIG || {});
|
var cfg = (window.ARCRUN_CONFIG || {});
|
||||||
if (cfg.daemonBase) return String(cfg.daemonBase).replace(/\/?$/, '/');
|
if (cfg.daemonBase) return String(cfg.daemonBase).replace(/\/?$/, '/');
|
||||||
@@ -829,7 +835,8 @@ function taipeiMonthDay(ms) { var d = new Date(ms + TAIPEI_OFFSET_MS); return {
|
|||||||
// 封測期第一次開啟的擋關提示(未簽章)——Mac/Windows 攔法不同,話術也不同。
|
// 封測期第一次開啟的擋關提示(未簽章)——Mac/Windows 攔法不同,話術也不同。
|
||||||
function daemonHint(os) {
|
function daemonHint(os) {
|
||||||
if (os === 'win') return '(封測版未簽章,Windows 第一次會跳藍色視窗擋下來——點「更多資訊」→「仍要執行」就好)';
|
if (os === 'win') return '(封測版未簽章,Windows 第一次會跳藍色視窗擋下來——點「更多資訊」→「仍要執行」就好)';
|
||||||
return '(封測版未簽章,第一次請右鍵→打開)';
|
// DMG 版的步驟與 zip 不同:先拖進「應用程式」再從那裡開,才不會在下載資料夾啟動。
|
||||||
|
return '(開啟後把 Arcrun 拖進「應用程式」,再從啟動台開啟;封測版未簽章,第一次請右鍵→打開)';
|
||||||
}
|
}
|
||||||
// 07-27:設定頁的常駐入口(下載小幫手/換 AI 金鑰)——與一次性卡片同一組 API
|
// 07-27:設定頁的常駐入口(下載小幫手/換 AI 金鑰)——與一次性卡片同一組 API
|
||||||
(function () {
|
(function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user