Commit Graph
59 Commits
Author SHA1 Message Date
jjbruntonandClaude Opus 4.5 4c18afaeae feat: add live draw feature and clean up docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 14:35:16 +00:00
jjbrunton c8aaa8967d feat: add catchup and unpaired reminder notifications
Add automatic push notifications for behind partners (escalating: 24h then
every 3 days) and daily unpaired user reminders. Includes edge functions,
migrations, notification preference toggles, and UI improvements to pairing
and swipe screens.
2026-01-31 23:38:27 +00:00
jjbrunton 14b0199625 feat(mobile): replace Sentry with Firebase Crashlytics
Migrate error tracking from Sentry to Firebase Crashlytics.
Bump version to 1.0.4, add Discord notification triggers.
2026-01-27 22:08:43 +00:00
jjbrunton 620369a7ce fix(android): use Animated.FlatList for matches scroll
Use Reanimated's built-in Animated.FlatList instead of manually wrapping
with createAnimatedComponent to fix Android crash where animated scroll
handler binds before the native node is registered.

Also includes v1.0.3 version bump and expo-sharing pin.
2026-01-27 20:19:28 +00:00
jjbrunton 8d4d9d8750 refactor(swipe): split swipe screen modules
Move swipe screen logic into hooks/services and extract
state-specific UI components to keep files small while
preserving existing behavior.

