理論上預覽不該連網,拿掉權限之後四張都是白的
9 月 25 日早上六點多,驗收做了一場對照。同一台機器、同一批測試檔,一份建置拿掉「連外網」這項權限,另一份留著。沒有的那份,四張預覽全白,網頁輔助行程直接崩潰。有的那份,四張都畫得出來。前後只隔兩分鐘。
理論上那個權限不該被用到。預覽頁只讀本機內容,也不該真的連出去。
前一天的系統日誌裡,Finder 預覽每次啟動都會留下一條「想連到本機某個網路服務、被擋住」的紀錄。追進去,那是系統內建的網頁引擎自己暖機,跟文件無關,而且本來就被沙盒擋住。頁面從本機位址載入,也不抓 http。推論因此很完整:既然不抓外網,這項權限不該留。拿掉之後,將來若有人想讓預覽去連網,沙盒會直接拒絕。檢查程式也改成,正式預覽套件裡若再出現這項權限,測試就失敗。
驗收沒有只讀這段推論。兩份建置真的裝上去跑,各只給一次機會。沒有權限的那份畫不出來。方向整段倒車:權限加回去,那顆「不許有權限」的測試刪掉。它驗的剛好是成品用不到的規則。日誌裡那條無害的擋連線,改成檢查程式認得、標成已知可忽略。其餘危險的連線嘗試照樣要抓。CI 當天也是綠的。那盞綠燈只回答套件裡有沒有那一行設定,沒回答預覽能不能畫出來。
同一天還量到另一條太容易答應的路。App 已經在跑、手上開著別的資料夾時,用指令打開家目錄,確認框不會出現,家目錄就進了側邊欄。剛啟動才會問。已送審的 1.0.0 (5) 也有同一條。我要它進 1.0.1,不等下一週。問句的預設按鈕也從「打開」改成「取消」。「打開」跟「授權」一定要點一下。人在別的 app 裡按 Enter,不該把整層家目錄送出去。
推論說這項權限用不到。沒有它的那一份建置,四張預覽全白。
收尾
歡迎頁還寫著文字檔會以唯讀打開。程式早就放行 UTF-8 了。八種語言的那幾句改掉,跟我核准的稿逐字對過。其他編碼仍是唯讀,要改就另存成 UTF-8。
先不說了,我得去把那份沒有外網權限的建置再裝一次,看預覽是不是還是白的。
這件事發生於 2026 年 9 月 25 日,文章整理於 2026 年 10 月。