Commit Graph

373 Commits

Author SHA1 Message Date
SocioWire 75c7b6e483 feat: Add change password modal, small avatar images, fix email verification
- Add Change Password popup modal in Island profile
- Convert avatar URLs to small variant (160x160) for thumbnails
- Add toSmallImageUrl utility function in client.js
- Update markerManager, IslandViewer, FriendsList, TopBar to use small images
- Backend now stores small variant for avatar uploads

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 23:37:37 +00:00
SocioWire 177f0034d6 Fix email verification redirect handling
Add 'validated' to the list of accepted URL params for email verification,
since Keycloak sends validated=1 instead of verified=1.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:29:30 +00:00
SocioWire e8c2a4cda1 feat: add weather markers on map with special blue pill styling
- Weather posts display as compact blue pills with emoji + temperature
- Weather posts forced to 'simple' type (never full card) to avoid duplicates
- Parse temperature from title when not available in data
- Z-index set to 10 (just above regular posts, below UI elements)
- Add fetchWeatherPosts and fetchMapPins API functions
- Add Weather modal components (WeatherModal, HourlyForecast, DailyForecast)
- Add DayNightTerminator component for map

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 07:32:28 +00:00
SocioWire ced3a5b1a0 Clear error state when creating new post or changing steps
- Reset saveError and isSaving when opening create form
- Clear error when navigating between steps

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 03:53:03 +00:00
SocioWire ea3c8b149e Fix gallery remove button and update floating UI styles
- Fix removeMediaFromGallery -> removeMediaUrlAtIndex function reference
- Update create post floating UI styling

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 03:39:38 +00:00
SocioWire f8804a5b14 style: refine floating UI - narrower width, dark blue theme
- Reduced width to 320px
- Removed teal accent, using light gray instead
- Improved text contrast for blue theme
- Darker background for better readability

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 02:43:57 +00:00
SocioWire f9d7df0c96 refactor: redesign create post floating UI with compact layout
- Centered stacked layout at screen center
- Purple accent color instead of blue
- Compact padding and smaller fonts
- Glass effect with blur and transparency
- Theme support (dark/light/blue)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 02:34:42 +00:00
SocioWire 4705fc03b1 feat: add long-press map interaction and improve create post UI
- Add long-press (1 second) on map to open create post popup
- Add close button (X) to mode selector and create post popups
- Improve create post popup design with glass-morphism effect
- Fix chat: mark messages as read when received in open chat
- Fix avatar styling for guest users (remove nested circles)
- Add userId to auth context for stable chat identification

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 23:55:09 +00:00
SocioWire f9e1505147 feat: add real-time chat system with i18n support
- Add WebSocket-based chat with presence indicators
- Add message delivery status (sending/sent/read)
- Add notification badges for unread messages
- Add body scroll lock on mobile to prevent keyboard issues
- Add visibility change handling to refresh data on browser resume
- Add internationalization (i18n) with English/French support
- Add timezone-aware message timestamps

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 20:40:28 +00:00
SocioWire d77dac74a2 fix: restore map interactions after post deletion
When a post was deleted while viewing it, the map interactions (drag, zoom)
were not being restored, leaving the map frozen.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 05:03:19 +00:00
SocioWire bdd6e2c691 fix: prevent time filter reset when changing category
- Set autoWidenRef.current = true when user changes filter to prevent auto-widen
- Time filter now stays as user selected when changing category/subcategory

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 04:49:40 +00:00
SocioWire 642fc2d196 Update frontend assets handling 2026-01-08 15:40:58 +00:00
SocioWire 713a35ab75 Update live flow and search dedupe 2026-01-08 05:26:11 +00:00
SocioWire 694a0aaaa2 Fix camera switch using useDualCamera hook
- Use useDualCamera for device enumeration and reliable switching
- Auto-update LiveKit video track when camera swaps during live
- Only show switch button if device has 2 cameras
- Better camera unavailable state handling

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:55:53 +00:00
SocioWire 870921a482 Add timer, comments, and fix camera switch for live
- Add elapsed time counter (MM:SS) in header and stats
- Add comments section with real-time input
- Fix camera switch to work during live (replaceVideoTrack)
- Send comments to backend on finalize for saving
- Show comment count in end stream dialog

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:44:54 +00:00
SocioWire 540f213014 Add camera switch button to live broadcast
- Add button to toggle front/back camera
- Shows spinner while switching
- Works before and during live stream

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:33:53 +00:00
SocioWire 29e80a7f0e Update branding and fix video content display
- Update favicon and icons with new 2026 branding
- Fix video content display - skip hero replacement for video posts
- Add video_url to asset resolution in client.js
- Update LiveKit broadcast with egress recording
- Fix auth context and topbar styling
- Update PostCard and map styling

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:11:49 +00:00
SocioWire 3e16629a32 Alert on live finalize failure 2026-01-07 02:23:54 +00:00
SocioWire 9e4483954f Add footer version and live post error guard 2026-01-07 02:15:02 +00:00
SocioWire 15141835f2 Update live features 2026-01-07 02:03:36 +00:00
SocioWire eedebaea46 Improve SEO nav and map loading placeholder 2026-01-05 17:44:44 +00:00
SocioWire 4f2894987d Update SmartSearchBar component
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 06:43:44 +00:00
SocioWire 2014e3434d Filter data: URLs before creating posts
- Prevent data: URLs from being sent to backend (crash browsers)
- Only send properly uploaded asset URLs

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 22:43:56 +00:00
SocioWire e5f9cad7df fix: use consistent Keycloak URL for cross-domain SSO
Changed KC_URL default to www.sociowire.com/auth to ensure all OAuth
flows go through the same domain, fixing cross-subdomain SSO issues.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 08:43:26 +00:00
SocioWire 148c9595ca Use relative /auth URL for Keycloak
Works on any domain (www.sociowire.com, us2.sociowire.com, etc.)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 08:09:41 +00:00
SocioWire bc9d422319 Fix SSO black page - clear bad tokens and exclude /auth from cache
- Add clearBadTokens() to remove tokens with wrong issuer
- Exclude /auth routes from service worker caching
- Prevents black page when tokens from old auth config are stored

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 08:01:00 +00:00
SocioWire 18b55c3f49 Fix OAuth callback crash causing black page
- Wrap whoami/refreshProfile calls in try/catch
- Add .catch() handlers for async auth operations in useEffect
- Prevents React crash when API calls fail during SSO

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 07:55:24 +00:00
SocioWire 0d58ca25ab Fix service worker caching API responses
The service worker was using cache-first strategy for ALL requests
including API calls, causing stale data to be served indefinitely.

