Commit Graph
794 Commits
Author SHA1 Message Date
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
ashim-hq 4e0ac22de9 feat: premium gradient button with hover animation, redesign terminal with glow and macOS chrome 2026-04-24 00:11:17 +08:00
ashim-hq 2edee0c21d fix: rename hero button to Start Using It with arrow, remove GitHub icon 2026-04-24 00:09:02 +08:00
ashim-hq bca23d2008 feat: redesign terminal as single clickable block with full docker command and inline copy feedback 2026-04-24 00:08:14 +08:00
ashim-hq ffe02b6f3a feat: replace hero CTAs with single Get Started for Free button linking to GitHub 2026-04-24 00:06:42 +08:00
ashim-hq afdd9fd165 feat: add copy button to terminal, expand Why Choose, add pricing section, reorder nav 2026-04-24 00:04:25 +08:00
ashim-hq 6e6c268910 feat: simplify Get Started to one docker command below hero, redesign Enterprise with gradient cards, remove About from nav 2026-04-23 23:56:50 +08:00
ashim-hq ba8b1b2657 fix: remove AGPL trust line from hero, add Free. Forever. to animation 2026-04-23 23:52:02 +08:00
ashim-hq 5fcec90d7b feat: remove API and Three Ways sections, redesign How It Works as terminal mockup 2026-04-23 21:23:24 +08:00
ashim-hq 9f68c1a73e feat: remove Trusted across industries section 2026-04-23 21:21:19 +08:00
ashim-hq 257e6b12c4 fix: redesign section flow with alternating white/gray backgrounds, remove all dark sections, change 50+ to 40+ tools 2026-04-23 21:07:47 +08:00
ashim-hq 16e92a1c2d feat: replace licensing page with enterprise contact/demo page 2026-04-23 20:53:55 +08:00
ashim-hq 9a2371053a feat: add licensing page with AGPL-3.0 and commercial license tiers 2026-04-23 19:34:25 +08:00
ashim-hq d588f5fd93 feat: redesign navbar with Features, Download, API, Pricing, Docs, About, Contact links, GitHub star button, and Book a Demo CTA 2026-04-23 18:32:26 +08:00
ashim-hq 0c40c4dcfc fix: add suppressHydrationWarning to body for Dark Reader compatibility 2026-04-23 18:29:48 +08:00
ashim-hq 8f6600f55e feat: add Why Choose SnapOtter section, expand hero animation phrases 2026-04-23 18:28:05 +08:00
ashim-hq 3e6001ec09 feat: add no signups, unlimited use, works offline to hero phrases 2026-04-23 18:25:36 +08:00
ashim-hq 44f015a8ce fix: remove artificial limits from Pipelines description, now unlimited 2026-04-23 18:24:01 +08:00
ashim-hq 6f728fe629 feat: add Three Ways to Use and Industry Use Cases sections 2026-04-23 18:22:22 +08:00
ashim-hq 97a8d54ba7 fix: rewrite enterprise subtitle to be clearer and not misleading 2026-04-23 18:19:03 +08:00
ashim-hq 13a15edc26 fix: remove AI badge from tool cards 2026-04-23 18:18:45 +08:00
ashim-hq c6196daf54 feat: remove Value Props section 2026-04-23 18:17:47 +08:00
ashim-hq dbbc35040d feat: add mouse-responsive parallax to hero background, gradient separator on navbar 2026-04-23 18:15:17 +08:00
ashim-hq e6d6019d0a fix: add subtle frosted background to navbar for readability over word cloud 2026-04-23 18:12:44 +08:00
ashim-hq 82e5e9cf90 fix: make navbar transparent to blend with hero, push word cloud below navbar 2026-04-23 18:11:05 +08:00
ashim-hq b3a19fffea feat: add tool name word cloud background to hero section 2026-04-23 18:09:28 +08:00
ashim-hq 1a353123d8 feat: add clear tagline to hero section 2026-04-23 18:07:27 +08:00
ashim-hq 60a821357c feat: restore animated phrase rotation without blinking cursor bar 2026-04-23 18:05:43 +08:00
ashim-hq 8ff4155186 feat: replace typing cursor with static subtitle, add gradient mesh hero background 2026-04-23 18:04:53 +08:00
ashim-hq c9f648708e fix: remove all em dashes from landing page copy 2026-04-23 17:58:43 +08:00
ashim-hq c9d536c561 feat: add Lucide icons to all 47 tools with BentoPDF-style card layout 2026-04-23 17:57:11 +08:00
ashim-hq 49f18847f0 feat: update hero headline, replace bento grid with searchable 47-tool showcase 2026-04-23 17:51:32 +08:00
ashim-hq a6b79a7972 fix: redesign bento grid with hero AI card, fix navbar icon bug, suppress hydration warning 2026-04-23 17:45:51 +08:00
ashim-hq 984aebc601 feat: add OG image and complete meta tags 2026-04-23 17:31:17 +08:00
ashim-hq b307005469 feat: assemble all sections into landing page 2026-04-23 17:30:11 +08:00
ashim-hq a8988c0742 feat: add API Callout, Open Source, and Footer sections 2026-04-23 17:28:41 +08:00
ashim-hq f7348ee82d feat: add Enterprise and How It Works sections 2026-04-23 17:26:44 +08:00
ashim-hq 42fc8c5c80 feat: add Value Props and Bento Grid sections 2026-04-23 17:25:11 +08:00
ashim-hq 64f3e3f792 feat: add Navbar and Hero sections 2026-04-23 17:23:09 +08:00
ashim-hq d22e4c2596 feat: add FadeIn and TypingCursor utility components 2026-04-23 17:21:22 +08:00
ashim-hq 2260d696bc feat: scaffold Next.js landing page app at apps/landing 2026-04-23 17:19:48 +08:00
AshimandGitHub 136a4dd641 Merge pull request #93 from ashim-hq/test/comprehensive-coverage
test: comprehensive test coverage expansion (+965 tests, 48/48 tools)
2026-04-23 17:12:53 +08:00
ashim-hq babca4cf97 test: comprehensive test coverage expansion (+965 tests)
Add 42 new test files covering all untested tool routes, image engine
internals, AI sidecar bridge, Zustand stores, and cross-format
compatibility. Expand e2e-docker suite with 7 spec files covering all
48 tools against a real Docker container.

