Skip to content

Add an extensions page that collects every TypeWhisper integration - #169

Merged
SeoFood merged 2 commits into
mainfrom
seofood/extensions-page
Oct 11, 2026
Merged

SeoFood merged 2 commits into
mainfrom
seofood/extensions-page

Conversation

@SeoFood

@SeoFood SeoFood commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Summary

New page /extensions/ (en and de) with every TypeWhisper integration and its install link. The Mac app can link to https://typewhisper.com/extensions and to #browser for the browser section.

Sections: Browser (Chrome and Firefox), Raycast, Stream Deck, MCP server, Pi, Command line. Each has an anchor (browser, raycast, stream-deck, mcp, pi, cli) and a chip index at the top. The copy follows the READMEs of the integration repos.

  • Install links live in src/lib/integrations.ts. chromeWebStoreUrl and firefoxAddonsUrl are null for now, so the browser rows show "Coming soon" and no link. Setting a URL makes its row a link.
  • The footer links the page in the Product group, after Add-ons ("Extensions" / "Erweiterungen").
  • LocalizedRedirect now keeps location.search and location.hash. Before, /extensions/#browser landed at the top of /en/extensions/ without the anchor. tests/social-card.spec.ts checks the new redirect line.
  • The MCP and Pi install commands use the existing CodeBlock island, so the route gets the code block messages in client-messages.ts.
  • The page is in the sitemap; check-i18n covers the new extensions.json chunks.

Test plan

npm run test:unit
npm run test:i18n
npx astro check
npm run build
npx playwright test tests/extensions.spec.ts
npx playwright test

/extensions/ lists the browser extension, Raycast, Stream Deck, the MCP
server, the Pi tools and the CLI with their install links, so the Mac app
can link to it (and to #browser for the browser section).

- Install links live in src/lib/integrations.ts. The Chrome Web Store and
  Firefox Add-ons URLs are null until the listings are live; the page then
  shows "Coming soon" instead of a link.
- The footer links the page in the Product group, after Add-ons.
- The unprefixed locale redirect keeps the query and the anchor, so
  /extensions/#browser lands on the browser section.
- The page hydrates code blocks, so client messages include their keys.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T13:22:43.596119Z 9c4480f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 27c27e54-b8ac-45de-8927-84c6c0aae615

📥 Commits

Reviewing files that changed from the base of the PR and between 408f452 and 3b7b56a.


📒 Files selected for processing (18)
  • scripts/check-i18n.mjs
  • src/components/LocalizedRedirect.astro
  • src/components/layout/footer.astro
  • src/i18n/client-messages.ts
  • src/i18n/locales/de/common.json
  • src/i18n/locales/de/extensions.json
  • src/i18n/locales/de/index.ts
  • src/i18n/locales/en/common.json
  • src/i18n/locales/en/extensions.json
  • src/i18n/locales/en/index.ts
  • src/lib/integrations.ts
  • src/pages/[locale]/extensions.astro
  • src/pages/extensions.astro
  • src/styles/utility.css
  • tests/client-messages.spec.ts
  • tests/extensions.spec.ts
  • tests/extensions.test.ts
  • tests/social-card.spec.ts

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📜 Recent review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: Website Checks

🔇 Additional comments (18)
src/lib/integrations.ts (1)

7-38: LGTM!


src/i18n/locales/en/extensions.json (1)

1-69: LGTM!


src/i18n/locales/de/extensions.json (1)

1-69: LGTM!


src/i18n/locales/en/index.ts (1)

13-13: LGTM!

Also applies to: 31-31


src/i18n/locales/de/index.ts (1)

13-13: LGTM!

Also applies to: 31-31


scripts/check-i18n.mjs (1)

20-20: LGTM!


tests/extensions.test.ts (1)

1-35: LGTM!


src/pages/[locale]/extensions.astro (1)

1-264: LGTM!


src/components/layout/footer.astro (1)

45-45: LGTM!


src/i18n/locales/de/common.json (1)

46-46: LGTM!


src/i18n/locales/en/common.json (1)

46-46: LGTM!


src/i18n/client-messages.ts (1)

51-52: LGTM!


src/styles/utility.css (1)

686-715: LGTM!


tests/client-messages.spec.ts (1)

210-210: LGTM!


tests/extensions.spec.ts (1)

1-79: LGTM!


src/pages/extensions.astro (1)

1-4: LGTM!


src/components/LocalizedRedirect.astro (1)

51-52: LGTM!


tests/social-card.spec.ts (1)

16-18: LGTM!



📝 Summary

Summary by CodeRabbit

  • New Features

    • Added a localized Extensions page featuring browser, Raycast, Stream Deck, MCP, Pi, and command-line integrations, with setup details and relevant links.
    • Added Extensions links to the footer in English and German.
  • Bug Fixes

    • Locale redirects now preserve the current query string and URL fragment, keeping links to specific sections intact.

Walkthrough

Adds an English and German extensions page listing six integration types, their descriptions, setup details, and links. It adds footer navigation, localized page content, and route-specific client messages. The unprefixed route preserves query strings and URL fragments during locale redirects.

Changes

Extensions page

Layer / File(s) Summary
Integration data and localized content
src/lib/integrations.ts, src/i18n/locales/{en,de}/extensions.json, src/i18n/locales/{en,de}/index.ts, scripts/check-i18n.mjs, tests/extensions.test.ts
Adds integration URLs, install commands, repository and package links, and MCP client configuration. Adds English and German integration copy, registers the translation bundles, requires the new locale chunk, and tests integration metadata.
Localized page and navigation
src/pages/[locale]/extensions.astro, src/components/layout/footer.astro, src/i18n/locales/{en,de}/common.json, src/i18n/client-messages.ts, src/styles/utility.css, tests/client-messages.spec.ts, tests/extensions.spec.ts, tests/extensions.test.ts
Renders localized integration sections, setup details, external links, and “Coming soon” rows. Adds footer navigation, route-specific code-block messages, section styling, and page coverage in English and German.
Locale redirect behavior
src/pages/extensions.astro, src/components/LocalizedRedirect.astro, tests/extensions.spec.ts, tests/extensions.test.ts, tests/social-card.spec.ts
Uses the localized redirect for the unprefixed route and preserves its query string and URL fragment. Tests cover the redirect and its browser-anchor behavior.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature


Merge Risk: ⚪ Minimal · up to 3b7b5

No merge-blocking issue is identified. Run the planned build and tests before merging.

Pre-merge checks | Passed 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly describes the primary change: adding an extensions page that collects TypeWhisper integrations.
Description check Passed The description directly explains the new localized extensions page, integration sections, links, redirect behavior, and test plan.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@SeoFood
SeoFood merged commit 00010bf into main Oct 11, 2026
3 checks passed
@SeoFood
SeoFood deleted the seofood/extensions-page branch October 11, 2026 14:48
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