Commit Graph

  • f158be6aaa feat(landing): section-nested tool routes, section index pages, and section-prefixed links SnapOtter 2026-06-20 23:46:12 +08:00
  • 5dbbac6c43 test(web): align unit + e2e expectations with section routes SnapOtter 2026-06-20 23:35:37 +08:00
  • 0689ae554f fix(web): point tool keyboard shortcuts at section routes SnapOtter 2026-06-20 12:53:40 +08:00
  • 8301676e13 feat(web): group home grid, tabs, and breadcrumb by section SnapOtter 2026-06-20 12:42:57 +08:00
  • 22b4b5c3c1 feat(web): section-prefix all tool API calls SnapOtter 2026-06-20 12:30:53 +08:00
  • f80444791b test(api): section-prefix tool URLs across integration, docker, and e2e api specs SnapOtter 2026-06-20 12:20:07 +08:00
  • fc205c7428 fix(api): section override for backwards-compat alias routes (adjust-colors) SnapOtter 2026-06-20 12:02:00 +08:00
  • 414f126a33 docs(api): section-prefix OpenAPI tool paths SnapOtter 2026-06-20 11:55:22 +08:00
  • 10bb73ffc1 feat(api): section-prefix all custom tool route literals SnapOtter 2026-06-20 11:47:59 +08:00
  • 68dd7dabaa feat(api): section-prefix factory + batch routes via apiToolPath (+section validation) SnapOtter 2026-06-20 11:39:41 +08:00
  • 0691457f94 feat(scripts): add tool-path codemod CLI SnapOtter 2026-06-20 11:24:33 +08:00
  • c17a4a4225 feat(scripts): add segment-anchored tool-path rewrite transform SnapOtter 2026-06-20 11:12:38 +08:00
  • 9ca901f8d5 feat(shared): add apiToolPath() and section-prefixed routes; drop MODALITY_URL_SLUG SnapOtter 2026-06-20 11:05:44 +08:00
  • 790747188a feat(shared): add Section concept and toolSection() partition SnapOtter 2026-06-20 10:55:56 +08:00
  • 0acc8ca751 chore: post-2.0 QA hygiene across api hardening and qa metadata SnapOtter 2026-06-20 10:50:20 +08:00
  • efac88c205 fix(ci): harden smoke tests against set -e and fix parameter issues SnapOtter 2026-06-20 10:45:56 +08:00
  • 19d9ed181a fix(audio): low-samplerate ogg encode + post-2.0 QA hygiene SnapOtterandGitHub 2026-06-20 10:41:50 +08:00
  • 7d099274c1 feat(ci): add verify job to ai-bundles workflow SnapOtter 2026-06-20 10:03:16 +08:00
  • 4b5b35186d fix(ci): address spec review findings in verify-bundle.sh SnapOtter 2026-06-20 10:01:32 +08:00
  • 5ee948d36a feat(ci): add verify-bundle.sh for AI bundle smoke testing SnapOtter 2026-06-20 09:56:55 +08:00
  • 34b006ded7 fix(test): resolve CI failures from the overhaul SnapOtter 2026-06-20 09:54:49 +08:00
  • ad215bd6ee Merge remote-tracking branch 'origin/main' into worktree-test+suite-overhaul-and-real-fixtures SnapOtter 2026-06-20 09:29:12 +08:00
  • 07c4038b1f test: stop tracking transient per-phase parity snapshots (keep phase 0 baseline + coverage) SnapOtter 2026-06-20 06:12:49 +08:00
  • 6b2023b2b4 test: add test suite README and final verification baseline (phase 8) SnapOtter 2026-06-20 06:10:45 +08:00
  • f100ba1b71 test: align generators with modality-first layout and prevent hero clobbering (phase 7) SnapOtter 2026-06-20 06:10:30 +08:00
  • 941ed27912 test: reorganize fixture files into modality-first layout (phase 6b) SnapOtter 2026-06-20 05:51:17 +08:00
  • 1727a7a73e test: reorganize flat test files into purpose-based subdirectories (phase 6) SnapOtter 2026-06-20 05:07:46 +08:00
  • 257f030c09 test: migrate last dynamic format-decoders fixture ref to registry SnapOtter 2026-06-20 04:21:12 +08:00
  • b1afcfdf3c test: migrate 207 test files to typed fixture registry (phase 5) SnapOtter 2026-06-20 04:20:17 +08:00
  • 0705de8f1b test: add axe a11y pass and device visual regression (phase 4c) SnapOtter 2026-06-20 03:44:26 +08:00
  • 692c8ebf91 test: repair serial-bucket quick wins and quarantine intractable specs (phase 4b) SnapOtter 2026-06-20 03:09:00 +08:00
  • e7b5d909d3 test: remove 3 superseded fake-mobile/tablet/responsive specs (phase 4b) SnapOtter 2026-06-20 03:08:46 +08:00
  • f950dac792 test: add launch-readiness guards and fix zh-CN/pt-BR i18n fallback (phase 4a) SnapOtter 2026-06-20 02:38:30 +08:00
  • e44be61053 test: add real device-emulated mobile and tablet testing (phase 3) SnapOtter 2026-06-20 02:15:50 +08:00
  • d09823bf7d test(fixtures): add Tier-2 depth tests for real heroes (phase 2) SnapOtter 2026-06-20 01:40:28 +08:00
  • 09b26718e1 test(fixtures): replace synthetic media with real CC-BY/CC0 content SnapOtter 2026-06-20 01:24:59 +08:00
  • 9f28f13fb6 test(fixtures): update manifest provenance, LICENSES, and parity baseline SnapOtter 2026-06-20 01:04:47 +08:00
  • d6975d3d46 test(fixtures): replace 3 copyrighted assets with CC0 alternatives SnapOtter 2026-06-20 01:04:33 +08:00
  • 999240f20e test(fixtures): regenerate Category A content as provably CC0 synthetics SnapOtter 2026-06-20 01:04:18 +08:00
  • d61226496b fix(security): harden rate limits, Redis auth, resource caps, and error sanitization SnapOtter 2026-06-20 00:53:11 +08:00
  • 1aa3f8e48f test(fixtures): address review nits (drop dead param, exclude .mjs from budget scan) SnapOtter 2026-06-19 20:44:35 +08:00
  • 427c543b72 test(fixtures): phase 1 parity checkpoint (no pre-existing test dropped) SnapOtter 2026-06-19 20:22:04 +08:00
  • 883ae38caf test(fixtures): scaffold modality-first target dirs (phase 1) SnapOtter 2026-06-19 20:14:38 +08:00
  • 108583bc1a test(fixtures): add real-fixture integrity guard (phase 1) SnapOtter 2026-06-19 20:14:26 +08:00
  • d23e72d8d4 test(fixtures): add provenance manifest + LICENSES + consistency guard (phase 1) SnapOtter 2026-06-19 20:13:43 +08:00
  • 8f72a5152c test(fixtures): add per-file size-budget guard (phase 1) SnapOtter 2026-06-19 20:11:50 +08:00
  • 9c8162d0f1 test(fixtures): add typed fixture registry + resolve guard (phase 1) SnapOtter 2026-06-19 20:11:22 +08:00
  • 531fb472f5 test: capture re-baseline inventory + coverage snapshot (phase 0) SnapOtter 2026-06-19 20:03:34 +08:00
  • 97ba21e5e0 test: fix stale feature-manifest assertions (bundleRepo rename, unpublished extractedSize) SnapOtter 2026-06-19 20:03:26 +08:00
  • 977a4d9bb1 chore(cla): initialize CLA signatures store SnapOtter 2026-06-19 19:18:33 +08:00
  • b847dcc2ab test(features): align manifest assertions with deepsafe repo and best-effort extractedSize SnapOtterandGitHub 2026-06-19 19:15:32 +08:00
  • 91ac583e87 feat(docs): Two-Doors home, otter-orange brand, Pagefind search, and enterprise SSO/SCIM/roles guides SnapOtterandGitHub 2026-06-19 18:46:59 +08:00
  • 35222249cb chore: remove dead landing components and a stale vitest exclude SnapOtterandGitHub 2026-06-19 18:46:55 +08:00
  • 2bd3e2302a fix: post-2.0 audit bug fixes (404 route, worker logging, outpaint gate, pandoc path) SnapOtterandGitHub 2026-06-19 18:46:52 +08:00
  • 9b64a96bcd fix(docker): restore Postgres/Redis in GPU compose stack + pause image publishing SnapOtterandGitHub 2026-06-19 18:39:35 +08:00
  • 3b50bcdc5c fix(ai-bundles): repair bundle build + publish pipeline (deepsafe repo, CPU provider, manifest) SnapOtterandGitHub 2026-06-19 18:34:33 +08:00
  • 7f8f6b5e6b docs: add v2.0.0 release delay banner to README SnapOtter 2026-06-19 18:18:36 +08:00
  • 7579634633 test: fix 2.0 integration CI -- 202 async fallback + timeout hardening SnapOtterandGitHub 2026-06-19 18:15:20 +08:00
  • d39091375a chore: remove temporary HF token check workflow and marker SnapOtter 2026-06-19 18:07:29 +08:00
  • 818ca8beb4 chore: fix YAML indentation in HF check workflow; re-trigger SnapOtter 2026-06-19 18:06:46 +08:00
  • 6bd8bf724e chore: run HF token CI check (push-triggered) SnapOtter 2026-06-19 18:05:43 +08:00
  • 837ce2fe86 chore: HF upload CI check workflow SnapOtter 2026-06-19 18:01:04 +08:00
  • 1473c7cffd chore: remove stale HF token test workflow SnapOtter 2026-06-19 18:00:52 +08:00
  • 6c779e8382 chore: temporary HF token CI smoke test (will remove) SnapOtter 2026-06-19 17:55:32 +08:00
  • 60e3008106 docs: deep-audit the API reference pages against code SnapOtter 2026-06-17 17:33:22 +08:00
  • 8532f3227b docs: audit all 157 tool pages against live schemas SnapOtter 2026-06-17 17:13:31 +08:00
  • d24e244af4 docs: organize tool pages by modality under /tools/<modality>/ SnapOtter 2026-06-17 17:01:34 +08:00
  • 03c1a5e36f fix(ci): grant ai-bundles reusable call its required token scopes SnapOtter 2026-06-17 18:22:15 +08:00
  • de8bd79b04 test: update pre-existing stale specs for 2.0 multimodal + validation behavior SnapOtter 2026-06-17 15:54:48 +08:00
  • 3726335063 fix(ai): pin rembg to 2.0.69 to keep numpy<2 compatibility SnapOtter 2026-06-17 15:54:35 +08:00
  • d5c855d844 test: align batch empty-input assertion with modality-aware error SnapOtter 2026-06-17 14:39:34 +08:00
  • 620552569e feat!: SnapOtter 2.0.0 SnapOtter 2026-06-17 14:33:09 +08:00
  • 7e3249a998 test: fix stale epub-convert/to-epub async tests SnapOtter 2026-06-16 18:22:18 +08:00
  • 7a205eeb12 fix(api): isolate the factory validation scratch dir from the worker's SnapOtter 2026-06-16 18:22:08 +08:00
  • d46b82e11e test: run the docker suite without the coverage gate SnapOtter 2026-06-16 17:48:58 +08:00
  • 2d2f23cff0 test: install enterprise S3 dep and open PS coders in docker test image SnapOtter 2026-06-16 16:35:27 +08:00
  • 63a2d309ce test: honor SYNC_WAIT_MS in docker tests instead of clobbering it SnapOtter 2026-06-16 16:35:20 +08:00
  • 1f5b222267 test: fix docker test-image env and container-specific test guards SnapOtter 2026-06-16 15:16:40 +08:00
  • b4470cac4b test: exclude qa Playwright specs and stale landing tests from vitest SnapOtter 2026-06-16 15:16:40 +08:00
  • 37b9c6d7bf fix(api): reject non-PDF inputs in pdf-to-image SnapOtter 2026-06-16 14:34:49 +08:00
  • 965501aef9 fix(api): log only genuine processing faults at error level SnapOtter 2026-06-16 14:22:03 +08:00
  • c483897452 fix(api): drop app-logger import from media-input; update stale errors mock SnapOtter 2026-06-16 14:09:17 +08:00
  • 9c250d244f test: add regression coverage for the video QA fixes SnapOtter 2026-06-16 13:31:39 +08:00
  • 6220885e0c fix(api): narrow friendlyError matching to avoid collapsing valid messages SnapOtter 2026-06-16 13:31:39 +08:00
  • e52e0bb3d5 fix(api): propagate lenient structural-validation flag to batch + pipeline SnapOtter 2026-06-16 13:07:43 +08:00
  • 3fc4149143 fix(api): stop leaking raw ffprobe stderr in media validation errors SnapOtter 2026-06-16 12:31:21 +08:00
  • 4af4bfa8eb fix(api): return user-safe processing errors, keep raw stderr in logs SnapOtter 2026-06-16 11:29:10 +08:00
  • e96c314ab9 fix(media): encode gif-to-video WebM as yuv420p SnapOtter 2026-06-16 11:29:10 +08:00
  • 3120e6708d fix(editor): apply layer effects + object flip, add Beta badge, repair e2e specs SnapOtter 2026-06-17 13:53:02 +08:00
  • 81e16d7ce6 fix(editor): capture document pixels without the zoom/pan transform (#259) SnapOtter 2026-06-17 12:34:57 +08:00
  • 063a2e47e2 fix(editor): fill canvas viewport, fix black rulers, add resizable panel (#258) SnapOtter 2026-06-17 11:41:16 +08:00
  • 609cd6b609 chore(github): redesign issue intake forms and routing SnapOtter 2026-06-17 12:04:47 +08:00
  • ecc0a45f0e docs: per-tool reference pages for all 157 tools (+ fix docs build) (#261) SnapOtterandGitHub 2026-06-17 11:11:37 +08:00
  • c3d7411c67 chore(landing): upgrade to Astro 6 (resolves the astro security advisory) (#260) SnapOtterandGitHub 2026-06-17 11:11:34 +08:00
  • 79233ff19d chore(deps): patch Dependabot security advisories (esbuild, qs, uuid, yaml, js-yaml, babel, otel, rembg) (#257) SnapOtterandGitHub 2026-06-16 21:49:53 +08:00
  • ae32c25301 docs: complete the API reference catalog with video/audio/document/data tools (#256) SnapOtterandGitHub 2026-06-16 21:49:48 +08:00
  • 17726ae59d docs: multi-modality rebrand, 2.0 architecture accuracy, and full OpenAPI coverage (#254) SnapOtterandGitHub 2026-06-16 18:04:52 +08:00
  • 8eee17aeea fix: handle non-image modalities across uploads, previews, and filenames (#255) SnapOtterandGitHub 2026-06-16 18:04:48 +08:00
  • 622c9f98a5 fix(ci): resolve pre-existing failures making main red (#250) SnapOtterandGitHub 2026-06-16 16:09:45 +08:00
  • 7865339fc8 fix(lint): biome-format tool-factory and json-xml to green apps/api lint (#252) SnapOtterandGitHub 2026-06-16 16:07:15 +08:00