Skip to content

Conversation

@marcodejongh
Copy link
Owner

Summary

  • Add GPS-based session discovery allowing users to find and join nearby climbing sessions within 500 meters
  • Remove single-session limitation from backend to support multiple concurrent sessions
  • Add tab navigation to setup wizard with "Start a sesh" and "Join a sesh" options
  • Add "Allow others nearby to join" toggle for discoverable sessions (requires authentication)
  • Add session history panel for resuming previous sessions (7-day retention)

Backend Changes

  • Extended sessions table with GPS coordinates, discoverable flag, user reference, and expiry timestamp
  • Refactored RoomManager to support multiple concurrent sessions
  • Added GraphQL queries (nearbySessions, mySessions) and mutation (createSession)
  • Added session cleanup service for automatic 7-day expiry

Frontend Changes

  • Created useGeolocation hook for browser GPS access
  • Added JoinSessionTab component for GPS-based session discovery
  • Added NearbySessionCard component for displaying discoverable sessions
  • Added SessionHistoryPanel component for resuming previous sessions
  • Restructured setup wizard with Tabs component

Test plan

  • Test GPS permission request flow in Join a sesh tab
  • Test finding nearby sessions when discoverable sessions exist
  • Test creating a discoverable session with "Allow others to join" enabled
  • Test session history panel shows recent sessions
  • Test resuming a previous session from history
  • Verify session cleanup removes sessions after 7 days
  • Test authentication requirement for discoverable sessions

🤖 Generated with Claude Code

@vercel
Copy link

vercel bot commented Dec 26, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
boardsesh Ready Ready Preview, Comment Dec 27, 2025 1:08am

- Add GPS coordinates, discoverable flag, and user reference to sessions table
- Remove single-session limitation from RoomManager to allow multiple concurrent sessions
- Add session discovery methods: findNearbySessions (500m radius), getUserSessions, createDiscoverableSession
- Extend GraphQL schema with DiscoverableSession type and nearbySessions/mySessions queries
- Add session cleanup service for 7-day session expiry
- Create useGeolocation hook for browser GPS access
- Add tab navigation to setup wizard: "Start a sesh" and "Join a sesh"
- Add "Allow others nearby to join" toggle requiring authentication
- Add SessionHistoryPanel for resuming previous sessions
- Add JoinSessionTab and NearbySessionCard components for GPS discovery UI

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move shared-schema dist copy before npm ci in production stage
- Update shared-schema exports to use dist/ instead of src/
- Add build dependency for shared-schema in backend build script
- Add Railway configuration files

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add --workspace flags to npm ci to properly resolve workspace deps
- Ensures shared-schema dist is copied before npm ci runs
- Tested locally: build succeeds with proper workspace resolution

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Since shared-schema now exports from dist/, it must be built before
any consuming packages can resolve it.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create new @boardsesh/db package with modular schema organization
- Split monolithic schema into boards/, auth/, and app/ modules
- Merge migrations from web (20) and backend (2) into unified set
- Move docker-compose.yml to repo root
- Rename backend sessions to boardSessions to avoid NextAuth conflict
- Update web and backend to use re-export wrappers for compatibility
- Add Neon serverless client with environment detection

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add @boardsesh/db to Dockerfile.backend build steps
- Update vercel.json to build db package before web
- Fix TypeScript implicit any errors in room-manager.ts
- Add NODE_ENV=development to backend dev script

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add packages/db/** to workflow path triggers
- Add build step for @boardsesh/db before type checking and tests
- Update both web and backend test workflows

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add test environment detection (NODE_ENV=test or VITEST=true)
- Use postgres-js driver for tests instead of Neon serverless
- Add postgres as dependency to @boardsesh/db package
- Simplify test setup to create tables directly instead of migrations
- Tests now work without Neon proxy in CI

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.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