1128 Commits

Author SHA1 Message Date
Teetow
3520b39286 Merge: dependency security hygiene (38 -> 6 advisories) 2026-05-27 22:59:27 +02:00
Teetow
be78a5fd73 chore(deps): cut security advisories 38 -> 6
Non-breaking dependency hygiene on a static site (all flagged packages are
build/dev-time tooling):

- bun update for in-range bumps (astro 5.17 -> 5.18, @astrojs/check, sitemap,
  prettier, lint-staged, etc.).
- overrides pinning patched, same-major versions of transitive deps:
  defu, devalue, fast-uri, h3, mdast-util-to-hast, postcss, rollup, smol-toml,
  svgo, tar, undici, vite, yaml.

Clears every high-severity advisory that had a clean in-major fix. Verified
with astro build, the unit suite, and the Playwright E2E suite (all green).

Remaining 6 are non-exploitable here and need the Astro 6 / Tailwind 4 major
migration (deferred): picomatch (build-time glob ReDoS, trusted patterns) and
two Astro advisories that don't apply (define:vars uses static config; no
server islands; static output).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 22:59:23 +02:00
Teetow
973136ec27 Merge: Confluence campaign promos + critical-path E2E suite
Make the Confluence promo calendar the single source of truth for partner
campaign promos (bun run pull-campaigns -> campaigns.ts), keep site-owned
promos in firstParty.ts, and add a lean Playwright E2E suite covering the
front page, downloads, and the promo banner date-window logic.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 19:01:16 +02:00
Teetow
7ac0c48493 test: add lean critical-path E2E suite (Playwright)
Cover the three flows that must never silently break:

- front page: hero + real Windows installer link, release video, nav.
- downloads: /download OS targets, and real Windows/macOS installer links on
  the per-OS pages.
- promo banner: fake the browser clock to prove the date-window logic holds —
  an active campaign banner renders inside its window and disappears the day
  after it ends. Data-driven from campaigns.ts so it survives future pulls.

Setup: playwright.config.ts runs against `bun run dev`; `bun test` is scoped to
src/scripts so it ignores the .spec.ts files; e2e artifacts gitignored (and the
stale tracked test-results/ untracked).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:56:39 +02:00
Teetow
44c93868cc feat: pull campaign promos from Confluence
Make the Confluence "Promo Calendar" page the single source of truth for
MuseHub partner campaign promos, and reshape the promo data layer around a
clear superset/subset split:

- promos (umbrella) = campaigns (Confluence-sourced, time-boxed) + first-party
  (hand-authored, evergreen).
- `bun run pull-campaigns` (scripts/pull-campaigns.ts) fetches the page,
  deterministically extracts the calendar table (URLs preserved verbatim),
  resolves year-less date ranges, keeps only active/upcoming promos, maps them
  to typed PromoData, validates every emitted URL traces back to source, and
  writes src/assets/data/promos/campaigns.ts. Opt-in --clean-copy runs an LLM
  pass that may only tidy copy text. Never commits or pushes.
- Site-owned promos (audio.com exit popup, Audacity 4 alpha/video, survey) move
  to src/assets/data/promos/firstParty.ts.
- Delete legacy banners.ts / videos.ts / popups.ts; promotions.ts now merges
  firstParty + campaign promos only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 17:24:03 +02:00
