LunaPosLunaPos
お知らせ一覧に戻る
開発アップデートFloor

Floor: Phase 1 βリリースブロッカー完了

βリリースに必要なPhase 1タスクを全て完了しました。


SupabaseService 書き込みメソッド

  • upsertVisit / upsertNominations / upsertOrderItems / upsertPayment / upsertCashWithdrawal
  • 共通エラーハンドリング(SupabaseError enum、指数バックオフリトライ、認証エラー時トークンリフレッシュ)
  • ユニットテスト(正常系・バリデーション・空配列・エラーハンドリング・DTOマッピング)

  • SyncEngine オフライン同期

  • SwiftDataエンティティにneedsSync/lastSyncedAt/syncRetryCountを追加
  • NetworkMonitor(NWPathMonitor)でネットワーク復旧時に自動同期
  • 外部キー依存順(Visit→Nomination→OrderItem→Payment→CashWithdrawal)で同期
  • 指数バックオフリトライ(3回失敗でsyncFailed)、競合解決(Last Write Wins、会計はサーバー優先)

  • PriceCalculator

  • StoreSettingsからの動的取得、指名料・同伴料・延長・割引・建て替え・手動上書きの全パターン対応
  • 48テスト全PASS(基本セット・指名・同伴・延長・割引・建て替え・複合・オーバーフロー)

  • エラーUI

  • NetworkStatusBadge(オフライン時に赤バッジ表示)
  • SyncStatusBanner(同期中プログレス・失敗時リトライボタン)
  • ErrorState統合管理(ObservableObject)

  • βテスト用データ

  • seed_beta.sql: テナント・キャスト5名・メニュー17品・テーブル8卓・セットプラン3種・来店10件
  • reset_beta.sql: テストデータ全削除
  • LINE友達追加お問い合わせもこちら