Matthew Meszaros
a4dd7e70b9
feat: serve the marketing site photos through astro:assets as AVIF with WebP fallback, responsive widths and an inline blurred placeholder via a new Photo component, move the textures into src/assets, cache built assets immutably, and let ScaledStage render a plain frame when no photo is given
2026-10-09 18:33:49 +02:00
Matthew Meszaros
e41587d404
feat: replace the landing page feature showcases with a photo-backed bento and a numbered how-it-works section whose live dashboard scenes (accounts, warmup, campaign flow, deliverability, inbox, AI editor, deals, analytics, installer) mirror the app and animate only while on screen, and drop the old showcase components, mock screens and grain shader
2026-10-09 15:56:17 +02:00
Devin AI
6af3ba910c
feat: preserve cookieless first-touch signup attribution through marketing and app redirects and expose admin referrer hosts
2026-10-09 07:19:23 +00:00
Matthew Meszaros and Devin AI
dfed1e1593
feat: validate API UUIDs, recover expired Gmail history and guard consumer startup and stale frontend assets
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-07 07:19:15 +00:00
Matthew Meszaros
6f0314081c
feat: update vulnerable dependencies across Go Phoenix docs site and web
2026-09-17 07:04:40 -07:00
Matthew Meszaros
1d626496af
feat: rebuild the index page product visuals 1/1 with the dashboard for issue #268 : every feature section renders the real app shell (AppShellMock with the live sidebar counts) inside a browser window hung from a corner, a shared demo cursor engine (lib/cursor.ts + DemoCursor) walks element anchors instead of guessed coordinates, the campaign builder opens its step editor as the 320px spring side sheet and portals the ⌘J caret assistant over the whole window, analytics, integrations, developers and CRM use a new wide FeatureSection mode that fits the full 1280px window by width so centred dialogs read as centred, forms, form builder and hosted form mocks replace the AI assistant mock, the hero gets a grain backdrop (@paper-design/shaders) and a three-point free to self-host / 10 mailboxes / no card line instead of the long pricing paragraph, the How we differ section is removed, and a Discord glyph linking to dc.warmbly.com is added to the header, mobile menu and footer
2026-09-02 05:53:04 -07:00
Matthew Meszaros
2187af0470
fix(security): migrate site from Astro 5.18 to 6.4.8 (and @astrojs/mdx to 6, sitemap to 3.7.3) to clear CVE-2026-50146 and CVE-2026-54299; build verified, 35 pages
2026-06-28 06:21:16 +00:00
Matthew Meszaros
db832fa896
feat: add blog content collection on the Astro 5 content layer
...
Posts are markdown/MDX files under src/content/blog with a zod-validated
schema (title, description, pubDate, tags, optional cover, draft). All
listing surfaces read through getPublishedPosts() so draft filtering has
a single owner. @astrojs/mdx is pinned to ^4.x: the npm latest (v6)
requires Astro 6 and would break this tree.
2026-06-10 17:14:57 +02:00
Matthew Meszaros
379d2e8bb7
feat: declare motion dependency for the marketing site
...
site/src/pages/index.astro imports { animate, inView, stagger } from
'motion' for its scroll/entrance animations, but the package was never
declared in site/package.json. astro build (Site CI) therefore failed to
resolve the import (Rollup: failed to resolve import "motion"). Add
motion@^12.34.0 (matching web/) and sync site/pnpm-lock.yaml so the
frozen-lockfile install + build pass.
2026-06-01 06:05:21 +02:00
Matthew Meszaros
c9f2ae4a11
site: theme tokens, layout/header/footer, home page
2026-05-25 16:37:17 +00:00
Matthew Meszaros
45f51c2cbb
site: bootstrap site/ from warmbly-web (strip old content for redesign)
2026-05-25 16:29:37 +00:00