Commit Graph
169 Commits
Author SHA1 Message Date
Yusuf İpek d1b2d23509 fix(settings): update workspace creation display logic to show reason only when creation is not allowed 2026-04-11 13:02:30 +03:00
Yusuf İpek e18d5219f5 feat(billing): add trial eligibility logic and update billing overview 2026-04-11 12:53:02 +03:00
Yusuf İpek faa902a604 feat(auth): implement email verification process with resend functionality and update registration flow 2026-04-11 00:17:09 +03:00
Yusuf İpek 5bff32fef1 fix: update descriptions for real-time webhooks and storage exceedance FAQ 2026-04-10 23:04:07 +03:00
Yusuf İpek f622752233 feat(auth): enhance registration page with OAuth support for Google and GitHub 2026-04-10 22:50:02 +03:00
Yusuf İpek c457971ff5 chore: update dependencies to latest versions
- upgraded @aws-sdk/client-s3 from ^3.985.0 to ^3.1029.0
- upgraded next from 16.1.6 to 16.2.3
- upgraded nodemailer from ^8.0.1 to ^8.0.5
2026-04-10 22:41:05 +03:00
Yusuf İpek 20897ab418 feat(privacy, refund, terms): add Privacy Policy, Refund Policy, and Terms of Service pages with navigation links 2026-04-10 22:33:23 +03:00
Yusuf İpek 4ba7521a38 feat(auth): implement OAuth login with Google and GitHub, add Prisma adapter for user management 2026-04-10 22:23:13 +03:00
Yusuf İpek 5beaa26fb4 feat(comments): enhance comment deletion permissions to allow project owners and admins to delete any comment 2026-04-10 21:56:02 +03:00
Yusuf İpek 11abb5dbcb fix(notifications): improve error handling for Telegram test by logging detailed error message 2026-04-10 21:53:56 +03:00
Yusuf İpek 05a303cd35 feat(projects): add validation for name and description in PATCH request to ensure they are non-empty strings within specified length limits 2026-04-10 21:52:46 +03:00
Yusuf İpek db1c594fae feat(progress): add validation for progress and duration to ensure they are non-negative finite numbers within a reasonable range 2026-04-10 21:51:18 +03:00
Yusuf İpek c6f06627f2 feat(progress): add validation for duration to ensure it is a non-negative finite number 2026-04-10 21:50:13 +03:00
Yusuf İpek 79d8b742e3 feat(videos): add validation for position to ensure it is a non-negative integer 2026-04-10 21:49:15 +03:00
Yusuf İpek df10f45e9e feat(onboarding): implement rate limiting for onboarding completion 2026-04-10 21:48:25 +03:00
Yusuf İpek e72f5e8948 feat(projects): add validation for project visibility in PATCH request 2026-04-10 21:47:26 +03:00
Yusuf İpek 9b561b78b4 refactor(request-origin): remove unused origin retrieval functions to enhance security 2026-04-10 21:45:40 +03:00
Yusuf İpek 72bdc05422 feat(comments): add validation for guest email length and format in POST request 2026-04-10 21:43:16 +03:00
Yusuf İpek 1be0e6d6fa feat(tags): add validation to ensure tags belong to the project to prevent IDOR 2026-04-10 21:40:48 +03:00
Yusuf İpek eca3f92e71 feat(env): add trusted proxy mode configuration for rate limiting 2026-04-10 21:39:30 +03:00
Yusuf İpek 288c5d2624 feat(stripe-billing): add Stripe stats retrieval and display in admin dashboard 2026-04-10 21:35:22 +03:00
Yusuf İpek 3d0e430230 feat(access-control): implement project access control for audio and image uploads 2026-04-10 21:27:52 +03:00
Yusuf İpek c92181b90f feat(rate-limit): enforce rate limit configuration in production environment 2026-04-10 21:13:43 +03:00
Yusuf İpek d07b40a937 feat(rate-limit): add rate limit configuration for comment export 2026-04-10 21:12:56 +03:00
Yusuf İpek 84ea384ee7 refactor(invitation): simplify buildInvitationUrl by removing email parameter 2026-04-10 21:11:56 +03:00
Yusuf İpek 8014fc3986 Refactor error logging across the application to use a centralized logger
- Introduced a new logger utility (`logError`) to standardize error logging.
- Replaced all instances of `console.error` with `logError` in various API routes and libraries.
- Enhanced error logging to sanitize sensitive information, particularly for Prisma and Stripe errors.
- Ensured consistent error handling and logging practices throughout the codebase.
2026-04-10 21:10:09 +03:00
Yusuf İpek 07f7b6fb02 feat(security): enhance Content Security Policy and add global security headers 2026-04-10 20:56:33 +03:00
Yusuf İpek 439e74d037 feat(validation): implement validateAnnotationStrokes function for safe annotation data handling
feat(rate-limit): add TRUSTED_PROXY_MODE for configurable proxy header trust
feat(comments): validate annotation data structure in comment routes and components
2026-04-10 20:38:22 +03:00
Yusuf İpek 03bfd565e8 feat(auth): enforce length limits for name and password during registration
feat(comments): add content length validation for comments and annotations

