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
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
fe384ddfe1
fix: update tests to match unlimited pipeline steps and avoid Sharp timeout
...
Pipeline step limit tests now expect success (200/201) since
MAX_PIPELINE_STEPS defaults to 0 (unlimited). Adversarial resize test
reduced from 65536 to 10000 width to prevent Sharp from attempting a
3.2B pixel allocation that times out on CI.
2026-04-23 23:56:08 +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
2cf53acfa4
fix: show correct user count when MAX_USERS is unlimited
...
MAX_USERS defaults to 0 (unlimited) but the People section displayed
"1 / 0 users". Now shows "1 user" when no limit is configured.
2026-04-23 22:08:34 +08:00
ashim-hq
8c5945362a
refactor: simplify analytics consent page for higher opt-in
...
Remove two-column bullet lists, vendor names, and fear-priming "NEVER"
list. Replace with a single benefit-led paragraph and privacy note.
2026-04-23 22:08:27 +08:00
ashim-hq
b03c428e4f
fix: prevent pipeline preview dropzone from clipping at bottom
...
Dropzone had a hardcoded min-h-[400px] that overflowed the preview
panel's h-[38%] constraint. Add compact prop for constrained contexts.
2026-04-23 22:08:20 +08:00
ashim-hq
be4155d257
fix: replace require() with dynamic import() for analytics modules
...
PostHog and Sentry were silently disabled in production Docker builds.
The app runs as ESM ("type": "module") via tsx, where require() is not
defined. The catch blocks swallowed the ReferenceError, leaving both
clients as null. Switch to await import() and store the Sentry module
reference for use in the error handler.
2026-04-23 21:45:10 +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