Commit Graph

177 Commits

Author SHA1 Message Date
sebastjanartic
169b4b777b Improve video sharing by optimizing thumbnails and meta descriptions
Update meta description for videos to include title and platform details. Implement logic to fetch and resize actual thumbnails from Bunny.net for social media sharing, using JPEG format for better quality and setting a 2-hour cache. Also, improve video not found error handling and logging.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/HCAS0JG
2025-09-03 10:57:38 +00:00
sebastjanartic
cdb43e1ff2 Improve social image generation with a new modern design and gradient
Update the /api/social-image endpoint to use a new SVG design with improved gradients, decorative elements, and text styling for social media previews.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/HCAS0JG
2025-09-03 10:54:54 +00:00
sebastjanartic
967aa3025c Improve social media sharing by updating image generation
Updates social media image generation to use a new, dynamically generated image with a cache-busting parameter, ensuring up-to-date previews on platforms like WhatsApp and Viber. This includes enhancements to the SVG generation process using Sharp for optimized PNG output.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/OdlP8Wj
2025-09-03 10:47:45 +00:00
sebastjanartic
1d1cbe4271 Improve social media sharing image generation for better platform visibility
Add an API endpoint to generate optimized social share images, resolving issues with image display on platforms like WhatsApp.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/OdlP8Wj
2025-09-02 18:44:01 +00:00
sebastjanartic
4ffdf7f960 Improve video update process by removing unnecessary logging
Refactor `HybridStorage.updateVideo` to only update the PostgreSQL database, removing console logs and comments related to Bunny CDN caching.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/d05DGZF
2025-09-02 15:24:15 +00:00
sebastjanartic
aef9d6e04a Update video information only in the database
Modify the `updateVideo` method in `HybridStorage` to exclusively update video details in the PostgreSQL database, removing the previous logic that also updated the Bunny cache.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/d05DGZF
2025-09-02 15:10:58 +00:00
sebastjanartic
af87e190e0 Improve video data caching and synchronization logic
Modify BunnyStorage to update local cache directly instead of invalidating it, improving performance by avoiding external synchronization calls after successful database updates.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/d05DGZF
2025-09-02 15:06:58 +00:00
sebastjanartic
fef1b66bd7 Prioritize database updates for videos over Bunny cache
Update video metadata in PostgreSQL and invalidate Bunny.net cache to ensure data consistency.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/d05DGZF
2025-09-02 15:04:37 +00:00
sebastjanartic
dec09b7b2f Improve storage logic to support hybrid and CDN options
Refactor storage initialization to prioritize hybrid (Bunny.net + Database) storage, then Bunny.net only, falling back to Database or Memory storage. Remove debug logs from NetflixGrid component.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/d05DGZF
2025-09-02 15:02:36 +00:00
sebastjanartic
c12c2c8486 Use only the database for storing all content and user data
Force PostgreSQL database storage by removing Bunny.net and hybrid storage options.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/xrPE0Pj
2025-09-02 14:56:41 +00:00
sebastjanartic
19e957153f Improve AI description generation to handle different content types
Update the AI service to allow specifying content type (e.g., 'oddaja' for shows) and adjust prompts accordingly to generate more relevant descriptions for various media formats.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/n7jzC7R
2025-09-02 14:32:40 +00:00
sebastjanartic
289c3c028a Update video details in the administration panel
Add logging to the /api/admin/videos/:id PATCH endpoint and the BunnyStorage updateVideo method in server/storage.ts to capture video update requests and parsed data.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/n7jzC7R
2025-09-02 14:19:26 +00:00
sebastjanartic
246ddc7160 Update video information and refresh cached content
Update video record in the database with new information and a timestamp. If the database update is successful, invalidate the cache to ensure the latest video data is loaded.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/n7jzC7R
2025-09-02 14:17:40 +00:00
sebastjanartic
9b39f101c2 Increase the number of videos displayed in the admin panel
Update the default limit for fetching videos in the admin panel from 50 to 500, and display the total number of videos available.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/OcXjVeJ
2025-09-02 13:44:14 +00:00
sebastjanartic
f17747a814 Add fields for video episode details and tags for shows
Updates `client/src/pages/admin.tsx` to include inputs for `filename`, `episodeNumber`, `episodeTitle`, and `tags`. Modifies `server/storage.ts` to include these fields in `MemStorage` and `shared/schema.ts` to add these columns to the `videos` table in PostgreSQL.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/ik6JrhN
2025-09-02 13:31:12 +00:00
sebastjanartic
e117f3617b Add artist/performer information to videos and admin interface
Update database schema and admin UI to include an 'artist' field for videos, and configure agent integrations for database access.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/QfqdFa4
2025-09-02 13:27:34 +00:00
sebastjanartic
15e57c3294 Enhance AI description generation with custom instructions for users
Add a custom instructions input field to the admin video edit dialog and backend to allow users to guide the AI description generation process.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:18:56 +00:00
sebastjanartic
6b80ac00c6 Improve AI description generation to prevent repetitive content and support German
Enhance the AI service to include memory for previously generated descriptions, implement German language support for prompts, and refine prompt instructions to avoid mentioning unknown information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:16:05 +00:00
sebastjanartic
d0443dc1b3 Improve AI video description generation and error handling
Enhance AI video description generation by adding detailed error logging in `aiService.ts` and implementing debug logs within `routes.ts` to track video processing and description generation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:10:51 +00:00
sebastjanartic
befb0d2e98 Improve AI description generation by using a newer model and adjusting parameters
Update server/aiService.ts to use the gpt-4o model, adjust max_tokens, and add temperature for AI-generated descriptions.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:09:53 +00:00
sebastjanartic
7b2008baff Improve AI description generation for video content and fix errors
Update the AI description generation process to correctly handle and display AI-generated descriptions in the admin interface, including error handling and success notifications.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:09:04 +00:00
sebastjanartic
e948249a96 Adjust AI model settings and improve video metadata update functionality
Modify AI service to remove temperature setting and update storage logic to allow all metadata updates for admin edits in BunnyStorage.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/LY6xmBI
2025-09-02 13:04:39 +00:00
sebastjanartic
9202e323bc Improve AI service to better estimate token completion for responses
Update `server/aiService.ts` to use `max_completion_tokens` instead of `max_tokens` for more accurate AI response length estimation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/td5Y4HG
2025-09-02 13:00:29 +00:00
sebastjanartic
475534134c Add AI-powered description generation for video content
Integrates OpenAI API to generate video descriptions using AI, with new API endpoints for single and bulk generation, and a UI button in the admin panel to trigger the process. Includes OpenAI dependency and a new `aiService.ts` file.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/td5Y4HG
2025-09-02 12:59:45 +00:00
sebastjanartic
18d07fb8eb Improve UUID generation for user identification
Refactor the `generateDeterministicUUID` function in `server/routes.ts` to use an arrow function syntax and update the UUID generation logic for user identification.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/7eNxwas
2025-09-02 12:50:47 +00:00
sebastjanartic
d91a94675c Improve user ID generation for consistent authentication
Implement deterministic UUID generation using SHA256 hashing for Replit user IDs to ensure consistent user identification across sessions and database operations.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/170e18f0-0f13-4eca-8643-546bba1dd8cc/vqbrWR9
2025-09-02 12:47:24 +00:00
sebastjanartic
68bb99739b Add admin capabilities for managing users on the platform
Introduce new API endpoints and backend logic for administrative user management, including fetching, viewing, and updating user roles, while ensuring sensitive data like password hashes are excluded from responses. Implement Replit user ID formatting for internal consistency and extend storage interfaces to support user retrieval and counting.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 170e18f0-0f13-4eca-8643-546bba1dd8cc
Replit-Commit-Checkpoint-Type: full_checkpoint
2025-09-02 12:19:53 +00:00
sebastjanartic
d283a0d4a5 Update user data handling and password storage mechanisms
Refactor user model and storage implementations to correctly handle password hashing (using `passwordHash` instead of `password`), update field names for profile images to `avatar`, and ensure consistent user data mapping between database and in-memory storage. Includes schema adjustments for `users` table.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 68e1a8f7-084c-4a75-801e-34657bd7a71b
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/68e1a8f7-084c-4a75-801e-34657bd7a71b/IiSxX58
2025-09-02 12:10:11 +00:00
sebastjanartic
e394e3f671 Add new video attributes and improve storage management
Implement a hybrid storage solution combining Bunny.net for video operations and PostgreSQL for user data. Update video schema with face detection and content type fields, and add a `isSuperAdmin` flag for user roles.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 22c71427-e484-49cc-bab4-5c9a7f7d98bc
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/22c71427-e484-49cc-bab4-5c9a7f7d98bc/JP4XKDb
2025-09-02 12:05:41 +00:00
sebastjanartic
c71720454f Add admin dashboard and Replit authentication integration
Integrates Replit authentication using OpenID Connect, adds an admin dashboard route with video management and thumbnail upload capabilities, and updates dependencies.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/1jMBtLj
2025-09-02 12:01:00 +00:00
sebastjanartic
bddd331745 Improve platform performance and user experience with optimizations
This commit enhances performance by optimizing video card previews, implementing memoization for categories, debouncing search queries, and enabling compression and caching strategies on the server.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/dCPgsyV
2025-09-02 10:43:58 +00:00
sebastjanartic
725fb58385 Add preloader and disable service worker to prevent blank screen issues
Introduces a visual preloader to the client's index.html and disables the service worker in main.tsx. Additionally, server-side middleware in index.ts is added to set no-cache headers for HTML pages, aiming to resolve the reported blank screen problem.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/DyHCx4q
2025-09-02 09:07:36 +00:00
sebastjanartic
2a395fd12d Improve video synchronization reliability and error handling
Update server/videoSync.ts to include database connectivity checks, batch processing for videos, and error counting to enhance the robustness of the video synchronization service.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/heEm7CS
2025-09-01 17:50:12 +00:00
sebastjanartic
4297267681 Enhance video metadata for better social sharing and search engine visibility
Implement detailed Open Graph and Twitter Card meta tags, including video duration, release date, and site name. Update structured data for Google search results to include comprehensive video object information. Modify the thumbnail generation process to directly resize the original thumbnail to social media dimensions (1200x630) without applying a branding overlay.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/xVB32z7
2025-08-31 21:12:08 +00:00
sebastjanartic
c43057ec77 Use actual video thumbnails for social media sharing
Integrates node-fetch and sharp to download and overlay branding on actual video thumbnails from Bunny.net for social media sharing.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/xVB32z7
2025-08-31 21:06:44 +00:00
sebastjanartic
faed7a9b62 Update social media sharing with video details and improved thumbnails
Update server-side rendering to correctly inject Open Graph and Twitter card metadata, including dynamic video titles, descriptions, and optimized thumbnail URLs for social media sharing.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/xVB32z7
2025-08-31 21:02:16 +00:00
sebastjanartic
0425cb899a Add social media sharing previews for videos
Implement a server-side API to generate dynamic social media shareable image thumbnails for videos and update the client to utilize this new API for open graph and Twitter meta tags.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/mbX83Mu
2025-08-31 20:44:31 +00:00
sebastjanartic
87e07be40f Add support for iOS app icons and PWA favicons
Updates `client/index.html` and `client/public/manifest.json` to include proper iOS icon links and specifies PNG format for favicons. Enhances the `/api/favicon` endpoint to generate PNG favicons using `sharp` for various sizes and includes the "go4" text for larger icons. Also adds `@types/compression` to `package.json` and `package-lock.json`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ab9cd02a-d0b2-4288-9ceb-1964d0059648
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/ab9cd02a-d0b2-4288-9ceb-1964d0059648/mbX83Mu
2025-08-31 20:25:15 +00:00
sebastjanartic
4b478e6e40 Improve video ad delivery and error handling for streaming
Update route definitions in server/routes.ts to include TypeScript types for request and response objects, adjust ad fetching logic to prevent compression of video files, and modify error logging to include the correct video ID.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 344ec1e0-1186-4058-bbff-2e9619a7b1e0
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/344ec1e0-1186-4058-bbff-2e9619a7b1e0/FgaI1Sc
2025-08-30 22:50:17 +00:00
sebastjanartic
5f632f57fd Add favicon and manifest file for improved website branding
Implement an API endpoint for dynamic favicon generation using SVG and add a manifest.json file for progressive web app capabilities.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 051a65da-1176-4478-a61c-c662f2a15536
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/051a65da-1176-4478-a61c-c662f2a15536/9NQBiz8
2025-08-30 22:10:06 +00:00
sebastjanartic
5306fde0be Add custom images for sharing links on social media
Adds an API endpoint `/api/og-image` to generate dynamic Open Graph and Twitter Card images using SVG, and updates `index.html` to include these meta tags.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 051a65da-1176-4478-a61c-c662f2a15536
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/051a65da-1176-4478-a61c-c662f2a15536/9NQBiz8
2025-08-30 22:09:11 +00:00
sebastjanartic
971f3aadb0 Add ability to manually sync video updates from Bunny.net
Adds a POST endpoint `/api/bunny/sync` to trigger a manual synchronization of video data from Bunny.net, allowing for immediate updates to the video library.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 074b0e4c-6171-43bd-aa98-f9e04623ca14
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/074b0e4c-6171-43bd-aa98-f9e04623ca14/DVZN4Rp
2025-08-30 14:36:48 +00:00
sebastjanartic
7185633a94 Add HLS playback for video previews and improve scrolling experience
Integrate HLS.js for HLS video playback in video cards, enabling sound and smoother preview functionality. Updates server-side Bunny.net configuration to use signed HLS URLs for MP4 previews.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 074b0e4c-6171-43bd-aa98-f9e04623ca14
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/074b0e4c-6171-43bd-aa98-f9e04623ca14/iazasnP
2025-08-30 13:10:23 +00:00
sebastjanartic
60f33156b4 Add direct MP4 URL for video previews and face detection fields
Update BunnyService to include `videoUrlMp4` with a direct MP4 link and add new fields `faceCenterPosition`, `facesDetected`, and `faceConfidence` for face detection data.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 074b0e4c-6171-43bd-aa98-f9e04623ca14
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/074b0e4c-6171-43bd-aa98-f9e04623ca14/iazasnP
2025-08-30 13:07:55 +00:00
sebastjanartic
2355fc4da6 Restored to '7fd7127003398a269f1f765208c8baced728aafb'
Replit-Restored-To: 7fd7127003
2025-08-30 12:39:34 +00:00
sebastjanartic
7c0ce0ed27 Ensure video thumbnails are always up-to-date
Update thumbnail generation to include a cache-busting timestamp to resolve issues with stale thumbnails being displayed.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/QCN70f2
2025-08-29 16:13:33 +00:00
sebastjanartic
d321b4f384 Add face detection and thumbnail centering for videos
This commit introduces face detection capabilities to the video platform, enabling automatic identification of faces in video thumbnails. It integrates face-api.js and sharp for image analysis, allowing for face-centered thumbnail crops and dynamic object-positioning. New API endpoints are added to process thumbnails individually and in batches. The database schema is updated to store face detection data, and the storage layer is modified to support these updates and cache face data. The project's dependencies are also updated to include necessary libraries for these new features.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/xF0EUqR
2025-08-29 07:34:08 +00:00
sebastjanartic
d6273e70cf Improve how video descriptions are retrieved from Bunny.net
Update BunnyService to consistently check metaTags for video descriptions, ensuring that the 'description' property within metaTags is correctly extracted and utilized when available.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/lLmu7SJ
2025-08-29 01:00:56 +00:00
sebastjanartic
1c2ebde84a Improve video player controls by hiding them by default
Update BunnyService to hide video player controls by default in iframeUrl.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/MT2TT17
2025-08-28 21:28:34 +00:00
sebastjanartic
46c58b77f2 Improve video player controls to show on interaction
Update the iframe URL to hide video player controls by default, revealing them upon user interaction.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/4n9tA4p
2025-08-28 21:27:21 +00:00
sebastjanartic
ba56beb776 Update video player to remove center play button
Removes the `controls` and `centerPlayButton` parameters from the Bunny.net iframe URL in server/bunny.ts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/DEw6kTD
2025-08-28 21:26:00 +00:00
sebastjanartic
fb4b75962d Update video player to hide default controls and buttons
Modify `client/index.html` to remove custom iframe styles and update `server/bunny.ts` to include `controls=false&bigPlayButton=false&centerPlayButton=false` in the iframe URL.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/Q1A0ksm
2025-08-28 21:23:58 +00:00
sebastjanartic
b18e25e4c9 Improve video synchronization by adjusting fetching logic and adding delays
Adjust the video synchronization service to correctly determine if more pages of videos exist by checking the total fetched count against the total available videos and the number of videos returned per page. A small delay is introduced between paginated requests to prevent potential rate limiting issues from the video source.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/h92OTmA
2025-08-28 20:52:15 +00:00
sebastjanartic
bbe9afe48f Remove category extraction from Bunny.net video metadata
Modify `server/bunny.ts` to remove the logic for extracting video category from Bunny.net metadata, defaulting to an empty string.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
2025-08-28 19:02:52 +00:00
sebastjanartic
51d67a88ff Remove Bunny.net tags extraction from video metadata
Modify server/bunny.ts to remove logic for extracting tags from Bunny.net metaTags, as they are not present or relevant for the platform's tagging system.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
2025-08-28 19:01:13 +00:00
sebastjanartic
43390116b7 Add mobile menu and display video categories and tags
Integrates a mobile-friendly menu with search functionality and displays video categories and tags fetched from Bunny.net metadata, enhancing content discoverability and user experience on all devices.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2eb1084e-b728-4449-9231-f1665924c8d5/wsHCZ4W
2025-08-28 18:27:23 +00:00
sebastjanartic
8a8a94b8fd Ensure all videos are consistently stored in the database by fetching and synchronizing them
Implement a paginated fetching mechanism for all videos from an external service and synchronize them to the PostgreSQL database, handling both new insertions and updates for existing video records.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 2eb1084e-b728-4449-9231-f1665924c8d5
Replit-Commit-Checkpoint-Type: full_checkpoint
2025-08-28 17:55:46 +00:00
sebastjanartic
42883d8409 Restored to '44d6f571a5a2b8bce0fd4e8a9eae76204284885b'
Replit-Restored-To: 44d6f571a5
2025-08-28 17:43:16 +00:00
sebastjanartic
506bd52dc3 Revert to original Bunny.net player for video playback
Reverts client-side video player to use Bunny.net's iframe embed and updates server storage to reflect the original Bunny.net iframe URLs instead of HLS stream URLs.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/Biq0lDI
2025-08-28 17:39:36 +00:00
sebastjanartic
ece04e8891 Update video player to use Video.js and HLS streaming
Integrate Video.js for improved video playback and switch to HLS streaming from Bunny.net CDN. Update server storage to reflect new video URL format for HLS compatibility.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/M1DfQp9
2025-08-28 17:36:25 +00:00
sebastjanartic
e0f349703f Update video player to use Bunny.net embed for improved streaming
Integrates Bunny.net's iframe embed for video playback on the client-side and updates the video URL format in the database storage to reflect this change.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/k4pa29Y
2025-08-28 17:34:38 +00:00
sebastjanartic
45c141d1ae Update video playback to use HLS streaming URLs
Modify `DatabaseStorage` to map video rows to objects with HLS streaming URLs (`playlist.m3u8`) instead of direct Bunny.net iframe URLs in `server/storage.ts`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/qTAUKD2
2025-08-28 17:33:20 +00:00
sebastjanartic
146e5fd25c Update video playback to use direct iframe links
Replaced signed URLs with direct iframe URLs for video playback and updated the token generation method in the Bunny service.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/tr3vokF
2025-08-28 17:32:26 +00:00
sebastjanartic
3481a92615 Improve video view count display and optimize Bunny service integration
Update `formatViews` to handle undefined view counts and instantiate `BunnyService` in `bunny.ts`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/eEXLcyA
2025-08-28 17:30:37 +00:00
sebastjanartic
65a86b9f65 Add secure video playback links using CDN signed URLs
Update database storage to use Bunny.net CDN and generate signed URLs for video playback, ensuring secure and time-limited access.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/nodk9hG
2025-08-28 17:29:30 +00:00
sebastjanartic
6a20747a32 Improve video metadata synchronization with automatic database updates
Implement periodic synchronization for video metadata to ensure the database remains up-to-date with Bunny.net, including initial migration and recurring checks every 5 minutes.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/yjIG1wi
2025-08-28 17:27:43 +00:00
sebastjanartic
f77c0da28a Improve database video retrieval and update operations
Refactors video data handling to use raw SQL queries for improved performance and flexibility. Updates the `getVideos`, `getVideo`, and `updateVideoViews` methods to execute SQL directly, improving efficiency and error handling.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/KMT7BRC
2025-08-28 17:24:05 +00:00
sebastjanartic
f658b64b56 Migrate video metadata to PostgreSQL for improved data management
Introduces a new video migration service to transfer video metadata from Bunny.net to PostgreSQL. Updates storage logic to prioritize PostgreSQL, removes redundant fields from the video schema, and adds database migration functionality to the server startup.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/i1Fg8VZ
2025-08-28 17:23:05 +00:00
sebastjanartic
443d92804e Migrate all videos from Bunny.net to the database
Introduces a migration script to import all videos from Bunny.net into the PostgreSQL database, populating the `videos` table with relevant metadata and handling both new and existing video entries. Updates schema to include Bunny.net specific fields.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/t16ASiD
2025-08-28 17:18:48 +00:00
sebastjanartic
b03df1c422 Improve video loading speed and search responsiveness
Implement a background service to sync videos from Bunny.net every minute, optimize search debounce to 150ms, and cache videos for faster retrieval and instant search.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/F2OLMnq
2025-08-28 17:05:27 +00:00
sebastjanartic
5d36579584 Update video platform for improved language and content display
Translate user interface elements and fetch video descriptions from meta tags.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/3kCbR9A
2025-08-28 16:59:47 +00:00
sebastjanartic
0a7093cba1 Improve video description display for better user experience
Update VideoPage component to conditionally render video descriptions, showing a fallback message when no description is available.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/e6qh6Ss
2025-08-28 16:55:53 +00:00
sebastjanartic
6799bf0bbe Remove video ads functionality and improve video data fetching
Remove VideoAds component from VideoPage and update BunnyService to fetch and include video descriptions from Bunny.net API.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/QHtchYG
2025-08-28 16:49:45 +00:00
sebastjanartic
4e4fe369c1 Add support for displaying video advertisement metadata
Integrate Bunny.net API to fetch and display video ad spots, including type, duration, and priority, on the video page. Define new database schema for video ads and create API endpoints for retrieving ad information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/jsdCVZt
2025-08-28 16:47:09 +00:00
sebastjanartic
e40b738478 Improve platform speed and search responsiveness
Implement performance optimizations including HTTP compression, enhanced caching strategies, reduced search debounce time, and optimized thumbnail generation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/UCWygK2
2025-08-28 15:04:47 +00:00
sebastjanartic
337888fe47 Improve search performance by debouncing requests and filtering short queries
Adds a debounce function to the client-side search header to limit API calls and filters out search queries shorter than 2 characters on the server-side to improve performance.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/66oOTXh
2025-08-28 11:53:56 +00:00
sebastjanartic
886475de42 Improve video thumbnail loading and display with fallback options
Refactor thumbnail loading logic in VideoCard and VideoPage components to directly display a placeholder on error. Update BunnyService to prioritize custom thumbnail filenames from Bunny.net.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/eJ5eRgX
2025-08-28 11:49:18 +00:00
sebastjanartic
67be8e7cc7 Improve thumbnail loading reliability across the platform
Update video cards and video page to use a backup thumbnail URL from Bunny.net when the primary URL fails, enhancing robustness for video content display.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/d3pjSXi
2025-08-28 11:46:56 +00:00
sebastjanartic
07c389ffd8 Remove unnecessary tags and categories from video metadata
Remove the `category` field from Bunny.net video metadata and delete console logs in the VideoPage component.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/KMtNiYn
2025-08-28 11:45:34 +00:00
sebastjanartic
2c508bf4bc Disable preroll and postroll ads in video embeds
Modify Bunny.net embed URLs to explicitly disable preroll and postroll ads by appending '?preroll=false&postroll=false&ads=false' to the iframe URL in server/bunny.ts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/vzQNQIB
2025-08-28 11:37:04 +00:00
sebastjanartic
c69b1fef31 Add ads.txt file for advertising partner information
Adds a new route to serve the ads.txt file from the public directory, allowing advertising partners to access necessary information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/JzV8bfS
2025-08-28 11:19:36 +00:00
sebastjanartic
c2a3ce12eb Remove ad monetization indicator and explanation from the platform
Remove the `AdExplanation` component and the ad monetization indicator from `VideoCard`. Update the `/api/bunny/stats` and video fetching endpoints to use new `storage.getVideos` and `storage.getVideoCount` methods, returning pagination information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/JzV8bfS
2025-08-28 10:04:50 +00:00
sebastjanartic
8b694e8a3a Add explanation for ad indicators and improve video loading
Introduce a new modal to explain the meaning of ad indicators and enhance video loading performance by implementing lazy loading and async decoding.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/BWSPHB9
2025-08-28 10:03:01 +00:00
sebastjanartic
756a77ca57 Display video counts and total views from Bunny CDN in admin
Update client-side query to fetch Bunny.net stats and video data, and adjust server-side logic in routes.ts to correctly aggregate total video views and counts from storage.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/aPgXP9Q
2025-08-08 21:12:18 +00:00
sebastjanartic
78b5327e59 Add administration interface for managing videos and viewing platform statistics
Implements a new /bunny-admin route with a dedicated page for video management and statistics, integrates a BunnyVideoModal for video playback and sharing, and adds backend API endpoints for Bunny.net statistics and video deletion.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/plFksdF
2025-08-08 21:10:03 +00:00
sebastjanartic
27358b647a Enhance video storage with additional metadata and robust error handling
Update DatabaseStorage to cast query results and use nullish coalescing for rowCount. Add new fields to MemStorage for video details (views, uploadStatus, file details), user profiles (name, image), upload progress, and category attributes.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/Pb94kjC
2025-08-08 21:05:30 +00:00
sebastjanartic
640bcd82cf Integrate Bunny.net for storing user-uploaded videos
Update server/storage.ts to prioritize Bunny.net storage if configured, falling back to database or memory storage.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/ESknBgQ
2025-08-08 18:31:28 +00:00
sebastjanartic
257e16e8d2 Add user authentication and video upload capabilities
Implement user registration, login, and logout endpoints with session management. Integrate Multer for video file uploads and extend the schema for user, video upload, category, and tag management.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/WCZ9oGO
2025-08-08 18:28:28 +00:00
sebastjanartic
56a8c264dd Add backend setup for video management and database integration
Adds database connection and schema setup in `server/db.ts`, installs `openid-client` and `@types/memoizee` for new backend functionalities, and updates Replit integration settings.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/nN8xkSA
2025-08-08 18:20:57 +00:00
sebastjanartic
293b3a555e Improve video fetching and counting for better platform performance
Update server-side logic to optimize video retrieval from Bunny.net CDN by adjusting batch fetching and simplifying pagination and count mechanisms for improved efficiency.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/HJnSzeY
2025-08-07 12:45:03 +00:00
sebastjanartic
f6e7dcc114 Add an administration panel to manage videos and view platform statistics
Introduce an admin route and page for managing video content, including editing and deletion capabilities, and display key metrics like total videos and views.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/6qQLPaW
2025-08-07 10:21:51 +00:00
sebastjanartic
9d55c83811 Enhance video thumbnail management and editing capabilities
Update video editing to allow local thumbnail previews and updates, refine toast messages for clarity, and adjust backend logic for metadata handling in the absence of direct Bunny.net API updates for metadata.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 11420304-80a9-4ef2-adff-cbdaa418ffa8
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/11420304-80a9-4ef2-adff-cbdaa418ffa8/IvGfZOn
2025-08-07 08:47:25 +00:00
sebastjanartic
84c41fe289 Enable users to edit video titles, descriptions, and thumbnails
Introduce functionality to edit video metadata including title, description, category, tags, and public status, along with a new modal for editing and a backend endpoint for updating video information.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 11420304-80a9-4ef2-adff-cbdaa418ffa8
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/11420304-80a9-4ef2-adff-cbdaa418ffa8/vOcB2tQ
2025-08-07 08:26:08 +00:00
sebastjanartic
76f430775e Restored to 'da5c38c23546b6ac8177dac9774fb40023d30283'
Replit-Restored-To: da5c38c235
2025-08-04 20:37:56 +00:00
sebastjanartic
7a4f390fb5 Enable users to create custom video playlists and save favorite videos
Adds database schemas and Drizzle ORM setup for user playlists and favorites features.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/Xt4Awd6
2025-08-04 20:37:50 +00:00
sebastjanartic
1d2c533a6d Use a standard video player with signed URLs to play videos on the platform
Refactor video playback to use <video> tag with HLS.js and signed URLs for secure Bunny.net streaming.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/bwzbqEX
2025-08-04 20:30:36 +00:00
sebastjanartic
ecb86b1873 Improve video playback and address video player issues reported by users
Updates video player to prioritize HLS streaming and adds iframe and MP4 fallbacks.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/VbkE0SA
2025-08-04 20:28:42 +00:00
sebastjanartic
b9e62484b5 Serve thumbnails directly from the CDN for better performance and reliability
Removes thumbnail proxy and updates `BunnyService` to use CDN URL for thumbnails.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/rF0yTnz
2025-08-04 20:21:24 +00:00
sebastjanartic
0458b42937 Display video previews correctly for videos with restricted access
Implements a thumbnail proxy to fetch private BunnyCDN video thumbnails.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/PiJtjmP
2025-08-04 20:20:29 +00:00
sebastjanartic
645fa51028 Remove categories and sorting options from the video search filters
Removes category/sort selection from UI and `/api/videos`, updates `getVideos`/`getVideoCount` in `storage.ts`, and removes `/api/categories` route.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/Cz5fe6k
2025-08-04 20:18:18 +00:00