Commit Graph
276 Commits
Author SHA1 Message Date
Yusuf İpek 490e800e69 feat(search): implement search API with rate limiting and results fetching 2026-03-01 19:18:32 +03:00
Yusuf İpek 75535e8cda feat(comments): add drag-and-drop support for image attachments and enhance image validation 2026-03-01 18:53:54 +03:00
Yusuf İpek 147e5520a3 feat(notifications): update Telegram bot support and update settings management 2026-03-01 17:28:25 +03:00
Yusuf İpek f011ce4f05 Merge pull request #2 from yusufipk/worktree-compare-optimization
perf(compare): optimize timeline with RAF loop and direct DOM mutation
2026-02-28 16:02:31 +03:00
Yusuf İpekandClaude Sonnet 4.6 9a86ad02a1 perf(compare): optimize timeline rendering with RAF loop and direct DOM mutation
Replace per-frame React state updates with ref-based tracking and direct DOM
mutation for the progress bar, playhead, and timecode. React state is now
throttled to ~4 commits/sec (~250ms), eliminating unnecessary re-renders on
every animation frame during playback.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-02-28 16:00:58 +03:00
Yusuf İpek dc40847371 feat(notifications): enhance notification preferences with new version and approval event options 2026-02-28 11:10:41 +03:00
Yusuf İpek 975ff603e1 feat: add audio asset support with recording and upload functionality
- Implemented audio asset handling in the API, including download and deletion routes.
- Added audio content type mappings and extraction functions for audio file names and keys.
- Enhanced the asset management UI to support audio uploads, including recording capabilities.
- Updated the database schema to accommodate audio assets with new enum values.
- Integrated audio playback features in the asset list and comment sections.
- Improved user experience with drag-and-drop support for audio files.
2026-02-28 11:01:10 +03:00
Yusuf İpek 9dde7dce44 Merge pull request #1 from yusufipk/worktree-onboarding
feat: onboarding wizard flow
2026-02-28 10:39:22 +03:00
Yusuf İpekandClaude Sonnet 4.6 31fda8a28c feat(onboarding): add onboarding wizard flow
- Add `onboardingCompletedAt` field to User model + migration
- Add AUDIO/R2_AUDIO enum values to schema
- Gate dashboard behind onboarding check; redirect to /onboarding if not completed
- Add /onboarding page + layout with 5-step wizard (welcome, workspace, project, video info, notifications)
- Add POST /api/onboarding/complete endpoint to mark onboarding done

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-02-28 10:35:01 +03:00
Yusuf İpekandClaude Sonnet 4.6 d4f4220520 fix(onboarding): handle completion API failure instead of silently redirecting
Check res.ok and catch network errors in completeOnboarding; surface a
toast and bail early rather than pushing to /dashboard on failure,
preventing a redirect loop back to /onboarding.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-02-28 10:31:57 +03:00
Yusuf İpek 3aedc46351 feat: Redesign the landing page's "How It Works" section with a new grid layout, updated icons, and improved styling, while removing a redundant GSAP reveal animation. 2026-02-26 17:33:15 +03:00
Yusuf İpek 53f7c326df feat: add sharp dependency to enhance image processing capabilities 2026-02-26 15:34:40 +03:00
Yusuf İpek bbf44fd0aa feat: Introduce pauseAfterSeek option to the video player, refresh landing page content and animations, and update the dashboard image. 2026-02-26 15:19:11 +03:00
Yusuf İpek 8d59095e72 feat(video-assets): implement ETag handling and polling for asset updates 2026-02-26 12:51:58 +03:00
Yusuf İpek 60add2a1c4 feat(comments): implement asset handling for attached images in comment creation 2026-02-26 12:45:23 +03:00
Yusuf İpek 4ea6099508 feat(bunny-cdn): refactor CDN hostname resolution and update asset URLs for improved flexibility 2026-02-26 11:53:03 +03:00
Yusuf İpek 3522c3da30 feat(video-page): enhance Bunny asset handling and playback features
- Added support for tracking Bunny asset readiness and processing states.
- Implemented thumbnail loading error handling and retry logic for Bunny assets.
- Introduced a "Ready to play" indicator for Bunny assets.
- Enhanced Bunny preview player with playback speed and quality selection options.
- Improved state management for video playback, including resuming playback after source switches.
- Updated package.json to streamline database setup commands.
2026-02-26 11:48:21 +03:00
Yusuf İpek bb43a07234 refactor(db): move rate-limit extras into Prisma migration and remove db-extras script 2026-02-26 10:40:36 +03:00
Yusuf İpek 6dd44953a3 feat(video-upload): add global drag-and-drop uploader with project selection and permission gating 2026-02-26 10:31:51 +03:00
Yusuf İpek 15fa9452a4 feat(video-player): add Bunny original-source fallback and quality option, plus approval/download UI tweaks 2026-02-26 10:02:11 +03:00
Yusuf İpek 7f87d717d2 Improve asset mention UX with empty-state dropdown and icon-only chips 2026-02-25 19:09:37 +03:00
Yusuf İpek 76d37d02e5 feat: make media cleanup best-effort with warning summaries and enforce video/workspace management access 2026-02-25 18:59:02 +03:00
Yusuf İpek 9ce033d306 feat(video-assets): add full video asset system (uploads, downloads, @mentions, and cleanup/billing integration) 2026-02-25 18:34:03 +03:00
Yusuf İpek 6eea327083 refactor(dashboard): centralize access guards and split interactive pages into client components 2026-02-25 16:42:47 +03:00
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