Unit tests:
- Image engine: format detection, MIME mapping, metadata parsing, pipeline
- AI bridge: sidecar lifecycle, all 11 tool functions (mocked)
- Web stores: 14 Zustand stores (collage, settings, features, analytics, etc.)
- API helpers: format decoders, page range, file validation

Integration tests:
- 25 tool routes that had zero dedicated tests
- Cross-format matrix: 17 input formats x 3 tools
- Edge cases: zero-byte files, corrupted headers, path traversal, XSS, SQL injection
- Concurrent request handling and pipeline edge cases

E2E-Docker (Playwright against real container):
- 7 spec files: essential, adjustment, conversion, creative, utility, AI, pipeline
- Custom buildMultipart helper for multi-file tool uploads
- AI tools gracefully skip when sidecar not installed

Fixtures:
- Organized test media: formats/ (18 formats) + content/ (17 content types)
- Reduced from 3.1 GB unorganized samples to 33 MB structured fixtures

Bug fix:
- color-adjustments: gamma exposure used invalid single-param gamma() for
  positive values; fixed to use two-param gamma(gammaIn, gammaOut) form
2026-04-23 17:12:02 +08:00
AshimandGitHub 9ff23f38fb Merge pull request #92 from ashim-hq/fix/auth-false-escalation-90
fix: prevent admin escalation when AUTH_ENABLED=false
2026-04-23 14:46:20 +08:00
ashim-hq 7047ce5fae fix: prevent admin escalation when AUTH_ENABLED=false
When auth was disabled, users could log out, reach the login page,
and authenticate with the default admin/admin credentials to gain
full admin privileges — defeating the purpose of AUTH_ENABLED=false.

Defense-in-depth fix across five layers:
- Skip ensureDefaultAdmin() when auth is disabled (no admin user seeded)
- Return 403 from POST /api/auth/login when auth is disabled
- Return synthetic anonymous user from GET /api/auth/session when auth is disabled
- Hide logout button in settings when auth is disabled
- Redirect /login and /change-password to / via AuthGuard when auth is disabled

Closes #90
2026-04-23 14:45:04 +08:00
ashim-hq 19df740880 docs: add Code of Conduct and community guide for GitHub Discussions
Establishes Contributor Covenant 2.1 as the project Code of Conduct with
reporting to ashim.hq@gmail.com. Adds a community guide with the 5-category
Discussions layout, a pinned Welcome post draft, and seed post ideas.
2026-04-23 12:57:47 +08:00