Commit Graph

32 Commits

Author SHA1 Message Date
Nikita 3a2c78198a Add browser session schema and integrate into viewer data; update UI with sessions section and new session form. 2025-12-26 19:40:13 -08:00
Nikita 9a2e5c5a4a Add PaywallBanner and ReplayGrid components; fetch and display replays with paywall handling in user stream page 2025-12-25 12:01:48 -08:00
Nikita 9aecbab8a9 Fix: Remove unused viewerCount prop from ProfileSidebar and update related code
- Removed viewerCount from ProfileSidebarProps and component parameters
- Commented out viewerCount usage in ProfileSidebar component
- Updated import statement to exclude unused icons
- Removed viewerCount prop from StreamPage component instances in $username.tsx
2025-12-25 10:10:42 -08:00
Nikita 205c38d0ee Add database schema updates for user profile fields and streams, seed initial data, and extend components with streaming settings and profile fields. 2025-12-25 00:41:00 -08:00
Nikita 3509b91c08 Add ProfileSidebar component for user profile display and update route to use it 2025-12-24 23:36:11 -08:00
Nikita 50bf16cd6e Update environment variable name for Cloudflare live input UID and refactor StreamPage to fetch HLS URL from API
- Rename `CLOUDFLARE_STREAM_NIKIV_VIDEO_ID` to `CLOUDFLARE_LIVE_INPUT_UID` in env.d.ts
- Remove hardcoded `LIVE_INPUT_UID` constant from `$username.tsx`
- Add `hlsUrl` state and update it based on API response in `$username.tsx`
- Modify stream playback logic to use `hlsUrl` for nikiv user
- Fetch HLS URL from server-side API and update state accordingly
- Update `check-hls.ts` to derive HLS URL dynamically from environment variables
- Remove `CLOUDFLARE_LIVE_INPUT_UID` from `wrangler.jsonc` environment variables
2025-12-24 23:32:50 -08:00
Nikita b2c94ea623 Update hardcoded Cloudflare Stream UID to a constant and remove dynamic HLS URL updates 2025-12-24 23:26:36 -08:00
Nikita ca8af44c72 Update environment typings and stream handling for dynamic HLS URL
- Add `CLOUDFLARE_STREAM_NIKIV_VIDEO_ID` to environment variables
- Refactor `$username.tsx` to initialize stream data with default HLS URL
- Implement dynamic HLS URL update based on API response for Nikiv stream
- Modify `/api/check-hls` route to use environment variable for video ID
- Ensure HLS URL updates trigger stream data refresh in client
- Update `wrangler.jsonc` to include `CLOUDFLARE_STREAM_NIKIV_VIDEO_ID` in env vars
2025-12-24 23:17:59 -08:00
Nikita 78a4be3104 Remove commented-out code related to watch time tracking and authentication gating from $username.tsx for cleaner, more maintainable code. 2025-12-24 20:21:56 -08:00
Nikita 9b535249bc Remove unused code related to the free preview countdown banner in StreamPage component 2025-12-24 19:38:34 -08:00
Nikita e4a15b9c29 Add LiveNowSidebar component for live status notification and integrate it into relevant pages 2025-12-24 19:19:25 -08:00
Nikita 3141241626 Improve VideoPlayer to notify when ready and update StreamPage to handle player readiness and connection state 2025-12-24 19:06:58 -08:00
Nikita 7e480305c4 Add API route to check HLS stream status and integrate server-side HLS validation in StreamPage component 2025-12-24 18:52:46 -08:00
Nikita 7c678b3110 Fix HLS live check to handle fetch errors and improve polling logic 2025-12-24 18:49:49 -08:00
Nikita 03362955f0 Implement free preview timer with localStorage persistence and UI indicator 2025-12-24 18:48:03 -08:00
Nikita ba34ab4363 Add debug logs for stream status and HLS fetch process 2025-12-24 18:34:54 -08:00
Nikita f81affe448 Improve billing and access control by adding creator subscription check; update route components to enforce user authentication before viewing streams and replays. 2025-12-24 17:14:01 -08:00
Nikita cf4a43779e Implement setup task for worker admin environment and add new database schema and snapshot files 2025-12-24 16:31:01 -08:00
Nikita 26fa0b0ec9 Add URL management schema, route, and related updates for URLs feature 2025-12-24 15:10:38 -08:00
Nikita 7f6f7d2f37 Add stream_replays table, related schema, and API endpoints for managing stream replays 2025-12-23 23:20:22 -08:00
Nikita 9e62068359 Improve HLS live detection and state management in StreamPage component
- Add `hlsLive` state to track if HLS playlist is live
- Implement `isHlsPlaylistLive` function to determine playlist status
- Reset `hlsLive` before fetching new manifest
- Update fetch logic to set `hlsLive` based on playlist analysis
- Refine live status checks to consider HLS playlist state
- Adjust rendering conditions to use `isActuallyLive` for consistency
2025-12-23 14:41:42 -08:00
Nikita 9233104381 Implement soft fullscreen mode with timeout handling in VideoPlayer component; update fullscreen state management and styling accordingly. 2025-12-23 14:25:07 -08:00
Nikita 937f13581e Fix Spotify now playing text and link rendering in StreamPage component 2025-12-23 14:16:48 -08:00
Nikita 4a6b510a5e Update production setup docs with new Spotify secret; enhance video components for fullscreen handling; add Spotify now-playing API module. 2025-12-23 13:54:34 -08:00
Nikita 93bd99f9ed Implement WebRTC URL resolution and update stream playback logic across components and API routes 2025-12-23 11:32:08 -08:00
Nikita f45c28f941 fix: remove obsolete commit checkpoints file; update WebRTCPlayer for error handling; improve stream fallback logic in StreamPage 2025-12-22 11:47:17 -08:00
Nikita 2a98dd1d0b Update stream playback configuration to include WebRTC support and conditionally render WebRTC player in stream page. 2025-12-21 18:37:46 -08:00
Nikita 3d6709e5c5 Update commit checkpoints with new timestamp and session ID; modify stream placeholder to display "stream soon" and adjust link text based on username. 2025-12-21 18:36:03 -08:00
Nikita e37e89dc4d Update streaming placeholder to display a link for 'nikiv' and a message for others 2025-12-21 15:15:14 -08:00
Nikita f188310411 Add real-time viewer count component and integrate it into stream page; update presence tracking logic with Jazz. 2025-12-21 15:12:32 -08:00
Nikita 103a4ba19c feat: Add Cloudflare StreamPlayer component and update schema with billing and access control
- Introduced `CloudflareStreamPlayer` React component for embedding streams
- Updated `package.json` with new dependencies: `@cloudflare/stream-react` and `stripe`
- Extended database schema with user tiers, Stripe billing, storage, and archive management
- Added access control logic in `access.ts` for user tiers and feature permissions
- Enhanced billing logic with archive storage limits and subscription checks
2025-12-21 14:56:30 -08:00
Nikita 8cd4b943a5 . 2025-12-21 13:37:19 -08:00