Reference: US-002
2026-01-25 21:05:54 +00:00
jjbrunton a531f43d91 Fix premium access check and tab bar styling 2026-01-25 19:56:47 +00:00
jjbrunton 1daf386765 Add question types, nudge feature, and share modal
- Add new question card components (photo, audio, text, who-likely)
- Add share preview modal for matches
- Add nudge notification system with rate limiting
- Add session-based notification improvements
- Add match confetti celebration animation
- Update onboarding flow with paywall tracking
- Remove deprecated swipe card and tutorial components
- Update GlassCard/GlassInput to use solid backgrounds
- Fix routing issues after packs screen removal
2026-01-25 19:17:39 +00:00
jjbrunton 6c2e471d47 Make profile picture mandatory and show partner avatar 2026-01-25 10:21:06 +00:00
jjbruntonandClaude Opus 4.5 69ac0940d3 Add discovery UI, hide NSFW setting, and pack progress
- New discovery components (ContentTile, ContentRow, CircularProgress)
- Refactor home screen with compact header and content tiles
- Add hide_nsfw profile setting for content filtering
- Add color column to categories table
- Track pack progress (answered/total questions)
- Update related stores and tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:14:44 +00:00
jjbrunton e28dcc1592 Fix match modal question display 2026-01-17 23:00:36 +00:00
jjbrunton b070a6f6a2 Add profile photo to onboarding flow 2026-01-17 19:22:36 +00:00
jjbrunton 349f460e15 Add guest auth and save-account flow
Introduce anonymous sign-in with in-app saving, guest recovery warnings, paywall prompts, and admin guest labeling.
2026-01-17 17:55:06 +00:00
jjbrunton b8c271cce1 Add show all intensities toggle on packs page 2026-01-17 17:12:10 +00:00
jjbrunton 494ed17fe2 Add streaks, scheduled releases, and notification settings
- Couple streaks with milestone notifications
- Scheduled pack releases with admin UI
- Notification preferences screen
- Refactored profile settings screens
- Partner activity notifications
2026-01-17 16:38:47 +00:00
jjbrunton 12f312421b Fix Firebase Analytics setup and disable ad ID 2026-01-16 23:36:52 +00:00
jjbruntonandClaude Opus 4.5 e671ae9d1c Add admin user details, pack notifications, remove crypto
- Add enabled packs and feature interests to admin user page
- Add clickable links from responses to packs in admin
- Add pack change notification edge function
- Remove react-native-quick-crypto (unused E2EE)
- Bump mobile version to 1.0.1 (versionCode 22)
- Add EAS config and preview build scripts
- Gitignore keystore and APK files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 19:03:34 +00:00
jjbruntonandClaude Opus 4.5 3009e80dd4 Add drag-and-drop reordering to categories page
- Replace up/down chevron buttons with @dnd-kit drag handles
- Update pack generation and question review commands
- Fix MCP bridge and add supabase package.json for Docker

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:19:36 +00:00
jjbrunton 4e40b92b16 Add MCP server and enhance AI content tools
Implement self-hosted MCP server for admin actions, update AI generation tools in admin dashboard, and refine mobile app stores and components.
2026-01-10 19:24:06 +00:00
jjbruntonandClaude Opus 4.5 b0f1700e40 Add match archiving, chat enhancements, and daily limits
- Match archives with swipe-to-archive and unread filtering
- Chat settings sheet and full-screen media modals
- Match notification modal for new matches
- Admin AI settings with model/provider configuration
- Daily response limit feature with recommended questions
- New test coverage for stores, hooks, and components
- Claude Code agent and command configurations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 20:18:34 +00:00
jjbruntonandClaude Opus 4.5 b60b72a289 Update icons, screenshots, and UX improvements
- Refactor icon picker to use full Ionicons set dynamically
- Add date sort toggle to My Answers screen
- Fix match deduplication and show total count on home
- Clear stale data when switching chats
- Update app store screenshots
- Bump build number to 25

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:58:29 +00:00
jjbrunton c48936686e Remove E2EE and switch to plaintext messaging
🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-08 18:04:48 +00:00
Jamie BruntonandClaude Opus 4.5 43fa7033dc Add pack icon system and E2EE removal plan
- Replace emoji icons with Ionicons for professional appearance
- Improve E2EE key recovery with better diagnostics
- Add analytics for pack icon events
- Document E2EE removal plan for future simplification

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 15:34:25 +00:00
Sauci Dev 953bd7c03d Fix Android navigation and enforce secure-only messaging
- Remove forced redirect to pairing screen for users without a couple
- Users now go directly to dashboard after onboarding (matches iOS behavior)
- Add secureReady state to InputBar to prevent sending before E2EE is ready
- Pre-fetch admin key during key initialization to reduce chat load time
- Block media uploads until encryption is fully ready
- Add security status indicator in chat when encryption is initializing
2026-01-07 21:42:19 +00:00
jjbrunton 0a919f06fc Add intensity-based preferences and harden E2EE payload verification 2026-01-07 19:53:09 +00:00
Jamie Brunton e23f4557bb Switch to local EAS versioning and sync build numbers 2026-01-07 15:40:17 +00:00
Jamie Brunton 314745c6cb Add iOS privacy purpose strings and version display
- Add descriptive purpose strings for camera, photo library, and microphone
- Display app version and build number on profile screen
- Add email redirect URL for sign-up flow
- Update Android OAuth client configurations

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-07 12:01:14 +00:00
jjbruntonandClaude Opus 4.5 58209b94ef Fix EAS local builds and resolve require cycles
- Add dotenv-cli for EAS local builds to load env vars
- Break circular dependencies in store/hooks imports
- Add env var validation with clear error messages
- Remove hardcoded Sentry auth token from sentry.properties
- Add .ipa files to .gitignore

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 16:43:24 +00:00
jjbrunton bb2ce5a6a6 Implement infinite scroll for Matches and Answers
Add pagination support to stores and update list screens to load data in batches for improved performance with large datasets.
2026-01-03 22:34:41 +00:00
jjbrunton ae91602921 Improve mobile data retrieval and state management
- Add race protection and packId normalization to swipe screen
- Add loading/error states to matchStore with couple_id filter
- Sync per-match unread counts in realtime
- Use useFocusEffect for data freshness on Home screen
- Wire RefreshControl to actual loading state on Matches

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-03 20:10:58 +00:00
jjbrunton 994dd2a295 Add lifecycle push notifications and refine UI
Send push notifications when partner disconnects, resets progress, or deletes relationship.
Update Matches screen with new styling and remove legacy premium elements.
Remove message content preview from admin User Activity page.
2026-01-03 18:58:57 +00:00
jjbrunton a567fba349 Enhance swipe UI and add chat date separators 2026-01-03 18:37:18 +00:00
Jamie Brunton 365852c130 Add E2EE unit tests and improve mobile UI
- Add comprehensive tests for encryption/decryption logic
- Improve error messages for encrypted chat
- Update profile danger zone UI with blur effect
- Refactor typing indicator hook
2026-01-03 09:51:31 +00:00
Jamie Brunton 198cd80dfd Implement E2EE and message content moderation 2026-01-02 20:49:11 +00:00
Jamie Brunton 8f8c6e401d Refactor profile screen and organize project structure
- Extract ProfileScreen and components to features/profile
- Move shared hooks and stores to top-level
- Add RLS policies for admin permissions
- Add RELEASING.md guide
- Update .gitignore
2026-01-01 23:03:43 +00:00
Jamie BruntonandClaude Opus 4.5 cac7a2a31d Update mobile app UI with premium design system
- Add design guidelines to CLAUDE.md
- Redesign navigation with boutique styling
- Add video support to chat with compression
- Update matches/dares/quiz screens with gold/rose accents
- Improve packs browsing with category tabs
- Add SwipeCardPremium component
- Update theme with premium color palette
- Add video cleanup edge function and migration

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 20:26:33 +00:00
Jamie BruntonandClaude Opus 4.5 feb7657562 Add feature interest buttons to dares and quiz
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 18:42:56 +00:00
Jamie Brunton 3b445597f0 Update 2026-01-01 17:59:18 +00:00
jjbrunton 0fa7971cb9 Update 2026-01-01 16:43:55 +00:00
jjbrunton 3fcbea8d60 Update 2026-01-01 15:42:22 +00:00
jjbrunton ef7bc8c90d Update 2026-01-01 13:29:25 +00:00
Jamie Brunton f7eaf0adcf Update 2025-12-31 15:51:12 +00:00
Jamie Brunton d18f9d32b0 Update 2025-12-31 14:54:28 +00:00
Jamie Brunton f46f0d59df Update 2025-12-31 10:40:17 +00:00
Jamie Brunton 71667d6104 Update 2025-12-31 09:43:10 +00:00
Jamie Brunton dfcf0ba289 Update 2025-12-31 09:40:27 +00:00
Jamie Brunton add94b31f6 Update 2025-12-30 23:01:56 +00:00
Jamie Brunton acf9962503 Update 2025-12-30 22:56:30 +00:00
Jamie Brunton 0f229211ea update 2025-12-30 22:18:12 +00:00
Jamie Brunton ef30a768d8 Update 2025-12-30 17:44:48 +00:00
jjbrunton d04e6b68d3 Update 2025-12-30 17:05:32 +00:00