Commit Graph
851 Commits
Author SHA1 Message Date
SnapOtter 119037e31d fix: remove reference to local-only HARDWARE_RECOMMENDATIONS.md
The file is gitignored and not in the repo, so the link was broken.
2026-04-25 00:49:25 +08:00
SnapOtter 2edb25883e fix: replace broken local file reference with GitHub link in docs
The deployment guide referenced `docs/HARDWARE_RECOMMENDATIONS.md` as
inline code, which is inaccessible from the deployed VitePress site.
2026-04-25 00:42:47 +08:00
SnapOtter 3bec83bee5 chore: remove docs/prompts from version control
Internal prompt templates should stay local-only, not published to GitHub.
Added to .gitignore so they won't be tracked again.
2026-04-25 00:30:54 +08:00
SnapOtter 1066cf4c2c chore: track reusable prompt templates in docs/prompts/
Un-ignore docs/prompts/ and update the internal wiki generator
prompt to reflect current codebase state (48 tools, 8 agents,
accurate component/test/store counts, landing app coverage).
2026-04-25 00:00:35 +08:00
SnapOtter e3259d163a fix: PaddleOCR CPU crash, content-aware-resize limits, barcode fixtures
- Add enable_mkldnn=False to PaddleOCR constructor to bypass PaddlePaddle
  3.3+ OneDNN/PIR crash on CPU-only systems
- Add 25MP and 75% max-reduction guard to seam carving with clear error
  messages instead of silent timeout/crash
- Replace barcode/QR AVIF test fixtures with actual scannable codes
  (old fixtures did not contain real barcodes)
2026-04-24 23:58:06 +08:00
SnapOtter 598f75ef63 fix: increase test timeouts for slow CI operations
- adversarial resize 50000x50000: 60s → 120s
- format-matrix HEIF tests: 30s (default) → 90s
2026-04-24 23:50:47 +08:00
SnapOtter c3e2b179b7 fix: update format-decoders test for bmp/jxl support
The test used "bmp" as an example unknown format, but bmp is now a
supported CLI-decoded format. Use "xyz" instead and add assertions
for bmp and jxl.
2026-04-24 23:39:09 +08:00
SnapOtter 8633dba431 fix: sync API docs, register content-aware-resize, normalize tool counts
- Fix 23 OpenAPI schema discrepancies across 16+ tools (wrong ranges,
  missing fields, incorrect schemas for gif-tools/collage/ocr)
- Add content-aware-resize to canonical TOOLS array and landing BentoGrid
- Normalize tool count to 47 across README, docs, landing, i18n, OpenAPI
- Remove dead "automation" ToolCategory variant
- Add BMP and JPEG XL format decoding via ImageMagick
- Add libopenexr-dev to Docker runtime image
- Update e2e test selectors for current pipeline builder UI
2026-04-24 23:27:08 +08:00
SnapOtter 7f62bc32db test: expand coverage to 3,382 tests across all layers
- Unit: 1,353 tests (42 files) — +256 new tests covering AI bridge
  modules, image-engine sharpen/optimize-for-web, Zustand stores, and
  icon-map validation
- Integration: 1,640 tests (57 files) — +826 new tests across all
  tool routes, pipeline/progress/batch infrastructure, user-files,
  edit-metadata, and a 321-test cross-format matrix
- E2E-Docker: 389 passing (20 spec files) — 6 new spec files for
  batch processing, format conversion, layout, optimization,
  watermark/overlay, and pipeline chains. Tests verified against fresh
  Docker container with all 6 AI bundles installed.

Bug fixes discovered during testing:
- fix(compress): SVG/BMP/exotic formats crashed Sharp encoder — added
  format-safety fallback to PNG
- fix(rate-limit): increase default login attempt limit from 10 to 500
  per minute — previous value caused false test failures and is too
  restrictive for a self-hosted app
- fix(auth.setup): wait for consent button visibility before clicking
  to prevent flaky E2E-Docker auth setup
