Commit Graph

  • 08961fcc89 fix: PDF tool QA sweep - library auto-save versioning, AI fileId threading, modality polish (#251) SnapOtterandGitHub 2026-06-16 15:48:07 +08:00
  • d50e8e42a7 QA + image-tool depth pass: codec/eraser/PDF fixes, modality renames, 13 image tools deepened (#249) SnapOtterandGitHub 2026-06-16 15:16:13 +08:00
  • 1548d475ca fix(normalize-audio): preserve source sample rate after loudnorm (#248) SnapOtterandGitHub 2026-06-16 14:46:23 +08:00
  • 8f6312c521 fix: repair URL import (DNS-pinned fetch on Node 22 + non-image modalities) (#246) SnapOtterandGitHub 2026-06-16 14:33:30 +08:00
  • aa3ae6ec91 fix(web): show modality thumbnails for non-image files in the strip (#245) SnapOtterandGitHub 2026-06-16 14:33:27 +08:00
  • 03e71236f9 fix: validate non-image inputs by modality (batch + pipeline) (#244) SnapOtterandGitHub 2026-06-16 14:33:23 +08:00
  • d8cf979d4b fix: resolve 18 QA-discovered bugs across tools, previews, and the AI pipeline (#242) SnapOtterandGitHub 2026-06-15 22:26:24 +08:00
  • 25babfae15 test(e2e-landing): match enterprise redesign and fix Astro dev-server config (#241) SnapOtterandGitHub 2026-06-15 22:14:50 +08:00
  • 44bfca105f fix(ci): deploy landing from dist, not the stale Next.js out path (#240) SnapOtterandGitHub 2026-06-15 22:00:00 +08:00
  • f622a4f691 feat(landing): enterprise-focused hero redesign and section polish (#239) SnapOtterandGitHub 2026-06-15 21:55:00 +08:00
  • b76dc68682 fix: resolve Sharp 0.35.1 and BullMQ type incompatibilities after dep bumps SnapOtter 2026-06-15 15:20:16 +08:00
  • 9a61cb6af1 chore(deps-dev): bump the dev-deps group with 10 updates (#238) SnapOtter 2026-06-15 15:03:19 +08:00
  • 784f7a28cd chore(deps): bump the production-deps group with 15 updates (#237)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-06-15 15:02:25 +08:00
  • 72ad63479c chore(deps): bump the actions group with 5 updates (#236)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-06-15 15:02:17 +08:00
  • 771a884ac5 chore(deps): bump debian from ed4fcc4 to 49ba348 in /docker (#235)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-06-15 15:02:14 +08:00
  • eedecbb67e chore(deps): bump mwader/static-ffmpeg from 8.0 to 8.1.1 in /docker (#234)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-06-15 15:02:11 +08:00
  • 21ed984c92 chore(deps): bump node from 1031993 to 2d178f2 in /docker (#233)
    dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    2026-06-15 15:02:03 +08:00
  • 507fc1c356 Merge branch 'feat/tool-first-workflow' SnapOtter 2026-06-15 14:55:58 +08:00
  • 7858130e7f Merge branch 'feat/tool-first-workflow' SnapOtter 2026-06-15 14:53:34 +08:00
  • 857aa75562 fix: apply processedFileName fallback everywhere processedFilename is used SnapOtter 2026-06-15 14:52:02 +08:00
  • 14ded6fbd0 fix: use processedFileName fallback for non-native format detection after processing SnapOtter 2026-06-15 14:49:30 +08:00
  • 3fb8164fa5 feat: add OpenTelemetry distributed tracing (enterprise) (#232) SnapOtterandGitHub 2026-06-15 12:53:06 +08:00
  • abaae18669 fix: always show NonNativePreview for non-native formats, even after processing SnapOtter 2026-06-15 12:41:42 +08:00
  • b93dc95bca fix: preview generation works for processed results too SnapOtter 2026-06-15 12:21:12 +08:00
  • 6090688708 fix: send auth token with preview generation request SnapOtter 2026-06-15 12:17:26 +08:00
  • d3cd4e41b5 feat: on-demand preview generation with progress messages for non-native formats SnapOtter 2026-06-15 12:04:30 +08:00
  • 511e941da0 fix: clean file info cards for non-native video/media formats on tool page SnapOtter 2026-06-15 11:57:27 +08:00
  • ed458d4bbd feat: redesign review panel action hierarchy SnapOtter 2026-06-15 11:52:22 +08:00
  • e7126f9293 feat: All tab groups tools by modality with collapsible sections SnapOtter 2026-06-15 11:47:58 +08:00
  • 52693fc843 feat: arrow key navigation in Files list SnapOtter 2026-06-15 11:42:59 +08:00
  • 3decfaae3e feat: clean preview button with progress bar, add document preview support SnapOtter 2026-06-15 11:41:11 +08:00
  • 412a21ee4d feat: server-side preview generation for non-native video/audio formats SnapOtter 2026-06-15 11:33:45 +08:00
  • a70b13ad32 feat: modality-aware file preview in Files library SnapOtter 2026-06-15 11:14:51 +08:00
  • 3a5d55cf26 fix: grey out incompatible files in library instead of hiding them SnapOtter 2026-06-15 11:10:35 +08:00
  • adfa53246a fix: enforce file type filtering using tool's acceptedInputs SnapOtter 2026-06-14 23:42:20 +08:00
  • 826f1efc08 feat: filter files by modality when importing from tool page SnapOtter 2026-06-14 23:26:38 +08:00
  • aff9159ae0 feat: move theme toggle and language selector to top nav bar SnapOtter 2026-06-14 23:13:38 +08:00
  • 6bcee1e073 fix: file library upload accepts all file types, not just images SnapOtter 2026-06-14 23:11:38 +08:00
  • f4061fe4b0 fix: Save to Files shows green success state with checkmark after saving SnapOtter 2026-06-14 23:10:20 +08:00
  • d0795b69ea feat: disable auto-save, add Save to Files button, accept all file types in library SnapOtter 2026-06-14 21:53:42 +08:00
  • b8a6b2018e feat: Import from Files works, remove pipeline button from files page SnapOtter 2026-06-14 21:43:58 +08:00
  • b5eef644e3 feat: clean tool page nav, add Import from Files on dropzone SnapOtter 2026-06-14 21:37:15 +08:00
  • f32b3bd51f fix: clear file store when navigating between tools SnapOtter 2026-06-14 21:32:27 +08:00
  • 90acd5bcd9 fix: show image viewer for video-to-gif/webp results instead of broken video player SnapOtter 2026-06-14 21:30:54 +08:00
  • 69300b5c83 fix: use media-player for all video/audio tools that had no-comparison or side-by-side SnapOtter 2026-06-14 21:27:26 +08:00
  • d8a8e05590 feat: add audio waveform visualization with wavesurfer.js SnapOtter 2026-06-14 21:25:34 +08:00
  • 5241ccd124 fix: show tool-specific accepted formats in dropzone, remove privacy note SnapOtter 2026-06-14 21:18:45 +08:00
  • 207c1c348b fix: make search bar full-width to align with tabs and grid SnapOtter 2026-06-14 21:09:42 +08:00
  • 43b190134e fix: top nav respects dark mode theme SnapOtter 2026-06-14 21:08:34 +08:00
  • ade79c53a5 feat: polish home page UI -- card borders, colored icons, 3-col grid, Cmd+K hint SnapOtter 2026-06-14 21:03:52 +08:00
  • fd26fa3586 fix: remove all legacy redirects from routes SnapOtter 2026-06-14 20:56:46 +08:00
  • ea83e1c8b4 feat: modality-based URLs (/image/resize, /video/compress-video) SnapOtter 2026-06-14 20:54:29 +08:00
  • 914ff1b1aa fix: prevent double scrollbar by locking html/body overflow SnapOtter 2026-06-14 20:47:19 +08:00
  • ae959760e3 fix: remove double scrollbar on home page SnapOtter 2026-06-14 20:44:17 +08:00
  • b166f47de5 fix: show all tools on All tab, remove Popular and Browse sections SnapOtter 2026-06-14 20:40:45 +08:00
  • 287f6f15de fix: remove redundant Getting Started section from home page SnapOtter 2026-06-14 20:37:11 +08:00
  • cf543f6976 fix: fetch settings on home page mount so tools are visible SnapOtter 2026-06-14 20:34:59 +08:00
  • f68fcb8ca6 fix: cache useSyncExternalStore snapshot to prevent infinite re-render SnapOtter 2026-06-14 20:31:49 +08:00
  • f387e98fff feat: tool-first workflow polish -- fix tests, lint cleanup SnapOtter 2026-06-14 19:44:58 +08:00
  • bc3ad2b008 feat: copy-primary for data tools, download-all label for multi-output, batch failure display SnapOtter 2026-06-14 19:38:47 +08:00
  • 896acda7ed feat: mobile layout for tool-first flow SnapOtter 2026-06-14 19:32:04 +08:00
  • 433d59c726 feat: tiered processing feedback and upload progress indicator SnapOtter 2026-06-14 19:27:59 +08:00
  • 56cd843482 feat: inline error messages with recovery actions SnapOtter 2026-06-14 19:24:12 +08:00
  • 619f61b470 fix: reassign 4 tools to correct display modes SnapOtter 2026-06-14 19:20:23 +08:00
  • 7c9ca85952 feat: add Cmd+Enter (process) and Cmd+S (download) keyboard shortcuts SnapOtter 2026-06-14 19:17:34 +08:00
  • 6ea515ccdd feat: add page-level drop overlay and paste handler on tool page SnapOtter 2026-06-14 19:09:36 +08:00
  • 45121c1a1e feat: add settings slide-in, review panel with size delta, start-over preserving settings SnapOtter 2026-06-14 19:03:13 +08:00
  • f2ac05747e feat: add full-width dropzone state and tool branding to tool page SnapOtter 2026-06-14 18:55:06 +08:00
  • 0d751b7d14 feat: rewrite home page as tool-first browser with search and modality tabs SnapOtter 2026-06-14 18:46:16 +08:00
  • 110700520c feat: add GET /api/v1/tools/popular endpoint SnapOtter 2026-06-14 18:36:32 +08:00
  • 6c61ae47f4 feat: add recent tools tracking via localStorage SnapOtter 2026-06-14 18:36:28 +08:00
  • f9ebb304db feat: remove /fullscreen route, add dynamic page titles SnapOtter 2026-06-14 18:34:32 +08:00
  • 71fef439a0 feat: replace sidebar with top nav bar across all pages SnapOtter 2026-06-14 18:30:32 +08:00
  • f79958a622 feat: add TopNav and AvatarDropdown components SnapOtter 2026-06-14 18:25:02 +08:00
  • 5af1ac4dcf fix: update privacy policy to reference PostgreSQL instead of SQLite SnapOtter 2026-06-14 18:16:54 +08:00
  • 112df13957 test: add enterprise feature test coverage SnapOtter 2026-06-14 16:50:35 +08:00
  • 8403222d08 feat(landing): migrate from Next.js to Astro 5 SnapOtter 2026-06-14 16:50:20 +08:00
  • f9ed5d125a Merge branch 'feat/enterprise-on-prem' SnapOtter 2026-06-14 16:10:15 +08:00
  • 2ceaeae09f Merge branch 'worktree-prebuilt-ai-bundles' SnapOtter 2026-06-14 15:11:59 +08:00
  • 171b3b3fdf Merge branch 'feat/web-otter-orange-design' SnapOtter 2026-06-14 15:11:56 +08:00
  • ccf5875f2f chore: add .astro build cache to gitignore SnapOtter 2026-06-14 14:59:43 +08:00
  • 73b277db48 chore: add .astro build cache to gitignore SnapOtter 2026-06-14 14:57:31 +08:00
  • e7bef34918 style: apply Biome formatting to enterprise files SnapOtter 2026-06-14 14:53:44 +08:00
  • 954cfb01a6 fix: test server registration gaps, Redis subscriber cleanup, atomic settings upsert SnapOtter 2026-06-14 14:30:35 +08:00
  • bcd59c20c7 feat(web): apply Otter Orange design system and UI improvements SnapOtter 2026-06-14 14:06:25 +08:00
  • 29dd675f42 fix(enterprise): SCIM token generation, GDPR job cancellation, MFA replay, config redaction, encryption validation, SCIM rate limit SnapOtter 2026-06-14 14:03:47 +08:00
  • d86e4585e4 feat(enterprise): add unified webhook system with admin alerts SnapOtter 2026-06-14 12:21:46 +08:00
  • 0f883fe853 feat(enterprise): add configuration export/import with dry-run and dependency validation SnapOtter 2026-06-14 12:17:40 +08:00
  • 03e12e6f0b feat(enterprise): add upgrade management endpoints (version, migrations, readiness) SnapOtter 2026-06-14 12:14:52 +08:00
  • 2aea351f70 feat: add backup status tracking endpoints SnapOtter 2026-06-14 12:11:23 +08:00
  • 239f85f098 feat: add per-user rate limiting and concurrent job limits SnapOtter 2026-06-14 12:09:25 +08:00
  • fb14f41512 feat: expand Prometheus metrics with request duration, storage, and auth counters SnapOtter 2026-06-14 12:06:06 +08:00
  • 6237684ec8 feat: extend health endpoints with disk space, S3, storage, and backup checks SnapOtter 2026-06-14 12:01:29 +08:00
  • 7f62b1bf12 fix: resolve 6 bugs from enterprise audit (SIEM cursor, legal hold join, SCIM role, GDPR self-purge, export OOM, quota check) SnapOtter 2026-06-14 11:04:44 +08:00
  • b9dac59736 fix: correct SAML idpCert property name for @node-saml/node-saml v5 SnapOtter 2026-06-13 23:02:20 +08:00
  • d397f57667 feat(web): add MFA login prompt and security settings UI SnapOtter 2026-06-13 23:00:33 +08:00
  • db6f7bf38a feat(enterprise): add IP allowlisting with CIDR matching and Redis cache SnapOtter 2026-06-13 22:54:06 +08:00
  • 1787be35fe feat(enterprise): add TOTP MFA with enrollment, verification, and recovery codes SnapOtter 2026-06-13 22:49:00 +08:00
  • a1b5c6d2c3 feat(enterprise): add SCIM 2.0 provisioning (Users + Groups) SnapOtter 2026-06-13 22:42:55 +08:00
  • 0c4468a004 feat(enterprise): add SSO enforcement mode with break-glass admin SnapOtter 2026-06-13 22:32:16 +08:00