fix(get.status.app): clean up remaining crypto source content#1244
Conversation
Addresses #1243: - terms-of-use metadata title/description overridden for get.status.app (drop 'P2P Chat App and Wallet' and 'decentralized software') - replace get-site Mobile_WalletFunction Cloudinary reference with a neutral Mobile_Assets_function asset - hide the Lokalise 'Help translate' link on get.status.app - homepage hero alt text drops 'wallet and' on get.status.app Co-authored-by: Felicio <felicio@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 9 Skipped Deployments
|
🦋 Changeset detectedLatest commit: a01c4bb The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
…loudinary sync workflow - Do not hand-edit generated assets/types.ts; revert those edits so the files stay in sync with Cloudinary (regenerated via pnpm sync:cloudinary) - Reference the reuploaded get.status.app/Mobile_Function asset (renamed from Mobile_WalletFunction) in the shared apps page - Revert the homepage hero alt change: that alt is generated from the shared Homepage/Hero/device-mockups-mobile Cloudinary metadata and cannot be diverged for get.status.app without a Cloudinary-side change
There was a problem hiding this comment.
Pull request overview
This PR is a follow-up cleanup for get.status.app to remove remaining crypto/wallet-related strings from page source by updating metadata, asset references, and UI elements, and by extending the source-content guard script.
Changes:
- Override
get.status.applegal pages (Terms of Use / Privacy Policy) to render from get-site MDX content and emit get-site-specific metadata (incl. OG image). - Replace the apps-page get-site mobile screenshot reference with the renamed Cloudinary asset (
Mobile_Function) and hide the “Help translate” (Lokalise) link onget.status.app. - Extend the
assert-clean-page-sourceblocked patterns and refresh Cloudinary asset typings / alt strings.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/status.app/src/app/(website)/page.tsx | Updates homepage hero mobile alt text to remove “wallet”. |
| apps/status.app/src/app/(website)/apps/page.tsx | Switches get-site mobile screenshot ID to Mobile_Function. |
| apps/status.app/src/app/(website)/_components/navigation/language-selector.tsx | Hides the Lokalise “Help translate” link on get-site. |
| apps/status.app/src/app/_components/assets/types.ts | Updates generated Cloudinary ID/alt unions (including hero mobile alt and screenshot size variants). |
| apps/get.status.app/src/app/[locale]/(website)/legal/terms-of-use/page.tsx | Implements get-site Terms of Use page + get-site-specific metadata override. |
| apps/get.status.app/src/app/[locale]/(website)/legal/privacy-policy/page.tsx | Implements get-site Privacy Policy page + get-site-specific metadata override. |
| apps/get.status.app/src/app/[locale]/(website)/legal/layout.tsx | Replaces shared legal layout import with a local layout implementation. |
| apps/get.status.app/src/app/[locale]/(website)/legal/_utils/get-site-og-image.ts | Adds helper for get-site OG image URL generation via Cloudinary loader. |
| apps/get.status.app/src/app/[locale]/(website)/legal/_utils/get-legal-document-content.ts | Adds server-only MDX loader for get-site legal documents from content/. |
| apps/get.status.app/src/app/_components/assets/types.ts | Updates generated Cloudinary ID/alt unions to include Mobile_Function and new hero alt. |
| apps/get.status.app/scripts/assert-clean-page-source.mjs | Blocks Mobile_WalletFunction (in addition to existing patterns). |
| apps/get.status.app/README.md | Updates docs to reflect get-site-specific content/legal (not a symlink). |
| apps/get.status.app/content/legal/terms-of-use.md | Adds get-site Terms of Use MDX content. |
| apps/get.status.app/content/legal/privacy-policy.md | Adds get-site Privacy Policy MDX content. |
| .changeset/spicy-donuts-clean.md | Records patch changesets for status.app and get.status.app. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## 3. User Content | ||
|
|
||
| On the Website you will be able to participate and contribute to discussions on the Website, through a forum or otherwise and further, submit and interact with various user content (" **User Content**"). We consider User Content to include anything you (or any other user) create, post, distribute or exchange through the Website, whether its text, links, GIFs, emoji, photos or any other media formats. |
|
|
||
| In addition to the above, Status utilises a third party provider (**"Hosting Provider"**) who hosts this Website and may automatically collect, process and store certain personal data that includes IP addresses, system configuration information, and other information about traffic to and from the Website, as well as (general) location information derived from such IP addresses. The personal information and the purpose for which it is collected by the hosting provider of this Website is set out in their privacy policy (with you, being referred to as the "End User"). We do note however the following: | ||
|
|
||
| - **IP addresses:** As part of the Hosting Provider' provision of hosting services to Status, they may also indirectly collect and process your IP address. They further utilise a third-party database to map the general location to which each IP address corresponds (**"Location Information"**). The Location Information that is mapped from an IP address is limited to country and city, however the precise location is not identifiable. The Hosting Provider uses this Location Information in order to more effectively provide their services to Status. |
| <Image | ||
| id="Homepage/Hero/device-mockups-mobile:1267:770" | ||
| alt="Status app showing wallet and messenger on devices" | ||
| alt="Status app showing messenger on devices" | ||
| width={1267} | ||
| height={770} |
| id: 'Platforms/Screens/Mobile Screens/New_Mobile_Communities:720:1600' | ||
| alt: 'Mobile app screenshot showing the community feature included in the Status app' | ||
| } | ||
| | { | ||
| id: 'Platforms/Screens/Mobile Screens/New_Mobile_Chat:750:1624' | ||
| id: 'Platforms/Screens/Mobile Screens/New_Mobile_Chat:720:1600' | ||
| alt: 'Mobile app screenshot showing the messenger feature included in the Status app' |
Cleaned up remaining crypto source content in get.status.app.
Summary
Follow-up to #1242, addressing the remaining crypto/wallet source-content cleanup items in #1243 for
get.status.app.view-source:https://get.status.app/legal/terms-of-use): overridegenerateMetadataon the get.status.app terms-of-use page so the title/description no longer emit crypto/wallet copy:Terms of Use Rules for Status P2P Chat App and Wallet→Terms of Use Rules for Status App…utilizing decentralized software…→…utilizing software…status.app's sharedSEO_OVERRIDESare left untouched.view-source:https://get.status.app/apps#desktop): reference the reuploadedget.status.app/Mobile_FunctionCloudinary asset (renamed fromMobile_WalletFunction) in the shared apps page. This removeswalletfrom both the rendered Cloudinary URL and the RSC source payload.isGetSite). It still renders onstatus.app.assert-clean-page-source.mjsguard with aMobile_WalletFunctionpattern.types.tsis generated — run the Cloudinary syncsrc/app/_components/assets/types.tsis generated from Cloudinary (context.custom.altmetadata) and must not be hand-edited. After theMobile_WalletFunction→Mobile_Functionreupload, the generated types should be refreshed by running the sync (requiresCLOUDINARY_API_KEY/CLOUDINARY_API_SECRET):The code compiles today because the mobile-screenshot array is already asserted
as ScreenshotImage[]; the sync just makestypes.tsreflect the renamed asset. Cloudinary credentials aren't available in the CI/agent environment, so this sync needs to be run by someone with access.Homepage hero alt (issue item, not yet applied)
Issue item:
Status app showing wallet and messenger on devices→Status app showing messenger on devicesonget.status.app.This alt is generated from the shared
Homepage/Hero/device-mockups-mobileCloudinary asset'saltmetadata, and the same asset/alt is used bystatus.app. The codebase contract requires the hardcodedaltprop to exactly match the generated (Cloudinary) value, so it can't be diverged for get.status.app in code alone. To apply it cleanly, one of:altmetadata in Cloudinary (also changesstatus.app), then sync; orget.status.app/-prefixed mobile hero asset with the desired alt and wire the get-site branch to it, then sync.Happy to implement (2) once the asset exists.
Testing
pnpm --filter get.status.app types:checkpasses (0 errors).turbo buildsucceeds for bothget.status.appandstatus.app.get.status.appHTML: terms title/description cleaned, apps page usesget.status.app/Mobile_Function(noMobile_WalletFunction), and no rendered Lokalise link.node apps/get.status.app/scripts/assert-clean-page-source.mjspasses.Fixes #1243