Commit Graph

20 Commits

Author SHA1 Message Date
congsh 60ad9a04cd feat: phase 4 - 积分竞猜和游戏黑名单 v0.3.0
竞猜功能:发起竞猜、下注、关闭、开奖、奖池分配
黑名单功能:标记游戏、按原因/严重程度筛选、详情展开
修复:双重结算、TOCTOU竞态、订阅泄漏、选项选择兼容性

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 00:21:43 +08:00
congsh fdd1ae0929 fix: add $autoCancel:false to games API calls
GamesLibrary auto-cancellation error was caused by missing
$autoCancel:false on all games.ts PocketBase SDK calls.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 20:40:55 +08:00
congsh 19bf317d85 fix(phase3): description optional, restore nginx to host IP
- Make ledger description field optional (was required, caused 400)
- Revert nginx.conf back to 192.168.1.14:8090 (host IP, reliable)
- Keep docker-compose port mapping as 8090:8090
- Add $autoCancel:false to ledger/asset API calls

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 20:32:06 +08:00
congsh dc11ef90fd fix(phase3): add $autoCancel:false to prevent SDK auto-cancellation
PocketBase JS SDK auto-cancels pending requests when a new request
targets the same collection. This causes errors when loadLedgers and
getLedgerSummary run in parallel via Promise.all. Added $autoCancel:false
to all API calls in ledgers.ts and assets.ts, matching project convention.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 20:05:27 +08:00
congsh c5413644f9 feat: phase 3 - ledger and asset management
Add group expense tracking (ledger) and public asset inventory (asset) features.
Ledger supports income/expense recording with monthly summary. Asset tracks
group equipment with free-form holder transfer. Both are independent pages
accessible from GroupView navigation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 19:42:04 +08:00
congsh 625d0baf7d feat: v0.1.1 - poll editing, notifications, fixes
- Poll editing by creator (title, options, deadline)
- Notification panel with app notifications and click-to-navigate
- Poll creation notifies group members
- Invitation rejection notifies inviter
- Fix: notification createRule, timezone, autocancel, nginx, tab timing

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 18:51:23 +08:00
congsh c5d3ac01ca feat: phase 2 - polls, memories, notifications, stats v0.1.0
- Group polls with option/rollcall modes, edit by creator, auto-settle
- Multimedia memories with upload, preview, inline video playback
- In-app notifications for poll/team/group events
- Points system and group stats dashboard
- Group detail tabs with icons (activity/polls/memories/stats)
- Fix: nginx file upload size, static cache blocking API, timezone, auto-cancel

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 18:19:46 +08:00
congsh cfdbaf1095 feat: UI redesign v0.0.2 — color unification, navigation improvements, mobile support
- Unify color palette from mixed green/blue/purple to consistent green theme
- Sidebar: add text labels to create/join group buttons for discoverability
- Header: add quick action buttons (create group, join group, notifications)
- Mobile: add hamburger menu with slide-out sidebar and overlay
- Home: add prominent CTA buttons, onboarding card for empty state
- Join group dialog: add search-by-name mode alongside existing ID lookup
- Games library: inline group selector dropdown instead of external selection

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 12:24:20 +08:00
congsh 12b2cdbc02 fix: sync user status changes across team lifecycle
- Accept invitation: update local userStore status to in_team
- Start game: update userStore status to in_team
- End game: update userStore status to idle, simplify endGame logic
- Add $autoCancel:false to endGame session fetch

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 10:59:10 +08:00
congsh 8d3cce814a fix: team invitation acceptance 404 error
- Relax team_sessions collection rules to allow authenticated users to view/update
- Reorder respondInvitation: join session before marking invitation as accepted
- Add $autoCancel: false to prevent request cancellation during invitation flow

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 10:52:48 +08:00
congsh 4dac4bc751 fix: disable PocketBase SDK auto-cancellation on group API calls
SSE subscriptions trigger concurrent requests to the same endpoints,
causing auto-cancellation errors. Add $autoCancel: false to group
queries that get called from realtime event handlers.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 10:04:26 +08:00
congsh 6b684f8600 fix: login persistence, username login, realtime refresh, group name uniqueness
- Remove loadFromCookie that overwrites valid localStorage auth data
- Set user status to idle on first login (was empty string)
- Default empty status to idle instead of away

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 09:56:11 +08:00
congsh 9405406c47 fix: login persistence, username login, realtime refresh, group name uniqueness
- Fix cookie path to '/' for auth persistence across page refreshes
- Login field now accepts both username and email
- Add 30s polling for group list and team session status refresh
- Add group name uniqueness check before creation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 01:24:12 +08:00
congsh c76346294a feat: add group join approval flow with requireApproval setting
- New join_requests PocketBase collection for pending join applications
- Group requireApproval field (default true) with owner toggle
- JoinGroupDialog: apply when approval required, direct join when not
- JoinRequestCard component for accept/reject in notifications and group panel
- NotificationPanel shows both invitations and join requests
- GroupMembersPanel shows pending requests and approval switch for owners

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 00:46:31 +08:00
congsh 4b97c99e56 feat: add game library CRUD/import/export/favorites/comments, fix team creation
- Game library: add/delete games per group, JSON/CSV import/export, favorites, star ratings & comments
- Fix team session creation: add creator to members array, handle null currentGroup
- Fix image loading: rename SVG files from .png to .svg extensions
- Add PocketBase migrations for game_comments and game_favorites collections
- Remove seed data script

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 21:03:20 +08:00
congsh 802712c662 feat: complete Phase 1 - game library, lifecycle, realtime sync
- Seed 33 popular games across 5 platforms via admin API script
- Add GameDetailDialog with game info and quick-team button
- Update GamesLibrary with game card click to open detail dialog
- Update Home hot games to open detail dialog instead of navigating
- Rewrite invitation accept: frontend auto-joins team + updates status
- Add user status reset on team dissolution (endGame)
- Add start game / dissolve buttons to TeamSessionPanel lifecycle
- Integrate realtime subscriptions in GroupView and Layout
- Add notification store realtime invitation listener
- Add placeholder images for game covers and avatars
- Remove Go hooks, add JS hooks placeholder + Docker mount

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 20:23:39 +08:00
congsh 0bcf39bb4b fix: resolve /api/api doubled path in Docker deployment
- Remove VITE_PB_URL=/api from Dockerfile (SDK auto-appends /api)
- Fix nginx proxy_pass to keep /api/ prefix for PocketBase
- Update pocketbase.ts fallback to window.location.origin
- Update PocketBase proxy target to port 8090

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 19:51:12 +08:00
congsh 4dd15dceab fix: collection name mismatch, login/register navigation, and connection config
- Fix teamSessions → team_sessions to match PocketBase collection name
- Replace <a @click> with <router-link> in Login and Register views
- Update PocketBase default URL and vite proxy target
- Comment out docker-compose user directive for permission fix

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 19:28:53 +08:00
congsh 0acc1e12e1 fix: rewrite backend hooks, fix invitation flow, align frontend API, fix component naming
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 16:30:05 +08:00
congsh 2ce8985747 feat: add GameGroup2 project with frontend and backend
- Add .gitignore for Node.js and PocketBase projects
- Add frontend (Vue 3 + Vite + TypeScript)
- Add backend (PocketBase)
- Add deployment scripts and Docker compose configs

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 15:45:54 +08:00