Commit Graph

33 Commits

Author SHA1 Message Date
Ponshu Developer f2f6acd070 fix: Update CI Flutter version from 3.27.1 to 3.38.3 to match Dart SDK ^3.10.1 requirement
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 10:05:44 +09:00
Ponshu Developer e6e45ffca4 fix: Check git-tracked status instead of file existence for secrets check
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:58:30 +09:00
Ponshu Developer f75549ab9a fix: Add secrets.local.dart setup step for CI environment
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:42:15 +09:00
Ponshu Developer 234048e487 fix: Update GitHub Actions security check to validate correct files
- Check secrets.local.dart (contains API keys) instead of secrets.dart (routing only)
- Add grep check for hardcoded API key patterns in source code

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:37:34 +09:00
Ponshu Developer 4aeda91d10 chore: Clean up repository - remove temp files, strengthen .gitignore
- Remove APK build artifacts from working directory
- Move old review/analysis reports to docs/archive/
- Move initial setup docs to docs/archive/
- Add .apk/.aab/.ipa/.claude/.cursor/.env to .gitignore
- Remove .claude/ from git tracking

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:30:43 +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 ed7c0f0781 chore: Remove Flutter template test file
- Deleted test/widget_test.dart (Flutter Counter template)
- File was unrelated to Ponshu Room Lite functionality
- Actual tests will be added in v1.0.16

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-09 21:10:56 +09:00
Ponshu Developer 5410c78c6c fix: Add missing badge check after AI sake registration
## Bug Fix
- Badge "初めての一歩" was not unlocking when adding first sake item
- Root cause: GamificationService.checkAndUnlockBadges() was never called in camera_screen.dart

## Changes
- Import gamification_service.dart
- Call checkAndUnlockBadges(ref) after adding sake item to Hive
- Display newly unlocked badges in success SnackBar
- Extend SnackBar duration when badges are unlocked (4s -> 6s)

## User Impact
- Users will now see badge unlock notifications: "バッジ獲得: 初めての一歩 🍶"
- All badge unlock conditions (first_step, regional, collector, flavor) now work correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 08:22:23 +09:00
Ponshu Developer b600579123 feat: Redesign Lite version Pro-lock UX with crown badge and dialog
## UI/UX Improvements (User Feedback Implementation)
- Add crown badge to Pro-locked tab icons (Instagram, Analytics, Scan)
- Replace full-screen ProLockedScreen with compact AlertDialog
- Prevent tab navigation to locked features (show dialog instead)
- Follows industry standards (Spotify, Notion, Canva pattern)

## User Experience Benefits
1. Clear visual indicator (crown badge) BEFORE tapping
2. Lightweight dialog instead of full-screen transition
3. No page navigation = smoother, less frustrating experience
4. Reduced "disappointment factor" through expectation management

## Technical Changes
- Added `_IconWithCrownBadge` widget for tab icons
- Added `_showProOnlyDialog()` method for Pro-only feature alerts
- Modified `onDestinationSelected` to intercept locked tab taps
- Simplified screens list (locked tabs show HomeScreen dummy)

## Build Optimization
- Release APK size: 47.1MB (Lite) / 47.2MB (Pro)
- Both versions optimized with tree-shaking and R8
- Single architecture (arm64) for optimal size

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 08:00:15 +09:00
Ponshu Developer 494dafe3f2 debug: Add debug logging for Google Drive upload issues
Added debug logging to:
1. main.dart - Log IS_PRO_VERSION value at startup
2. main_screen.dart - Log IS_PRO_VERSION and isBusiness in screen build
3. pdf_preview_screen.dart - Log PDF Drive upload process with file ID verification

This will help diagnose why Google Drive uploads appear to succeed but files
are not visible in Drive.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 01:00:37 +09:00
Ponshu Developer a1b25bf3a7 fix: Add missing detail fields to HiddenSpecs initialization
Fixed bug where AI analysis detail fields (type, alcoholContent, polishingRatio,
sakeMeterValue, riceVariety, yeast, manufacturingYearMonth) were not being saved
to HiddenSpecs, causing them to display as "-" in the UI.

Root cause: camera_screen.dart was only passing 3 fields (description, tasteStats,
flavorTags) to HiddenSpecs constructor, missing 7 detail fields that Gemini API
was successfully returning.

Verified: All detail fields now display correctly after AI analysis.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 00:06:48 +09:00
Ponshu Developer 246826eeca fix(build): Remove unused dependencies, enable MultiDex, disable R8 temporarily, patch google-services.json 2026-01-30 20:21:27 +09:00
Ponshu Developer 624810891d feat: Update Pro version package name and app label 2026-01-30 17:39:06 +09:00
Ponshu Developer f063ef6ec5 feat: Add Pro version lock mechanism for Lite version preparation
Phase 4.1完了: Pro版機能ロック機構の実装