2026-04-24 22:43:14 +08:00
SnapOtter bc82781282 fix: correct gitignore pattern for vitepress cache 2026-04-24 19:11:53 +08:00
SnapOtter 97d58e5e62 chore: update social preview and dashboard images 2026-04-24 19:10:13 +08:00
SnapOtter 37eeadbbd6 chore: refine social preview with brand gradient and subtle word cloud 2026-04-24 18:58:39 +08:00
SnapOtter 78fa325380 fix: optimize logos and fix favicon transparency
- Regenerate all favicons with transparent background
- Resize logos from 768x768 (456KB) to 128x128 (29KB) for web use
- Regenerate PWA icons (192, 512) with transparency
- Update social preview with word cloud and light theme
2026-04-24 18:55:11 +08:00
SnapOtter 33fb864ed9 chore: redesign social preview with light theme matching landing page 2026-04-24 18:52:25 +08:00
SnapOtter d80b504f41 chore: update social preview and docs homepage layout
- Redesign social-preview.png with polished amber brand theme
- Fix docs homepage layout ordering (hero → docker command → features)
2026-04-24 18:49:23 +08:00
SnapOtter 8953045316 chore: disable Docker build test in CI temporarily
Docker/GHCR push will be re-enabled after thorough local testing.
2026-04-24 18:23:21 +08:00
SnapOtter 55fef373b5 fix: lowercase Docker registry references for GHCR
github.repository resolves to snapotter-hq/SnapOtter (mixed case) but
Docker registry names must be lowercase.
2026-04-24 18:13:39 +08:00
SnapOtter 00f0af4c79 fix: update EXIF fixture and deploy workflows
- Fix test-with-exif.jpg Software field from "ashim Test" to
  "SnapOtter Test" to match test expectations
- Replace cloudflare/wrangler-action with npx wrangler to avoid
  pnpm workspace root install error
2026-04-24 18:08:42 +08:00
SnapOtter 0309e0f680 chore: deploy to Cloudflare Pages and update branding
- Add Cloudflare Pages deployment for landing page (snapotter.com) and
  docs (docs.snapotter.com)
