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
Ashim and GitHub
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
Ashim and GitHub
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