Improve docs site i18n, CI, and infrastructure hygiene - #1
Conversation
- Add GitHub Actions workflow for typecheck and build - Localize AppearanceMenu and download UI for hi/bn/pt/ru/ur - Localize footer links per locale; add GitHub social link - Fix stub page labels in hi/bn/pt/ru/ur guides - Add nginx security headers, typecheck script, and Vue TS shim - Remove tracked Playwright CLI artifacts; update .gitignore and README Co-authored-by: Asim Awdah <contact@asimawdah.com>
Co-authored-by: Asim Awdah <contact@asimawdah.com>
Co-authored-by: Asim Awdah <contact@asimawdah.com>
…faq, sharing, import-export Co-authored-by: Asim Awdah <contact@asimawdah.com>
…aq, sharing, import-export Replace stub pages with full translations from English sources. Keep code blocks, SVG paths, and relative links unchanged. Co-authored-by: Asim Awdah <contact@asimawdah.com>
Co-authored-by: Asim Awdah <contact@asimawdah.com>
Complete 357-line CLI guide translations for the five remaining locales. All locales now have full CLI documentation matching EN/AR/zh/es/fr. Co-authored-by: Asim Awdah <contact@asimawdah.com>
Translate legal/commercial pages (pricing, privacy, terms) for zh, es, fr, hi, bn, pt, ru, ur. Blog links in pricing point to English posts where localized blog articles do not exist. Co-authored-by: Asim Awdah <contact@asimawdah.com>
Add full translations of all 7 blog articles for zh, es, fr, hi, bn, pt, ru, and ur (56 new posts). Wire BlogList and sidebar to locale-specific posts via blogPosts.ts; remove English blog fallback redirect in Layout. Update pricing blog links and blog index intros per locale. Co-authored-by: Asim Awdah <contact@asimawdah.com>
Add sync-release-urls script that maps latest release assets to download catalog variants by filename. Runs automatically before build; falls back to in-page anchors when no release or asset exists yet. Co-authored-by: Asim Awdah <contact@asimawdah.com>
| async function main() { | ||
| try { | ||
| const release = await fetchLatestRelease() | ||
| emitTs(release) |
There was a problem hiding this comment.
404 sync clears committed URLs
High Severity
When the GitHub latest-release request returns 404, sync-release-urls still writes releaseUrls.generated.ts with an empty RELEASE_ARTIFACT_URLS map. prebuild and CI run this before every build, so a inaccessible or missing release overwrites previously committed artifact URLs and the built site loses live download links while CI still passes.
Reviewed by Cursor Bugbot for commit 2093e41. Configure here.
Unify GitHub Releases and app store URL sync under sync-download-urls. All store channels (including Google Play) now default to in-page guide anchors; flip live/ids in store-urls.config.json when published. Co-authored-by: Asim Awdah <contact@asimawdah.com>
- Add stable {#free-vs-openkey-pro}, {#lan-pro-attestation}, and
{#reporting-vulnerabilities} anchors across locales
- Expand download guides (zh/es/fr/hi/bn/pt/ru/ur) with platform sections
matching catalog anchor IDs
- Localize HomeSections on hi/bn/pt/ru/ur index pages
- Add per-locale installSteps in download copy; store labels for ar/zh
- Add reporting section to hi/bn security guides
- Update README and changelog to reflect current coverage
Co-authored-by: Asim Awdah <contact@asimawdah.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.
There are 4 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 725b799. Configure here.
| - أبلغ عن الثغرات بخصوصية — انظر [الإبلاغ عن الثغرات](#الإبلاغ-عن-الثغرات). | ||
|
|
||
| ## الإبلاغ عن الثغرات | ||
| ## الإبلاغ عن الثغرات {#reporting-vulnerabilities} |
There was a problem hiding this comment.
Security hash links broken
Medium Severity
Adding {#reporting-vulnerabilities} on the reporting heading overrides VitePress’s locale slug, but the checklist bullet above still links to the old fragment (e.g. #informar-vulnerabilidades). That in-page jump no longer reaches the reporting section.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 725b799. Configure here.
|
|
||
|
|
||
| ## Gratis frente a OpenKey Pro | ||
| ## Gratis frente a OpenKey Pro {#free-vs-openkey-pro} |
There was a problem hiding this comment.
Free Pro anchor breaks links
Medium Severity
Headings now use {#free-vs-openkey-pro}, but many locale guides and blog posts still link to old auto-slugs like #gratis-frente-a-openkey-pro or #gratuit-vs-openkey-pro. Those deep links no longer scroll to the Free vs Pro section.
Reviewed by Cursor Bugbot for commit 725b799. Configure here.
| 1. Create or unlock a vault with a strong master password ([App](./app)). | ||
| 2. Optional: point **Settings → Data → Self-hosted server** at your API URL and sync. | ||
| 3. Optional (Pro): pair devices with **Nearby** for LAN vault sync without a server — [Nearby](./nearby). | ||
| 4. On desktop: connect the [extension](./extension) via Autofill / Browser extension settings. |
There was a problem hiding this comment.
Locale download pages show English
Medium Severity
While expanding anchored download guides, several non-English locales replaced translated paragraphs with English boilerplate (desktop autofill note, packaging README line, extension steps, server table headers, and “After install” steps). Readers on those locale URLs see mixed or all-English install guidance.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 725b799. Configure here.
Improve docs site i18n, CI, and infrastructure hygiene


Summary
Continues docs-site fixes from the gap review:
Anchor fixes
{#free-vs-openkey-pro},{#lan-pro-attestation},{#reporting-vulnerabilities}across pricing, app, nearby, security, and legal pagesDownload guides
#windows-x64,#android-play, etc.) so thank-you / install-note deep links workUI i18n
HomeSectionson hi/bn/pt/ru/ur home pagesinstallStepsin download copy (all 10 locales)channelsNotefor es/frDocs
Test plan
npm run typechecknpm run buildStill open (follow-up)