Teetow
67dd7efba6 fix: disable musehub-badge experiment 2026-05-26 08:07:24 +02:00
Teetow
00800b2e97 fix: update survey link in redirects 2026-05-25 16:08:28 +02:00
DilsonsPickles
99059cca6f Merge pull request #78 from audacity/au4-beta-page
copy: tighten deprecated features copy
2026-05-20 17:32:35 +10:00
Mudskipper
a9752d0efa copy: clarify plugin format platform support
AudioUnits are macOS-only; Nyquist and VST3 are the cross-platform formats.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 17:31:46 +10:00
Mudskipper
1407a88393 copy: tighten deprecated features copy
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 17:27:26 +10:00
DilsonsPickles
2b8ab375ca Merge pull request #77 from audacity/au4-beta-page
Audacity 4 beta page at /next. Chocks away!
2026-05-20 16:10:48 +10:00
Mudskipper
3a0d310582 chore: remove duplicate beta screenshots from public
These now live in src/assets/img/beta and ship via astro:assets, so the
copies in public/ are unused.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:45:23 +10:00
Mudskipper
1b9c8cc13c refactor: use astro:assets Image for beta page screenshots
Moves the five beta screenshots into src/assets/img/beta and renders
them with Astro's Image component so they get optimized output, baked
dimensions, and async decoding instead of plain <img> from /public.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:44:25 +10:00
Mudskipper
61c0c27446 chore: remove unused lead-in screenshot
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:36:16 +10:00
Mudskipper
6206c9697c feat: refresh Audacity 4 beta page with real imagery and copy
Adds webp screenshots for the four hero feature cards (envelope, label
tracks, spectral editing, cloud projects) and the page hero. Drops the
old placeholder png. Reworks the secondary feature list with new icons
and copy, restructures sections, and adds the "How we're building
Audacity 4" video under "While you wait".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:35:22 +10:00
Teetow
c36ccd7261 feat: remove experiment tracking from MuseHub download button 2026-05-19 19:04:37 +02:00
Teetow
a3346c51ed feat: implement binary download tracking for download buttons and update event tracking 2026-05-19 18:11:06 +02:00
Mudskipper
edac41483a feat: draft Audacity 4 beta page at /next
Activates the beta pre-release entry with no binaries yet so /next shows a
"coming soon" page. Rewrites BetaDetails with new copy, hero image, and
sections for what's new, what's not coming over, and a while-you-wait link
to the Alpha 2 release.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 22:30:35 +10:00
Teetow
94b5aad28f feat: enhance download buttons with OS-specific links and experiment variants 2026-05-19 12:38:11 +02:00
Teetow
0c77697379 feat: add musehub-badge A/B/C experiment
Test two MuseHub badge designs against the existing yellow CTA. Linux
stays on the control button since MuseHub doesn't ship on Linux. Adds
?ab= query-string override to force a variant for QA.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 07:24:52 +02:00
Teetow
1f86530c66 feat: add SOAP Voice Clean & Capture banner promo 2026-05-11 16:58:39 +02:00
Teetow
477e98906e feat: restructure footer and add showInFooter feature links
- Add showInFooter flag to FeatureEntry; tag relevant features
- Add compressor and speed-changer entries to features list
- Rename change-pitch shortTitle to 'Pitch Changer'
- Restructure footer into multi-column grid (Links, Features, Downloads)
- Footer Features column renders only flagged entries
2026-04-30 11:55:16 +02:00
Teetow
9522523ae8 refactor: replace inline kbd shortcuts with Shortcut component
Replace platform-specific <code>Ctrl+X</code> / <code>Cmd+X</code> patterns
across feature pages with the new OS-aware <Shortcut> component.
2026-04-30 11:55:07 +02:00
Teetow
ecf9ead614 feat: add OS-aware Shortcut and OsToggle components
- Add Shortcut.astro: renders kbd shortcuts with auto-derived Mac variants
- Add OsToggle.astro: pill toggle to switch win/mac shortcut display
- Wire OS detection script into BaseLayout before first paint
- Inject OsToggle into FeaturePageLayout prose area
- Add .shortcut-win/.shortcut-mac CSS to toggle correct variant
2026-04-30 11:55:01 +02:00
Teetow
560e39d27c feat: add distortion effect landing page (AUDIO-4672) 2026-04-28 07:49:33 +02:00
Teetow
1a926e4388 feat: add delete audio landing page (AUDIO-4664) 2026-04-28 07:49:25 +02:00
Teetow
dcb0fdd8b6 feat: add AI transcription landing page (AUDIO-4663) 2026-04-28 07:49:16 +02:00
Teetow
a359923e2d feat: add reverb effect landing page (AUDIO-4662) 2026-04-28 07:49:09 +02:00
Teetow
603db8af21 feat: add split audio landing page (AUDIO-4661) 2026-04-28 07:48:59 +02:00
Teetow
1d07c534f6 feat: add trim audio landing page (AUDIO-4669) 2026-04-28 07:40:34 +02:00
Teetow
6ff183445a feat: add reverse audio landing page (AUDIO-4668) 2026-04-28 07:39:03 +02:00
Teetow
4096bce8c4 feat: add cut audio landing page (AUDIO-4666) 2026-04-28 07:37:08 +02:00
Teetow
3d86605aaf test(promos): add unit tests for isPromoDateActive date range logic
Make today injectable via optional parameter for deterministic testing.
2026-04-28 07:12:34 +02:00
Teetow
427dbe12c8 feat(promos): add Audacity Explained banner campaign (Apr 29 – May 13) 2026-04-28 07:10:15 +02:00
Teetow
f73559b973 feat(promos): add client-side date range filtering for promotions
- Add startDate/endDate fields to PromoData type
- Extract isPromoDateActive helper, evaluated at runtime in the browser
- Remove date check from getFilteredPromos (build-time safe)
- Apply isPromoDateActive in PromoBanner and ExitIntentPopup
- Tag speakerDiarizationPro banner with Apr 14–28 2026 campaign dates
2026-04-28 06:39:38 +02:00
DilsonsPickles
e287e05c0d Merge pull request #76 from audacity/banner-button-fix
Prevent banner button text wrapping and add horizontal padding
2026-04-22 22:05:06 +10:00
DilsonsPickles
558cbb2af2 Merge pull request #75 from audacity/footer-fix
Repair footer grid layout
2026-04-22 22:03:59 +10:00
Mudskipper
f1ed5581fc fix: prevent banner button text wrapping and add horizontal padding
Add whitespace-nowrap to the CTA button so text like "Get it on MuseHub"
doesn't wrap at narrow viewports. Add px-4 to the banner container so
content doesn't touch the edges of the page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 22:01:16 +10:00
Mudskipper
ea6495c40e fix: repair footer grid layout so Links, Downloads, Social are separate columns
The Downloads and Social sections were accidentally nested inside the Links
list item, causing them to stack in a single column instead of appearing in
their own grid columns. Also improved responsive spacing: single column on
mobile, evenly spaced at md, and side-by-side at lg.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 21:57:06 +10:00
Teetow
0074ce38d6 fix: disable musehub-download experiment 2026-04-22 11:00:37 +02:00
DilsonsPickles
5782bfab1b Merge pull request #74 from audacity/heat-mapping
Integrated heat mapping
2026-04-16 16:25:56 +10:00
Mudskipper
688af24760 chore: remove unconditional Clarity integration, add plan doc 2026-04-16 14:47:55 +10:00
Mudskipper
9cb6db0ba2 docs: update cookie policy with Microsoft Clarity cookies
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 14:05:44 +10:00
Mudskipper
9e4efd65c7 feat: inject Clarity when user accepts cookie consent 2026-04-16 13:57:19 +10:00
Mudskipper
449b23fc49 feat: inject Clarity on page load for consented users 2026-04-16 13:57:07 +10:00
Mudskipper
ac6d84bb09 feat: add Clarity injection utility 2026-04-16 13:56:55 +10:00
Teetow
a96244cdc7 feat: A/B test for direct Audacity download vs MuseHub wrapper
Adds musehub-download experiment (50/50). Variant B swaps primary
download buttons to GitHub installers and hides MuseHub-specific
UI. Retires nav-logo experiment.
2026-04-14 17:53:08 +02:00
Teetow
e94a20e228 Merge ab-test-support into main 2026-04-14 16:47:37 +02:00
Teetow
1e13c269cb feat: add Speaker Diarization Pro banner and deactivate Trinity EQ 2026-04-14 13:45:36 +02:00
Teetow
fb17fc575d chore: gitignore deno.lock and .vscode/settings.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 11:35:58 +02:00