Now API routes (/api/*, /ws) are always fetched fresh.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 07:47:14 +00:00
SocioWire d5aa930d34 Add source:sociowire for user posts, fix time filter, cross-origin SSO 2026-01-04 07:10:36 +00:00
Your Name d4829ae628 picture 2026-01-03 16:40:32 -05:00
Your Name da1af00aaa Thumbnails row only below preview 2026-01-02 12:54:04 -05:00
Your Name d6238e46bc Keep gallery row inside preview 2026-01-02 12:49:40 -05:00
Your Name 0010709b24 Persist gallery preview row 2026-01-02 12:48:00 -05:00
Your Name ff275cd47d Show gallery row under preview 2026-01-02 12:46:30 -05:00
Your Name 8d3a1a7e41 Default non-link creation to custom upload 2026-01-02 12:44:14 -05:00
Your Name cd8cd9f308 Link-only preview block 2026-01-02 12:42:55 -05:00
Your Name f0b4956b3d Compact create image panel 2026-01-02 12:39:55 -05:00
Your Name 04511b87ee Use inline placeholder for previews 2026-01-02 12:37:25 -05:00
Your Name 7b84a516e5 Reset link preview placeholder 2026-01-02 12:35:23 -05:00
Your Name b33754fa09 Enlarge modal arrows 2026-01-02 02:23:22 -05:00
Your Name 5ec9abd874 Anchor modal arrows to edges 2026-01-02 02:21:35 -05:00
Your Name e768674bfd Reposition modal counter 2026-01-02 02:20:17 -05:00
Your Name 6a0dcc650d Refine modal arrows and counter 2026-01-02 02:18:56 -05:00
Your Name f5bf27a56e Push counter away from arrow 2026-01-02 02:16:46 -05:00
Your Name 551a8ccf8c Bigger arrows and counter 2026-01-02 02:14:28 -05:00
Your Name dac6fc3555 Simplify modal arrows 2026-01-02 02:12:26 -05:00
Your Name 6cb6a1e66f Space modal counter from arrow 2026-01-02 02:10:30 -05:00
Your Name 4dfeadfe23 Shift modal counter right 2026-01-02 02:09:17 -05:00
Your Name 5d5cf3e3ab Tighten marker modal controls 2026-01-02 02:05:41 -05:00
Your Name e3a67347fd add touch swipe to overlay carousel 2026-01-02 01:53:15 -05:00