Skip to content

feat(blog): add share-a-recording post - #107

Merged
wavekat-eason merged 4 commits into
mainfrom
feat/share-recording-post
Jun 28, 2026
Merged

feat(blog): add share-a-recording post#107
wavekat-eason merged 4 commits into
mainfrom
feat/share-recording-post

Conversation

@wavekat-eason

Copy link
Copy Markdown
Contributor

Adds a blog post on WaveKat Voice's "share a call recording by link" feature (shipped in 0.0.41), fully localized into all nine site languages, plus the screenshots that illustrate it and two supporting fixes.

What's here

  • The post (share-a-call-recording.md) — the three access tiers (Private default → Specific people → Anyone with the link), the per-recipient visibility controls, the public-share guardrail, the cloud requirement, the recipient viewer, and the CLI. Grounded in the shipped in-app strings.
  • Nine languages — en, zh-Hans, zh-Hant, ja, ko, de, es, fr, it. Each uses that locale's real in-app share strings so the prose matches its screenshot; registered in i18n.ts (fullSite) so hreflang, sitemap, and the language switcher cover all nine.
  • Screenshots (public/screenshots/share-sheet/*, share-viewer/*) — the Mac-framed Share panel (from wavekat-voice) and the recipient's web viewer (from wavekat-platform). sync-screenshots.js now pulls from both repos (per-scene source + frame) and updates non-destructively.
  • Each intro links "0.0.41" to that locale's changelog at a new per-release anchor.

Supporting fixes

  • Lossless version anchors (astro.config.mjs) — a scoped rehype plugin gives X.Y.Z headings an id equal to the literal version, so /voice/changelog/#0.0.41 works (github-slugger stripped the dots to 0041, which also collides: 0.1.41/0.14.10141).
  • scroll-padding-top: 4rem so anchor jumps land with breathing room.

Verification

  • astro build clean; check:links ✓ (132 pages); check:screenshots ✓ (45/45).
  • hreflang reciprocal across all nine; changelog emits id="0.0.41" with no duplicate version ids.

Depends on the screenshot-source PRs (wavekat-voice#demo-share-scene, wavekat-platform#share-viewer-screenshots) for regenerating the shots, but the committed WebPs make this PR self-contained for the site build.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CSftCP42JgVT55nBe5YYxB

wavekat-eason and others added 4 commits June 28, 2026 19:53
Cover WaveKat Voice's new "share a call recording by link" feature
(shipped 0.0.41): the three access tiers, per-recipient visibility
controls, the public-share guardrail, the cloud requirement, the
recipient viewer, and the CLI surface. Grounded in the shipped UI
strings. English only — the 9-language i18n pass is a follow-up.

Screenshots, two sources:
- share-sheet (client): macOS-framed Share panel, from wavekat-voice's
  new demo scene. Mac frame here (the CLI post stays Ubuntu).
- share-viewer (platform): the recipient's web viewer, from
  wavekat-platform's new Playwright pipeline.

sync-screenshots.js now pulls from both repos (per-scene source + frame)
and updates non-destructively, keeping committed shots whose source
isn't checked out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSftCP42JgVT55nBe5YYxB
Add zh-Hans, zh-Hant, ja, ko, de, es, fr, it translations of the
share-a-recording post, each using that locale's real in-app share
strings (tier names, recipient-visibility controls, the public-share
warning) so the prose matches the localized screenshot, with
locale-prefixed internal links and the per-locale screenshot.

Register the post in fullSite so hreflang, the sitemap, and the
language switcher cover all nine locales. Each intro now notes the
feature shipped in WaveKat Voice 0.0.41, linked to that locale's
changelog. Also trim the search-indexing claims from the copy and fix
the recipient-viewer layout description.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSftCP42JgVT55nBe5YYxB
github-slugger strips the dots from version headings, so `0.0.41`
became `#41` — ugly and collision-prone (`0.1.41` and `0.14.1` both
reduce to `0141`). Add a scoped rehype plugin that gives headings whose
text is exactly an X.Y.Z version an id equal to the literal version, so
pages can deep-link a release at `/voice/changelog/#0.0.41`. Every
other heading keeps its normal slug.

Point the share-a-recording posts (all nine locales) at the new
per-release anchor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSftCP42JgVT55nBe5YYxB
Add scroll-padding-top: 4rem so anchor targets (the changelog's
/voice/changelog/#0.0.41, docs TOC links) land with breathing room
instead of flush against the viewport top or under the fixed language
banner.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSftCP42JgVT55nBe5YYxB
@github-actions

Copy link
Copy Markdown
Contributor

@wavekat-eason
wavekat-eason merged commit 661ca7d into main Jun 28, 2026
2 checks passed
@wavekat-eason
wavekat-eason deleted the feat/share-recording-post branch June 28, 2026 08:36
wavekat-eason pushed a commit that referenced this pull request Jun 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.0.37](wavekat-com-v0.0.36...wavekat-com-v0.0.37)
(2026-06-28)


### Features

* **blog:** add share-a-recording post
([#107](#107))
([661ca7d](661ca7d))
* **voice:** surface CLI automation and multilingual
([#104](#104))
([857d4d0](857d4d0))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant