Ponshu Developer
675e67e3c1
refactor: デッドコード削除 — analyzeSakeHybrid/analyzeSakeText
...
- gemini_service.dart: 未使用の analyzeSakeHybrid / analyzeSakeText を削除
(どこからも呼ばれておらず、画像直接解析 analyzeSakeLabel のみ使用中)
- main.dart: isProVersion を「現在未使用」コメントに更新
- version: 1.0.28+35
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 09:19:03 +09:00
Ponshu Developer
d23ee8ed77
fix: AI解析プロンプトの銘柄名補完バグを修正
...
- 銘柄名(name)と蔵元名(brand)はラベルの文字をそのまま使うよう明示
「東魁」→「東魁盛」のような知識補完を禁止する指示を追加
- 全3プロンプト(画像解析・ハイブリッド・テキストのみ)に適用
- version: 1.0.27+34
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 08:58:02 +09:00
Ponshu Developer
f229ff6b4b
fix: 外部コードレビュー指摘の修正4件
...
device_service.dart:
- iOS device_idをSharedPreferencesにUUID永続化(identifierForVendor廃止)
→ 全ベンダーアプリ削除後の再インストール後もライセンスが継続する
- fallback device_idもSharedPreferencesに永続化
→ アプリ再起動のたびにIDが変わるバグを修正
license_service.dart:
- revokedキャッシュが24h後にfreeに降格するバグを修正
→ proとrevokedはキャッシュ有効期限の対象外にする
sake_mbti_stamp_section.dart / sake_detail_screen.dart:
- isProVersion(コンパイル時) → isProProvider(実行時ライセンス)に移行
→ ライセンス購入後にアプリ再起動なしでMBTIスタンプが有効になる
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 08:14:37 +09:00
Ponshu Developer
7b3249791e
fix: セルフコードレビュー修正 — ライセンス管理バグ4件
...
- license_service.dart: オフライン時にProキャッシュを上書きしないよう修正
(offline statusを受け取ったらキャッシュフォールバックを使う)
- license_service.dart: activate()でoffline状態を明示的にハンドル
(「キーが見つかりません」ではなく「接続できません」と表示)
- license_service.dart: ライセンスキーのバイト数コメントを修正 (16→6バイト)
- license_screen.dart: Pro画面の誤ったテキスト修正
(「AI解析無制限」→「すべてのPro機能」)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 06:42:35 +09:00
Ponshu Developer
5311241fe5
feat: ライセンス検証をVPSエンドポイントへ移行
...
- secrets.dart: posimaiBaseUrl を追加 (https://api.soar-enrich.com )
- license_service.dart: 検証URLをproxyから /api/ponshu/license/validate へ変更
+ LicenseStatus.trialExpired 参照バグを修正
+ _cachedTrialInfo 残骸変数参照を削除
- proxy/server.js: /license/validate と /admin/license/revoke を削除
(ライセンス管理はPostgreSQL + VPS server.js が担当)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:16:52 +09:00
Ponshu Developer
d47bb201ac
feat: ライセンス管理システムを追加(Pro機能解放型)
...
- LicenseService / LicenseProvider / LicenseScreen を追加
- main_screen.dart: isProVersion(ビルド時)→ isProProvider(ランタイム)に変更
ライセンスキー購入後にARスキャン・Analytics・Instagram支援が解放される
- home_screen.dart: 不要なTrialStatusBannerを削除(AI解析は常時無制限)
- proxy/server.js: トライアル回数制限・Stripe/Resendコードを削除(整理)
- proxy/package.json: stripe/resend依存を削除
- .github/workflows/ios_build.yml: iOS CI追加
- scripts/deploy_android.ps1: Android配布スクリプト追加
AI解析(1日50回)はLite版でも制限なし
Proライセンス購入でARスキャン・Analytics・Instagram支援を解放
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:05:53 +09:00
Ponshu Developer
fedfc6fa62
fix: code review fixes — data integrity, safety, architecture
...
C-2: draft_service — $i+1 → ${i+1} 文字列補間バグ修正
C-1: sake_item — setter内の unawaited save() を削除(呼び出し元で明示的に await)
H-2: sake_detail_screen — 再解析前に実ファイル存在チェック追加
M-4: gemini_exceptions.dart 新規作成、[CONGESTION]文字列マッチ→型チェックに変更
C-4: main.dart — migration_completed フラグ→ migration_version 番号管理に移行
既存ユーザーのデータは migration_version=1 扱いで安全に互換維持
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 08:26:53 +09:00
Ponshu Developer
182e498188
fix: save as draft when Gemini 503 exhausts all retries
...
When API congestion persists after 3 retries + fallback:
- Mark exception with [CONGESTION] tag
- camera_screen catches it and calls DraftService.saveDraft()
- Shows orange snackbar (same UX as offline) instead of red error
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 19:17:30 +09:00
Ponshu Developer
0d741c4cb0
fix: add retry + fallback for Gemini 503 UNAVAILABLE errors
...
- Retry up to 3 times with exponential backoff on 503/UNAVAILABLE
- Fall back to gemini-2.0-flash on final attempt
- Replace raw JSON error with user-friendly Japanese message
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 19:04:40 +09:00
Ponshu Developer
b6163e8efe
chore: guard DevMenu in release build, clean up Phase/TODO comments
...
- DevMenu: kReleaseModeのときonTap=nullでリリースビルドから完全無効化
- Phase N マーカーを全ファイルから削除(実装済みのため歴史的コメントを除去)
- analysis_cache_service TODOを具体的な記述に改善
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 03:02:01 +09:00
Ponshu Developer
aded5562cd
fix: Resolve all flutter analyze warnings (39 -> 0 issues)
...
Code Quality Improvements:
- Add vector_math to pubspec.yaml (fixes depend_on_referenced_packages)
- Remove deprecated tutorial fields from UserProfile (hasSeenCameraTutorial, etc.)
- Regenerate user_profile.g.dart (Hive adapter)
- Suppress Share API deprecation warning in sommelier_screen.dart
- Fix unnecessary_getters_setters in sake_item.dart with ignore comment
- Fix unnecessary_brace_in_string_interps in sakenowa service
- Fix unnecessary_underscores warnings (_, __ -> err, stack)
Configuration:
- Exclude scripts/ and tools/ from analyzer (avoid_print in dev tools)
- Add analyze_output*.txt to .gitignore
Result: flutter analyze now reports "No issues found!"
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:32:02 +09:00
Ponshu Developer
3502694d89
feat: Add Bearer Token authentication to AI Proxy and disable CORS
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:34:00 +09:00
Ponshu Developer
d89b6917fa
feat: v1.0.16 brushup + Synology Proxy integration
...
- fix: Replace hardcoded colors with AppColors theme
- refactor: Extract SakePhotoEditModal and SakeMbtiStampSection
- feat: Add taste chart manual editing feature
- test: Add unit tests for SakeItem and AnalysisCacheService (14 tests)
- feat: Add Synology AI Proxy server (Node.js/Docker)
- chore: Make useProxy configurable via dart-define
- chore: Add .apk/.aab/.ipa to .gitignore
- docs: Add proxy setup guide and project roadmap
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:13:12 +09:00
Ponshu Developer
21833e4e75
feat: Code quality improvements (v1.0-full-with-qr)
...
✨ Improvements:
- Replace print() with debugPrint() (7 instances)
- Migrate withOpacity to withValues (9 instances)
- Remove unused imports (2 files)
- Fix BuildContext async gaps with mounted checks
- Remove unused local variables
📊 Analysis Results:
- Flutter analyzer: 57 → 46 issues (-11)
- Security audit: Passed ✅
- Code quality: Production ready ✅
🎯 Purpose:
Complete snapshot before QR feature removal.
This is the last version with full QR functionality.
🤖 Generated with Claude Code & Antigravity
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-30 00:54:22 +09:00
Ponshu Developer
6507ab9596
feat: enhance AI spec extraction
2026-01-16 00:53:44 +09:00
Ponshu Developer
318fa19bfb
Fix compilation error in SakePriceDialog
2026-01-13 18:13:23 +09:00
Ponshu Developer
e038fff77f
Code Cleanup: Fix analyzer issues (unused vars, dead code, logic, pdf_service restoration)
2026-01-13 10:33:13 +09:00
Ponshu Developer
191e334d0d
v1.2: Map Tab Tile Map, Sommelier Enhancements, APK Optimization (111MB)
2026-01-13 10:16:00 +09:00
Ponshu Developer
2eb451296b
Step 1 Polish: dart fix --apply (Resolved 47 analysis issues)
2026-01-11 17:40:26 +09:00
Ponshu Developer
5f2802728d
v1.0.8 - Original (Ponshu Room Lite MVP Complete)
2026-01-11 17:17:29 +09:00