Posts
All the articles I've posted.
Plash 桌布長時間播放多支影片卡死變黑,只能整個 Quit 重開救回
用 Plash 把本機 HTML(含多支 muted loop 影片的拍立得桌布動畫)當 macOS 動態桌布用,跑一段時間後(數小時到一兩天)影片會停止播放、凍結。Plash 是用 WKWebView 把本機網頁渲染成桌面背景。
Codex JSONL Tool Checkpoints
A long-running codex exec --json coding task could change files for many tool calls before the orchestration round ended.
edge-tts 連續呼叫偶爾回傳空音檔(NoAudioReceived),要加重試機制
用 edge-tts 套件在同一支腳本裡連續生成多段 TTS(例如逐句念旁白、要合併成一支完整音檔)時,導致整個批次中斷。單獨把出錯的那段文字抽出來測試(同樣的 voice/rate/pitch),完全正常生成,證明不是文字內容或參數的問題。
後台顯示亂碼:先查是不是「歷史髒資料換了新展示層才曝光」而非現行系統新 bug
GM/BI 後台某個查詢頁面的文字欄位(例如「備注」)顯示亂碼,混雜 HTML entity 與亂碼字元(例如 äº 或直接顯示 以塰 這類字元)。亂碼只出現在特定時間窗口,是「歷史髒資料」的強訊號,不是「現行系統新 bug」。
Cobra StringSliceVar 會把 flag 值用逗號切割
設計「用符號切割的 CLI 值格式」時,先問:分隔符會不會出現在使用者的正常內容裡?冒號(時間、coordinate、URL)和逗號(URL、英文)幾乎必然出現,不是邊角案例。
Go Module 巢狀 sub-module 的 module path 必須對齊目錄結構
主 module go-masker/v3 正常,只有 sub-module 抓不到。Go modules 的 major version suffix(/v3)是主 module 專屬的語法糖,sub-module 不享有這個待遇。
Go Module sub-module 發布時必須移除 replace 指令
Go Module sub-module 發布時必須移除 replace 指令:replace 是開發工具,不是發布工具——它不該出現在任何 release tag 裡。
Docker Compose volume mount 空目錄陷阱
old-game-server 容器化後,GM 加減幣回 "invalid token"。Docker compose 對不存在的 bind mount source 會自動建空目錄(root owned) — 不報錯、不警告,容器正常啟動但 mount 是空的。
Spring 容器化後 static block 載入寫死 IP 的 MongoDB 連線
其他非容器化環境和正式環境看起來沒事。classpath:spring_mongodb.xml(無 path prefix) 優先找 JAR root-level 的檔案,不是 WAR config/spring_mongodb.xml — 同名不同路徑。
首次 Release 踩坑:goreleaser + Tauri + GitHub Actions
用 goreleaser + Tauri 做第一次 v0.1.0 release,CI 連續 fail 了好幾輪,每輪修一個坑。跨平台打包的坑幾乎都是「本機能跑 CI 不行」——本機有全域 config、有 cache、有裝好的 native 工具。