- Create deploy-landing.yml and update deploy-docs.yml workflows
- Update CI to ignore apps/landing/** paths
- Fix logo transparency (remove white background) across all apps
- Recreate social-preview.png with SnapOtter branding
- Update all docs URLs from GitHub Pages to docs.snapotter.com
- Update VitePress config: light theme default, fix llms.txt paths
- Add .vitepress/cache/ and .env.* to gitignore
2026-04-24 18:06:29 +08:00
ashim-hq fbaa603d03 fix: use fake timers in lazy-with-retry tests to prevent CI timeout 2026-04-24 15:34:58 +08:00
ashim-hq 2ec495058a fix: mock connection store in lazy-with-retry tests to prevent CI timeout 2026-04-24 15:27:12 +08:00
ashim-hq 839df466a0 chore: add SnapOtter logo and clean up .gitignore 2026-04-24 15:20:04 +08:00
ashim-hq f82eff4875 Merge feat/landing-page into main
Integrates the SnapOtter landing page with Nunito typography,
otter mascot logo, and teal open-source section accent.
2026-04-24 15:16:49 +08:00
ashim-hq b6ccb4c6ea feat: generate new SnapOtter favicon and PWA icons from logo.png 2026-04-24 14:47:57 +08:00
ashim-hq 1fe360471d feat: add teal accent for open-source section differentiation 2026-04-24 14:47:22 +08:00
ashim-hq d299aa8a72 feat: rebrand user-facing strings from ashim to SnapOtter 2026-04-24 14:47:17 +08:00
ashim-hq 9504662a5a feat: apply Nunito font to all landing page section headings 2026-04-24 14:47:01 +08:00
ashim-hq dff878d155 feat: replace placeholder logo with otter mascot in navbar 2026-04-24 14:46:52 +08:00
ashim-hq af54a0e4da feat: add Nunito font for headings and navbar wordmark 2026-04-24 14:46:44 +08:00
ashim-hq a57e84ab28 feat: rebrand docs site from ashim to SnapOtter 2026-04-24 14:46:23 +08:00
ashim-hq 3185827c80 refactor: replace GemLogo with OtterLogo component for SnapOtter rebrand 2026-04-24 14:46:11 +08:00
ashim-hq 9f9fbf1fd7 test: add hardware benchmark scripts and Mac results
Includes bench.sh, bench-ai.sh, bench-limits.sh and corresponding
result files for Mac hardware baseline.
2026-04-24 14:23:12 +08:00
ashim-hq 2f09618897 fix: configure docs for custom domain docs.snapotter.com
Set base path to / and add CNAME for GitHub Pages custom domain.
2026-04-24 14:23:05 +08:00
ashim-hq 6af315ac44 test: add comprehensive landing page unit tests (85 tests)
6 test files covering all landing page components:
- BentoGrid: search filtering, category pills, tool count, empty state
- Navbar: links, mobile menu, GitHub star count formatting, fetch
- HowItWorks: Docker command display, clipboard copy, terminal chrome
- FAQ: accordion expand/collapse, all questions rendered
- Contact: form fields, validation, Formspree submission, error states
- Components: Hero, TypingCursor, WhyChoose, Enterprise, Pricing,
  OpenSource, Footer (rendering, links, content verification)

Also updates vitest.config.ts with landing page aliases and automatic
JSX transform for Next.js components.
2026-04-24 13:15:15 +08:00
ashim-hq d3fee31780 feat: add Privacy Policy and Terms and Conditions pages 2026-04-24 12:55:33 +08:00
ashim-hq d48f13a75a fix: replace tech stack FAQ with optional analytics FAQ 2026-04-24 12:50:35 +08:00
ashim-hq a062aa9e5f fix: E2E test isolation and analytics consent bugs
- Isolate test web server on port 2349 so E2E tests run alongside Docker
- Use fresh SQLite database per test run via DB_PATH, fixing missing
  roles/audit_log tables from stale migration state
- Fix analytics consent redirect loop when ANALYTICS_ENABLED=false by
  auto-declining consent instead of bare redirect
- Dismiss analytics consent via API in auth setup and RBAC test user
  creation so the consent page never blocks UI tests
- Make Vite port and proxy target configurable via env vars
2026-04-24 01:24:15 +08:00
ashim-hq 4f362a9daf feat: connect contact form to Formspree with loading state, success screen, and error handling 2026-04-24 00:46:32 +08:00
ashim-hq d2c01d561e fix: rename GitHub button to Star on GitHub with count badge 2026-04-24 00:43:46 +08:00
ashim-hq e9cc76119a feat: redesign Why Choose section with gradient cards, icons in white circles, label + subtitle 2026-04-24 00:42:04 +08:00
ashim-hq d313a922d4 fix: move copy button to terminal header bar top-right 2026-04-24 00:32:58 +08:00
ashim-hq 9d751e72f3 fix: replace framer-motion FadeIn with CSS keyframe animations in hero to fix rendering issue 2026-04-24 00:31:13 +08:00
ashim-hq 99c64f7471 fix: reduce FadeIn viewport margin to prevent hero content from staying invisible 2026-04-24 00:26:43 +08:00
ashim-hq fc30053451 fix: reduce Get Started section vertical padding 2026-04-24 00:25:28 +08:00
ashim-hq 4af02612cc feat: add live GitHub star count, legal footer section, FAQ page 2026-04-24 00:24:44 +08:00
ashim-hq dca0de9a7e fix: use absolute paths for footer anchor links so they work from all pages 2026-04-24 00:19:17 +08:00
ashim-hq 0ed700aa49 fix: remove all demo.snapotter.com references, replace with Pricing link in footer 2026-04-24 00:18:02 +08:00
ashim-hq 758913ba7d fix: make Company field required in contact form 2026-04-24 00:15:54 +08:00
ashim-hq 3859344dd8 fix: change pricing checkmarks to green 2026-04-24 00:14:53 +08:00
ashim-hq 92653d7864 feat: expand pricing with detailed features, remove Download from nav, remove RECOMMENDED tag 2026-04-24 00:14:12 +08:00