Skip to content

feat(platform): 完成 BuyLedger 平台現代化整合 - #1

Open
leoho0722 wants to merge 46 commits into
mainfrom
features/platform-modernization
Open

feat(platform): 完成 BuyLedger 平台現代化整合#1
leoho0722 wants to merge 46 commits into
mainfrom
features/platform-modernization

Conversation

@leoho0722

@leoho0722 leoho0722 commented Aug 22, 2026

Copy link
Copy Markdown
Owner

變更範圍

本 PR 整合 57b459d83b075e50(含首尾)的 18 個 commit,涵蓋 BuyLedger 的平台架構、功能模組、測試基礎建設與規格同步。

統計:604 個檔案、81,757 行新增、16,359 行刪除。

平台架構與資料層

  • 更新跨平台 data model 與 codegen fixtures。
  • 建立 CI 與測試計畫。
  • 收斂檔案、Store 與 Orders feature 邊界。
  • 升級 SwiftData schema、Persistence error contract 與 store recovery。
  • 強化訂單寫入與合併識別、開團 cascade、主檔來源與付款方式旗標。
  • 補齊 networking resilience、API key handling、App Lock 與隱私揭露。

功能與設計系統

  • 統一分析與營收歸屬公式。
  • 補齊報價流程與定價行為。
  • 收斂 design tokens、shared helpers、accessibility 與 localization。
  • 同步 UI 元件、畫面流程與跨功能狀態。

測試、CI 與規格

  • 建立全 App UI Automation 測試地基與測試支援工具。
  • 擴充 Unit Tests、accessibility、UI foundation、coverage 與 source-boundary guard。
  • 整理 xctestplan、CI workflow、codegen drift checks 與 simulator 測試設定。
  • 封存並同步 Spectra/OpenSpec 規格與各項變更提案。

本地驗證

  • bun run check:通過
  • bun test:52 pass、0 fail
  • bun run typecheck:通過
  • xcodebuildmcp simulator test:688 passed、0 failed、0 skipped
  • CI workflow YAML、原生 Xcode CLI 零命中、skip-testing 與 manual dispatch 靜態檢查:通過

尚待 GitHub Actions 驗證

  • CI workflow 的遠端紅綠驗收與 manual dispatch 行為。
  • UI regression 本地命令曾啟動,但因 simulator 執行超過 8 分鐘無結果而中止,未標記為通過。

leoho0722 and others added 18 commits August 15, 2026 09:00
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
整合目前未提交的架構、測試、UI 自動化與 Spectra 規格內容。

Co-Authored-By: Codex (GPT-5.6 Luna) <codex@openai.com>
@leoho0722
leoho0722 requested a balanced review from Copilot August 22, 2026 07:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@leoho0722 leoho0722 changed the title chore(repo): 整理架構、測試與規格變更 feat(platform): 完成 BuyLedger 平台現代化整合 Aug 22, 2026
@leoho0722
leoho0722 marked this pull request as ready for review August 22, 2026 07:38
@leoho0722
leoho0722 marked this pull request as draft August 22, 2026 07:39
讓磁碟型 SwiftData store 在建立 ModelContainer 前先建立父目錄,並補上缺少 store 目錄的回歸測試。

Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
@leoho0722
leoho0722 marked this pull request as ready for review August 22, 2026 08:00
leoho0722 and others added 5 commits August 22, 2026 16:08
將 LLVM profile 輸出導向 runner 暫存目錄,避免 xcodebuildmcp 測試 host 因 default.profraw 無法寫入而中止。

Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
CI 僅需要驗證 Unit Tests 與 UI Regression 結果,停用 test plan 的 coverage instrumentation,避免 GitHub runner 的 app process 寫入不可寫的 default.profraw。

Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
將 CI 使用的 Firebase 範例 API key 改為格式合法但不含真實憑證的 placeholder,避免 FirebaseApp.configure 在 Unit Tests 啟動時因格式驗證拋出 exception。

Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
保留提交的 Firebase 設定範本 placeholder,CI 複製成正式檔案後再寫入格式合法的範例 key,避免 Firebase 啟動驗證中止測試。

Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
- 記錄 GitHub Actions iOS Unit Tests 的成功驗收\n- 保留尚待執行的紅綠與手動 UI 驗收項目\n\nCo-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Dependencies/OrderRepository.swift Outdated
- 將 PersistenceInstanceProvider.instance 改為 async computed property
- 將 provider 的 computed property 與 repository internal method 分區
- 更新 provider 快取測試與訂單 persistence 測試排版

Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Dependencies/OrderSourceRepository.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Dependencies/OrderSourceRepository.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Dependencies/OrderSourceRepository.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Dependencies/OrderSourceRepository.swift Outdated
- 將 NameLookupOperations 的呼叫參數各自獨立一行
- 統一 renameOrderSource closure 宣告排版

Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Dependencies/PaymentMethodRepository.swift Outdated
Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Domain/OrderSummary.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Networking/APIError.swift
Comment thread apps/ios/BuyLedger/Core/Networking/APIError.swift
Comment thread apps/ios/BuyLedger/Core/Networking/APIError.swift
Comment thread apps/ios/BuyLedger/Core/Networking/APIError.swift
Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Networking/ExchangeRateClient.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Networking/HTTPClient.swift
Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Persistence/CampaignReminderPersistence.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Persistence/CampaignReminderPersistence.swift Outdated
Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Core/Persistence/CurrencyMetadataPersistence.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Persistence/OrderPersistence.swift Outdated
Comment thread apps/ios/BuyLedger/Core/Persistence/PersistenceContainer.swift
Comment thread apps/ios/BuyLedger/Core/Persistence/PersistenceContainer.swift Outdated
- 統一持久化函式與錯誤訊息排版
- 集中 AppLogger 的 subsystem 與 category
- 將動態字串串接改為字串插值

Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
@leoho0722
leoho0722 force-pushed the features/platform-modernization branch from 468cd14 to 54d3afc Compare August 23, 2026 06:09
Comment thread apps/ios/BuyLedger/Features/AISummary/AISummaryFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/AISummary/AISummaryFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/AISummary/AISummaryFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/AISummary/AISummaryFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/AISummary/AISummaryFeature.swift Outdated
- 將串流結果型別改為 StreamResult 並調整文件註解
- 將只在各 action 使用的 dependencies 移至對應 case

Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Features/App/AppLockFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/AppLockFeature.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/AppLockFeature.swift Outdated
- unavailable 狀態改用裝置密碼驗證說明
- 同步更新測試與中英文 localization

Co-Authored-By: Codex (gpt-5.6) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Features/App/AppLockFeature.swift Outdated
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Features/App/RootSidebarLayout.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/RootSidebarLayout.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/RootSidebarLayout.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/RootSidebarLayout.swift Outdated
Comment thread apps/ios/BuyLedger/Features/App/RootSidebarLayout.swift
leoho0722 and others added 2 commits August 23, 2026 17:45
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
Comment thread apps/ios/BuyLedger/Features/Campaigns/CampaignDetailView.swift Outdated
Comment thread apps/ios/BuyLedger/Features/Campaigns/CampaignDetailView.swift Outdated
Co-Authored-By: Codex (gpt-5.5) <codex@openai.com>
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