feat(guest-gate): restrict guest name length and update localStorage handling

feat(share-link-unlock): set maxLength for password input field
2026-04-10 20:28:55 +03:00
Yusuf İpek d1ffc4c4db feat(annotation-canvas): optimize canvas resizing by using refs for strokes and currentStroke 2026-04-09 17:23:27 +03:00
Yusuf İpek ea05f9c929 feat(cache): implement max entries limit for Bunny download source cache 2026-04-09 17:18:34 +03:00
Yusuf İpek 26cf58a28c feat(auth): enhance project access handling with pre-fetched data and new utility functions 2026-04-09 17:17:39 +03:00
Yusuf İpek 173261149f feat(comments): implement pagination for comments retrieval with limit and offset 2026-04-09 16:35:02 +03:00
Yusuf İpek 11dfa4938f feat(docker): update postgres configuration for improved performance 2026-04-09 16:34:29 +03:00
Yusuf İpek e97d60cf36 feat(docker): add Docker support with configuration files and entrypoint scripts 2026-04-09 15:54:03 +03:00
Yusuf İpek b1b1715578 Refactor registration and dashboard features to support invite codes and Bunny uploads
- Moved registration logic to a new client component for better separation of concerns.
- Integrated invite code requirement based on feature flags in the registration process.
- Enhanced dashboard functionality to conditionally enable Bunny uploads based on feature flags.
- Updated various components and API routes to check for Bunny uploads and Stripe billing feature flags.
- Added new feature flag utilities for managing feature toggles in the application.
2026-04-08 18:46:12 +03:00
Yusuf İpek 6f22b0bf8b feat(billing): integrate Stripe for subscription management and billing access
- Added billing-related fields to the User model in the database.
- Implemented functions for managing billing access, including trial periods and subscription statuses.
- Created new billing utility functions for Stripe integration.
- Updated onboarding page to include billing overview and workspace creation eligibility.
- Enhanced route access checks to require billing access for certain actions.
- Implemented cleanup scripts for expired billing workspaces and associated media.
- Updated header component to conditionally show app navigation based on billing access.
- Added new migrations for billing-related database changes.
2026-04-08 17:50:40 +03:00
Yusuf İpek 8db7a031e6 fix(footer): update copyright year and company name in footer 2026-03-20 22:33:35 +03:00
Yusuf İpek f5f96e6f9f feat(rate-limit): add environment variable to disable rate limiting for local testing 2026-03-20 22:32:26 +03:00
Yusuf İpek 14b2809aed feat(comments-pane): refactor comments display logic for improved asset and comment pane management 2026-03-08 18:50:09 +03:00
Yusuf İpek 4746085fc3 feat(audio-upload): implement audio file size validation and error handling 2026-03-08 18:46:53 +03:00
Yusuf İpek 8a4553d351 feat(video-upload): enhance video file handling with drag-and-drop support and validation 2026-03-06 09:04:40 +03:00
Yusuf İpek 185293a45d fix(search-modal): update project item href to use new URL structure 2026-03-01 19:28:07 +03:00
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