Yusuf İpek
a2b07b3e19
feat: add approvals workflow and unified member invitation management across projects, workspaces, and videos
2026-02-25 16:24:45 +03:00
Yusuf İpek
0ae1becc1b
refactor(video-page): split video page into modular components, hooks, and shared types
2026-02-25 15:01:37 +03:00
Yusuf İpek
86a995aed4
update landing page pricing section with revised cloud plan copy and new studio/agency tier
2026-02-24 20:16:20 +03:00
Yusuf İpek
a096a5ea02
Remove pinned timestamp control from video page comment composer
2026-02-24 18:30:50 +03:00
Yusuf İpek
068bc6f788
fix(player): stop YouTube iframe re-init loop
2026-02-24 18:23:20 +03:00
Yusuf İpek
191b352520
remove unused admin users and stats API routes
2026-02-24 18:13:14 +03:00
Yusuf İpek
59b766d071
chore(infra): gate DB pool debug logs and de-duplicate rate-limit cleanup timer
2026-02-24 18:10:36 +03:00
Yusuf İpek
644b239ab3
feat: add pagination and strict query validation for workspace/project listings
2026-02-24 18:07:04 +03:00
Yusuf İpek
9f32aeafe6
optimize watch progress persistence with debounced client saves and tiny-delta server skip
2026-02-24 17:51:40 +03:00
Yusuf İpek
71233f8fe8
feat(video-card): show deleting overlay and disable interactions during delete
2026-02-24 17:46:05 +03:00
Yusuf İpek
7f07a271a4
Improve media cleanup performance with bounded concurrency and aggregated failure reporting
2026-02-24 17:44:23 +03:00
Yusuf İpek
6e14d4d19f
feat(admin): add manual R2 stats refresh endpoint/button and share in-memory storage snapshot cache
2026-02-24 17:35:42 +03:00
Yusuf İpek
6a6b48f6a9
optimize admin users table sorting and pagination by pushing supported sorts to Prisma
2026-02-24 17:23:44 +03:00
Yusuf İpek
68c63ce020
fix(watch-progress): validate versionId and enforce video access/version ownership before saving progress
2026-02-24 17:20:45 +03:00
Yusuf İpek
354bc38d42
refactor(auth): centralize project/workspace authorization with checkProjectAccess across API routes
2026-02-24 17:18:04 +03:00
Yusuf İpek
fa51847aa4
feat(storage): add shared R2 media proxy and orphan cleanup tooling for R2/Bunny
2026-02-24 17:02:54 +03:00
Yusuf İpek
ffa55d7dcc
feat(video): lazy-load version comments and add ETag-based comment caching
2026-02-24 16:34:16 +03:00
Yusuf İpek
a9041ebca5
docs(agents): rewrite AGENTS.md into a minimal high-signal workflow checklist
2026-02-24 16:09:23 +03:00
Yusuf İpek
afa1529873
feat(feedback): add user feedback/review system with admin management and hardened image upload validation
2026-02-24 16:05:11 +03:00
Yusuf İpek
4083651025
Restrict guest CSV comment export in UI and fix lint/typecheck cleanup in comment APIs
2026-02-24 15:03:42 +03:00
Yusuf İpek
449433a08a
fix: centralize trusted same-origin validation for watch session and upload token routes
2026-02-23 18:31:09 +03:00
Yusuf İpek
1708c5c99c
fix(video-player): preserve playback state when seeking to timestamps
2026-02-23 18:25:25 +03:00
Yusuf İpek
dd884a325c
Add admin-only comment resolution controls
2026-02-23 18:21:10 +03:00
Yusuf İpek
fe7235052e
Add guest upload tokens and share-session aware permissions
2026-02-23 18:17:22 +03:00
Yusuf İpek
9058317247
feat(share): add video-level secure share links with password unlock and session-based watch/comment access
2026-02-23 17:11:32 +03:00
Yusuf İpek
d15e5192ac
chore: clean up lint/type issues and tighten comment media URL validation
2026-02-23 16:06:43 +03:00
Yusuf İpek
609b33bbcb
feat(admin): track and display per-user download egress for Bunny version downloads
2026-02-22 20:19:55 +03:00
Yusuf İpek
bbae612a70
feat(admin): add sortable paginated users table with invited-members metric and async searchParams fix
2026-02-22 20:04:41 +03:00
Yusuf İpek
55a2c16a7f
fix(landing): replace pricing CTA with user-appropriate action text
...
- change hosted plan CTA from 'Deploy on Cloud' to contextual copy
- show 'Start Now' for new users and 'Go to Dashboard' for logged-in users
2026-02-22 17:20:08 +03:00
Yusuf İpek
ab0dc82e2a
Create LICENCE file with FSL-1.1-ALv2 terms
...
Added Functional Source License, Version 1.1.
2026-02-22 17:15:03 +03:00
Yusuf İpek
323093029e
feat(seo): upgrade site metadata, schema, and crawl files for OpenFrame rebrand
...
- update title/description to Open Source Video Review Platform
- add centralized SEO config with canonical URL + meta image (/meta.webp)
- add Open Graph and Twitter card metadata
- add JSON-LD Organization/WebSite structured data
- add robots.txt, sitemap.xml, and web app manifest routes
- version icon metadata to help search engines refresh branding
2026-02-22 16:53:01 +03:00
Yusuf İpek
b0e6f9514a
change the deep-dive-dashboard image.
2026-02-22 16:37:43 +03:00
Yusuf İpek
0288fe08d3
feat(video-download): add Bunny original/compressed download options with secure file handling and tighter rate limits
2026-02-22 16:33:52 +03:00
Yusuf İpek
f224b0a8a1
feat(landing): redesign homepage with GSAP-driven landing page and new showcase assets
2026-02-22 15:53:53 +03:00
Yusuf İpek
2115d986af
feat(video): add secure download flow with Bunny API proxy, quality validation, rate limiting, and direct URL host allowlist
2026-02-22 14:19:09 +03:00
Yusuf İpek
72d14f4a5d
feat(comments): add secure CSV/PDF export for version comments with auth, rate limits, and CSV injection hardening
2026-02-22 13:56:02 +03:00
Yusuf İpek
47f12b38fa
chore: remove unused dependencies and delete unused combobox demo components
2026-02-22 13:42:52 +03:00
Yusuf İpek
e30b4a5b19
feat: harden Bunny upload flow, migrate Bunny playback to hls.js, and add Bunny storage admin stats
2026-02-22 13:03:45 +03:00
Yusuf İpek
10164069dd
feat: Add URL safety check to prevent rendering iframes with non-HTTP/HTTPS protocols.
2026-02-22 09:56:18 +03:00
Yusuf İpek
0f24bcfe6c
feat: Implement direct video file uploads via Bunny.net and TUS protocol, adding a new API route and UI for file selection.
2026-02-22 09:55:08 +03:00
Yusuf İpek
5547346082
feat: Implement multi-panel video comparison with shared playback controls, timeline comments, and YouTube API integration.
2026-02-22 07:56:27 +03:00
Yusuf İpek
87d6c0ab0a
feat: Add a close button to the annotation toolbar and ensure annotation mode is correctly reset upon removal.
2026-02-22 06:30:10 +03:00
Yusuf İpek
fc047841cf
feat: Enhance annotation canvas toolbar responsiveness, group controls
2026-02-21 20:27:19 +03:00
Yusuf İpek
d731c9434a
feat: Add drawing annotation functionality to comments, including a new canvas component and API integration for creation, retrieval, and updates.
2026-02-21 20:23:15 +03:00
Yusuf İpek
4cb4089caa
feat: enhance responsive layout of video page by adjusting visibility of the sidebar, video title, and new version button on various screen sizes.
2026-02-21 19:29:43 +03:00
Yusuf İpek
e32196c430
fix: address security vulnerabilities and add image attachments
...
- Fix type confusion vulnerability in comment content updates
- Validate pagination offsets to prevent negative values
- Validate timestamp is a valid number before parsing
- Exclude guestEmail from comment API responses for privacy
- Fix TypeScript error in audio upload route
- Add image attachment support for comments with upload API
- Update admin dashboard to track image attachments
- Rename cleanup functions to handle both voice and image media
2026-02-21 16:40:58 +03:00
Yusuf İpek
cd9b89c971
feat: Introduce Linkify component to automatically convert URLs in comment and reply content into clickable links.
2026-02-21 10:50:45 +03:00
Yusuf İpek
5065fca38d
feat: replace hero video placeholder with an autoplaying demo video and refine hover effects.
2026-02-20 16:29:24 +03:00
Yusuf İpek
7fd2f7e289
feat: Redesign the landing page with an enhanced sticky header, a new hero section featuring gradient text and a badge, and integrate additional Lucide icons for future features.
2026-02-20 16:25:45 +03:00
Yusuf İpek
fcdb300b73
feat: replace favicon.ico with a scalable icon.svg
2026-02-20 15:51:44 +03:00