変更内容:
- lib/widgets/pro_locked_screen.dart: 新規作成
  - 和モダンな王冠アイコン付きロック画面
  - Pro版限定機能を分かりやすく表示
  - 日英両対応

- lib/main.dart: IS_PRO_VERSION ビルドフラグ追加
  - bool.fromEnvironment('IS_PRO_VERSION', defaultValue: true)
  - Pro版/Lite版をビルド時に切り替え可能に

- lib/screens/main_screen.dart: 条件分岐ロジック追加
  - パーソナルモード: QRスキャン → Lite版ではロック画面
  - ビジネスモード: Instagram・分析 → Lite版ではロック画面
  - タブ表示は維持、タップ時にロック画面を表示

ビルドコマンド:
- Pro版: flutter build apk --release --dart-define=IS_PRO_VERSION=true
- Lite版: flutter build apk --release --dart-define=IS_PRO_VERSION=false

次ステップ:
- lite-versionブランチ作成
- QR依存関係削除(pubspec.yaml)
- パッケージ名・アプリ名変更

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-30 17:34:39 +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 a5353a9b50 feat(infra): Add AI Proxy Server for Rate Limiting & API Key Protection
## 概要
Gemini APIへのリクエストを中継するプロキシサーバーを実装。
アプリにAPIキーを埋め込まず、Synology上で安全に管理。

## 主な機能
- デバイスID認証(SHA256ハッシュ)
- レート制限(1デバイスあたり1日10回)
- 使用状況のログ記録(JSON形式)
- 30日以上前のデータ自動削除

## 技術スタック
- Python 3.11 + FastAPI
- Docker Container(既存のGitea環境に追加)
- ポート8080で公開

## ファイル構成
- tools/synology/ai-proxy/server.py - プロキシサーバー本体
- tools/synology/ai-proxy/requirements.txt - Python依存関係
- tools/synology/docker-compose.yml - ai-proxyサービス追加
- tools/synology/.env.example - 環境変数テンプレート
- tools/synology/DEPLOYMENT_GUIDE.md - デプロイ手順書

## セキュリティ
- .env ファイルは.gitignoreで除外(APIキー保護)
- 環境変数でAPIキー管理(コードに埋め込まない)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-15 22:50:23 +09:00
Ponshu Developer 3841cbb907 feat(infra): Setup Synology AI Factory (Gitea + MCP) 2026-01-14 00:48:04 +09:00
Ponshu Developer 94af953ac3 UI Polish: Dialogs for Backup/Account, Font Alignment, Hide Future Features 2026-01-13 19:00:16 +09:00
Ponshu Developer 9d19689dbd Fix build errors: imports and provider type 2026-01-13 18:36:31 +09:00
Ponshu Developer fbeefd9456 feat(ui): Implement Developer Menu & A/B Testing (Grid/FAB) 2026-01-13 18:33:47 +09:00
Ponshu Developer d0ce82f59a v1.3 Polish: Remove unnecessary divider after MBTI 2026-01-13 18:24:37 +09:00
Ponshu Developer 318fa19bfb Fix compilation error in SakePriceDialog 2026-01-13 18:13:23 +09:00
Ponshu Developer 3018d9a9d1 Fix syntax error in HomeScreen logic 2026-01-13 12:13:10 +09:00
Ponshu Developer 4e8b619ec2 UI Polish: Remove redundant header icon, update usage guide assets, add close button to dialog 2026-01-13 11:56:17 +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 e05d05c4ee Step 2 Doc: Add Synology setup guide 2026-01-12 15:47:27 +09:00
Ponshu Developer 1cb3ada9e0 Step 2: Add GitHub Actions for automated quality checks
Add CI/CD workflow to automatically check code quality on every push:
- Flutter analyze (static analysis)
- Dart format verification
- Security check (secrets.dart exclusion)
- Test execution (if tests exist)

Benefits:
- Catch issues before they reach production
- Maintain consistent code quality
- Automated security verification
- Build confidence for future changes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-12 00:53:49 +09:00
Ponshu Developer a6cefb8be5 Step 1 Cleanup: Safe code quality improvements
- Replace deprecated withOpacity() with withValues(alpha:) across 13 files
- Remove unnecessary imports (schema imports, unused dart:io, etc.)
- Reduce analysis issues from 122 to 111 (11 issues resolved)
- All changes are safe and do not break functionality

Changes:
- lib/main.dart: Remove redundant schema imports
- lib/screens/*.dart: Update color methods, clean imports
- lib/widgets/*.dart: Update color methods
- lib/theme/app_theme.dart: Update color methods

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-12 00:53:49 +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 c948164d39 Add Synology docker-compose setup for Gitea+MCP 2026-01-11 17:34:20 +09:00
Ponshu Developer 5f2802728d v1.0.8 - Original (Ponshu Room Lite MVP Complete) 2026-01-11 17:17:29 +09:00