Skip to content

原生化掛載核心、修復來源重建並加入正式更新 JSON - #4

Merged
YAWAsau merged 5 commits into
mainfrom
codex/source-recovery-i18n
Oct 11, 2026
Merged

YAWAsau merged 5 commits into
mainfrom
codex/source-recovery-i18n

Conversation

@YAWAsau

@YAWAsau YAWAsau commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

來源路徑刪除重建後,旧 bind 的 inode 與新來源不同,原本預檢會把自身掛載誤判為外來掛載,阻止自動恢復。這次將來源身分、可見性、掛載表及卸載前的所有權判斷統一到 C,來源缺失時正確回報異常,恢復後由事件監聽自動重新掛載。

同時把程序/namespace 掃描、設定解析、狀態 JSON 與監聽器 supervisor 收斂到 mounttx,保留 Shell 的安裝、通知、ROM 相容和交易流程。沿用 PR #3 的繁簡 WebUI、建置 CI 與文字檔規則(致謝 ghjjvbjj),未採用全倉庫自動改寫語系的流程。

新增 module.prop updateJson 和正式版發布時的 metadata workflow。JSON 從實際 ZIP 讀取版本,穩定通道排除 prerelease;目前正式更新入口仍為 1.4.92。

驗證:Xiaomi 13 / Android 17 備用機已安裝重開機,原有 7 項掛載正常。測試專用 kernel-bind、bindfs_shared 來源消失時回報異常,重建後約 4.09 / 2.77 秒自動恢復,並在 MediaProvider namespace 讀到新內容;Profile a/b/a、手動重新掛載和原始設定逐位元還原通過。隔離 UBSan / 外來掛載保護 / 空白路徑、解析器差異與拒絕錯誤輸入、監聽器異常恢復、Shell 和 WebUI 測試通過。

同份 8 筆設定、5 次測量(含 Shell 入口)的中位數:解析 12.690 → 0.134 秒;程序掃描 54.713 → 0.157 秒;狀態查詢 5.858 → 0.338 秒。這是控制流程耗時,不是檔案讀寫吞吐量。3 個常駐 native supervisor 在 12 秒閒置觀察中 CPU ticks 沒有增加。

限制:測試期間有一次開機遇到廠商指紋 HAL 崩潰、未進入完整掛載階段,之後重開機成功;原因尚未確定。Salt Player/相簿自身媒體庫跨重開機保留仍需對應 App 實測。filewatch、propwait 仍為預編譯檔,magiskpolicy 源碼需另外取得,BUILD_KIT 不宣稱涵蓋所有 ELF 對應源碼。

確切提交完整 CI 已通過:https://github.com/YAWAsau/Mount_plus/actions/runs/38111020297

測試版下載:https://github.com/YAWAsau/Mount_plus/releases/tag/1.4.94-rc1

codex added 5 commits October 11, 2026 00:06
Adapt WebUI localization and CI from ghjjvbjj's PR #3; retain Traditional Chinese sources and omit the automatic conversion workflow. Add source identity event monitoring, actual mount visibility checks and isolated Android regressions.
@YAWAsau YAWAsau changed the title 修復來源重建與掛載誤判,保護媒體索引並加入繁簡 WebUI 原生化掛載核心、修復來源重建並加入正式更新 JSON Oct 11, 2026
@YAWAsau
YAWAsau merged commit f949389 into main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants