Commit graph

  • 975c489693 fix: regenerate descriptive transcript on VTT edit + handle empty string VTT fields main Michael Clervi 2026-05-01 10:40:48 +00:00
  • e7917cde10 fix: use 'is None' check for Motor collection to avoid NotImplementedError Vadym Samoilenko 2026-04-29 15:23:44 +01:00
  • dee4d69b40 fix: raise user list size limit to 500 and guard toLocaleString calls Vadym Samoilenko 2026-04-29 15:20:38 +01:00
  • e48d63bdbd fix: generate valid ObjectId for audit log entries Vadym Samoilenko 2026-04-29 15:06:15 +01:00
  • 0d46c1440c fix: remove unused TypeScript imports and variables Vadym Samoilenko 2026-04-29 14:43:36 +01:00
  • 85e1e852ed fix: add --no-root to poetry install in Dockerfiles (Poetry 2.x) Vadym Samoilenko 2026-04-29 14:35:28 +01:00
  • 5cd2fb2743 fix: regenerate poetry.lock + align whisper Dockerfile poetry version Vadym Samoilenko 2026-04-29 14:32:41 +01:00
  • a3b300b76a docs: add canonical documentation + audit cleanup Vadym Samoilenko 2026-04-29 14:22:51 +01:00
  • fd154e7799 fix: upgrade poetry in Dockerfile from 1.8.2 to 2.1.4 Vadym Samoilenko 2026-04-29 14:21:42 +01:00
  • 743a8597c2 fix: auto-sync poetry.lock during Docker build Vadym Samoilenko 2026-04-29 14:21:01 +01:00
  • 4c6624c3d4 fix: code health sweep — M-01 through M-07 Vadym Samoilenko 2026-04-29 14:18:02 +01:00
  • 86ef5a86fb refactor: extract broadcast_status_update to shared _websocket_bridge (H-08) Vadym Samoilenko 2026-04-29 14:14:57 +01:00
  • 87ae6571fe perf: use DI connection pool for auth routes, async httpx for MS SSO (H-01, H-02) Vadym Samoilenko 2026-04-29 14:13:50 +01:00
  • c6b19d01f2 security: remove default admin password fallback (C-04) Vadym Samoilenko 2026-04-29 14:12:24 +01:00
  • e81acebc45 security: remove exception detail from /auth/refresh response (C-03) Vadym Samoilenko 2026-04-29 14:11:59 +01:00
  • 70f6c6befb security: reject refresh tokens used as access tokens (C-02) Vadym Samoilenko 2026-04-29 14:11:50 +01:00
  • 93cb7527ab security: enforce rate limit on /auth/login (C-01) Vadym Samoilenko 2026-04-29 14:11:36 +01:00
  • 103b409f78 fix: handle role as str or Enum in audit_logger Vadym Samoilenko 2026-04-29 14:09:46 +01:00
  • fa351e4d25 feat: per-client glossary — hybrid exact/vector retrieval + AI injection Vadym Samoilenko 2026-04-29 13:03:38 +01:00
  • 05f25a1141 feat: per-language QC workflow with linguist assignment Vadym Samoilenko 2026-04-29 12:09:40 +01:00
  • bab30e1508 feat: VTT version control — snapshots, diff, restore Vadym Samoilenko 2026-04-29 11:46:21 +01:00
  • 02c4240e6d fix: remove cost.oliver.agency links from QCDetail and FinalDetail Vadym Samoilenko 2026-04-29 11:36:03 +01:00
  • 848f7697f3 fix: revert cost tracker URL in QCDetail/FinalDetail inline links Vadym Samoilenko 2026-04-29 11:35:36 +01:00
  • 09550cfca0 feat: audit log integration sweep + cost tracker URL fix + audit log admin UI Vadym Samoilenko 2026-04-29 11:34:06 +01:00
  • 0f15d192cb feat(saas): Phase 4 — org settings IA, sidebar org-switcher, invitation UI Vadym Samoilenko 2026-04-27 17:02:11 +01:00
  • 1563714454 feat(saas): Phase 3 — membership-based authz + Mailgun + job.organization_id Vadym Samoilenko 2026-04-27 16:56:42 +01:00
  • 00fb1aacc6 feat(saas): Phase 2 — invitation flow, email templates, MS SSO zero-membership Vadym Samoilenko 2026-04-27 16:52:08 +01:00
  • 6f1be645ce feat(saas): Phase 0+1 — Organization/Membership entities and dev branch Vadym Samoilenko 2026-04-27 16:46:24 +01:00
  • 269ab09fa6 fix: serialize Client/Team/Project with id not _id + guard undefined client hooks Vadym Samoilenko 2026-04-27 16:18:28 +01:00
  • 723bbbc695 fix: add project_manager migration + add migration step to full-deploy.sh Vadym Samoilenko 2026-04-27 16:05:17 +01:00
  • bbd324e3c7 feat: add Project Manager role + client/team assignment panel in admin user editor Vadym Samoilenko 2026-04-27 15:58:55 +01:00
  • 9af1ac3e95 fix: correct useAuthStore import path in ClientDetail Vadym Samoilenko 2026-04-27 15:45:24 +01:00
  • acdbb34b9b fix: cost_tracker uses /usage/record endpoint + correct allow/deny_reason fields; suppress edit-state 404 retries Vadym Samoilenko 2026-04-27 15:11:39 +01:00
  • 2b721d182b feat: Client → Team → Project isolation system with Project Manager role Vadym Samoilenko 2026-04-27 15:07:50 +01:00
  • f7d4624fc7 fix: correct cost tracker API field names and endpoint path Michael Clervi 2026-04-27 13:42:29 +00:00
  • 1aa078db94 fix: suppress downloads API call for non-completed jobs on Downloads page Vadym Samoilenko 2026-04-27 14:07:34 +01:00
  • ea21cace96 feat: replace SDK with direct HTTP integration to centralized cost tracker Vadym Samoilenko 2026-04-27 13:36:15 +01:00
  • 26bfedd7c7 feat: add cost_tracker_project_id assignment UI to QC and Final Review Vadym Samoilenko 2026-04-27 11:40:13 +01:00
  • ae2c474061 feat: integrate oliver-cost-tracker SDK into video-accessibility Vadym Samoilenko 2026-04-27 11:30:46 +01:00
  • b5e5ad7e42 fix: deploy.sh pull_code now works with monorepo structure Vadym Samoilenko 2026-04-16 11:50:20 +01:00
  • cf761c4bb6 feat: add linguist role and user management navigation Vadym Samoilenko 2026-04-16 11:46:33 +01:00
  • c735ba4bb5 fix: add ElevenLabs API key to production env Vadym Samoilenko 2026-03-27 14:28:09 +00:00
  • 8356dbdbfe fix: add charset=utf-8 to VTT content-type to prevent ♪ encoding issues Vadym Samoilenko 2026-03-27 14:17:16 +00:00
  • 084c37d1a7 fix: add SDH captions and descriptive transcript to QC Download Assets panel Vadym Samoilenko 2026-03-27 13:51:34 +00:00
  • 83919c19b5 fix: add SDH captions to downloads page Vadym Samoilenko 2026-03-27 13:47:35 +00:00
  • 05a2fe5101 fix: timeline disappears after QC re-render Vadym Samoilenko 2026-03-27 12:31:06 +00:00
  • 6f963ff7c4 feat: DCMP compliance, descriptive transcript, new languages, QA bug fixes Vadym Samoilenko 2026-03-27 11:50:43 +00:00
  • f4ddcce066 fix: resolve QA-reported bugs — MP3/VTT desync, crashes, notifications, and more Vadym Samoilenko 2026-03-24 13:23:55 +00:00
  • 2245a12829 fix: case-insensitive Microsoft user lookup to prevent duplicate key error Vadym Samoilenko 2026-03-20 10:42:58 +00:00
  • c413fcb747 feat: add SDH (Subtitles for Deaf and Hard of Hearing) caption output Vadym Samoilenko 2026-03-18 15:02:18 +00:00
  • 2e8a8dc287 feat: add brand context, ethics guidelines, and improved AD prompt rules Vadym Samoilenko 2026-03-18 14:46:09 +00:00
  • c6c7ff51c7 fix: clear stale pause points when AD VTT is re-uploaded Vadym Samoilenko 2026-03-09 17:07:55 +00:00
  • 539e11caca fix: poll for rendering_qc status and refresh timeline preview on completion Vadym Samoilenko 2026-03-03 19:27:49 +00:00
  • 76ca74d5a5 fix: enable Render Changes button after AD VTT upload Vadym Samoilenko 2026-03-03 15:58:23 +00:00
  • e10d90219c feat: add download assets panel and VTT file upload to QC review Vadym Samoilenko 2026-03-03 14:52:00 +00:00
  • d2d393c5c7 fix: skip downloads fetch for jobs still in early processing stages Vadym Samoilenko 2026-03-03 14:29:16 +00:00
  • 222826baa7 fix: propagate ElevenLabs voice fetch errors to frontend Vadym Samoilenko 2026-03-03 14:27:45 +00:00
  • a22fe5c1bc fix: surface ElevenLabs config errors and add availability flag Vadym Samoilenko 2026-03-03 14:17:00 +00:00
  • 1e177a6d5c feat: add ElevenLabs voice selection to frontend and backend Vadym Samoilenko 2026-03-03 13:58:56 +00:00
  • 31b7be0a2f chore: update check_job.py to dump full outputs structure Vadym Samoilenko 2026-03-03 11:23:46 +00:00
  • c32302ad2f chore: add debug script to check job placements and render order Vadym Samoilenko 2026-03-03 11:22:59 +00:00
  • 64a3fa2bef chore: add one-off script to regenerate AD cue TTS with different voice Vadym Samoilenko 2026-03-03 10:58:18 +00:00
  • 030f1b67ee fix: enforce AD cue pause_point monotonicity to preserve cue order michael 2026-02-26 08:15:06 -06:00
  • 0c3102b77f feat: add Return to QC action for jobs in resting statuses michael 2026-02-14 13:18:02 -06:00
  • 89a902d392 fix: prevent pause point input reset during editing michael 2026-01-18 10:09:07 -06:00
  • 106ca49f6f fix: allow free-form editing of pause point timestamp input michael 2026-01-12 14:50:44 -06:00
  • df721850e0 fix: queue TTS regeneration for shifted cues when deleting AD cue michael 2026-01-12 14:29:25 -06:00
  • 577ed44dab fix: queue TTS regeneration for shifted cues when inserting AD cue michael 2026-01-12 14:24:36 -06:00
  • dab294f18a feat: streamline QC approval to skip translation pipeline michael 2026-01-12 10:37:37 -06:00
  • 48bcea349e feat: add cue numbering to AD cues in VttEditor michael 2026-01-12 10:28:48 -06:00
  • 0919dbf7bd feat: move accessible video method selection to job creation michael 2026-01-12 10:25:40 -06:00
  • 30483b3ec1 fix: preserve cue order when consolidated AD cues share same pause point michael 2026-01-12 10:15:12 -06:00
  • e371dc401a feat: add save button to voice settings panel for TTS regeneration michael 2026-01-12 09:05:56 -06:00
  • b9c2fd93ac feat: streamline VTT cue editing to single-step save michael 2026-01-12 08:52:23 -06:00
  • 9d56306052 fix: display pause point timing in seconds instead of milliseconds michael 2026-01-12 08:32:34 -06:00
  • f47820a6a4 fix: make source_ms optional for backward compatibility with existing jobs michael 2026-01-12 07:04:08 -06:00
  • a6cd4cde07 fix: store source video coordinates in pause points for correct re-rendering michael 2026-01-11 10:48:41 -06:00
  • a59dbb60ac fix: register rerender_accessible_video task with Celery worker michael 2026-01-11 10:12:50 -06:00
  • bcfc026e61 feat: add migration for rendering_qc status in MongoDB schema michael 2026-01-11 10:05:05 -06:00
  • 676490ac65 feat: auto-queue TTS regeneration when AD script cues are edited michael 2026-01-11 09:59:04 -06:00
  • d965d1467a fix: use rendered video coordinates for pause point positions michael 2026-01-11 09:37:31 -06:00
  • 65a7404c87 fix: use proper signed URL generation for accessible video preview michael 2026-01-11 09:28:51 -06:00
  • 81d4e6a3cc fix: convert datetime fields to ISO strings in edit state response michael 2026-01-11 08:49:29 -06:00
  • aa6777d2c2 feat: add QC accessible video review and editing capabilities michael 2026-01-11 08:32:27 -06:00
  • c5f59b1079 fix: use local ffprobe for freeze segment duration measurement michael 2026-01-05 16:11:03 -06:00
  • add958008a fix: use actual freeze segment durations for VTT subtitle retiming michael 2026-01-05 15:52:57 -06:00
  • e44210ea64 feat: auto-rewrite TTS cues that fail synthesis michael 2026-01-05 14:42:50 -06:00
  • 76c4c60b0d fix: add tts_failed and render_failed to MongoDB schema validator michael 2026-01-05 14:09:41 -06:00
  • 83e4752327 feat: add server-side zip download for bulk job downloads michael 2026-01-04 15:57:57 -06:00
  • 8606877d01 fix: properly set tts_failed status when TTS synthesis fails michael 2026-01-04 10:45:33 -06:00
  • 8bd9be6353 fix: TypeScript type narrowing for TTS error display michael 2026-01-03 21:41:12 -06:00
  • 6915cf46af feat: add TTS retry functionality with detailed error reporting michael 2026-01-03 21:39:59 -06:00
  • 9436aa4c6b fix: remove useMemo hook after early returns in QCList michael 2026-01-03 19:22:29 -06:00
  • c512bdc184 feat: use AD VTT pause points instead of Gemini video analysis michael 2026-01-03 19:05:45 -06:00
  • 3689653135 refactor: remove manual language selection, always auto-detect michael 2026-01-03 18:42:45 -06:00
  • 5342ab1a28 fix: prevent event loop closed error in video renderer Cloud Run calls michael 2026-01-03 08:44:27 -06:00
  • 3e2099515a fix: use async httpx client for true parallel Cloud Run calls michael 2026-01-03 08:11:46 -06:00
  • 95852f1357 fix: update Cloud Run service configs for compatibility michael 2026-01-02 17:34:10 -06:00
  • 593d3bf346 cost: enable CPU throttling for Whisper and FFmpeg Cloud Run services michael 2026-01-02 17:22:14 -06:00
  • e2302d497d perf: parallelize FFmpeg Cloud Run calls using asyncio.gather() michael 2026-01-02 17:18:23 -06:00