maniator / maniator/verticopolis

[P2] Return the Help privacy copy to present tense when a desktop artifact ships

Open
#807 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Recorded by the party ruling on the Help privacy copy (PR #802). This is a scheduled revert, not a defect.

What is conditional today, and why

helpPrivacyBody() in src/ui/templates/helpContent.ts ships in the WEB build and is read by players who can only play in a browser. An earlier draft described the desktop edition in the present tense, which was false twice over: no desktop artifact existed that a reader could obtain, and the shell cancels the ingest request anyway (onBeforeRequest allows only app://game, and the injected CSP is connect-src 'self'), so the counts it claimed were crossing the internet were not being sent at all.

The paragraph now states the rule rather than the product:

Today Verticopolis runs in your browser, and that is the only edition you can play. In a browser there is no consent banner, because nothing that identifies you is kept. A packaged edition would be different: it runs from your own machine rather than from a page we serve, so its counts would have to travel across the internet to our site. Any edition we package that way asks on the first launch, before it counts anything, and the switch then lives in Settings, under Privacy.

That is true today and true the day an installer ships, and it announces nothing.

What has to change, and when

Trigger: the first desktop artifact distributed to anyone outside the repository, playtest builds included. Merging a stage does not make the sentence true; handing somebody a binary does. This is deliberately the same trigger as #806 (the public /privacy page).

The change: once a packaged edition genuinely exists and its shell permits the send, the conditional wording ("Today Verticopolis runs in your browser, and that is the only edition you can play", "A packaged edition would be different", "would have to travel") becomes understatement, and should return to present tense describing what the desktop app actually does.

Do not simplify either conditional before then

The same paragraph carries TWO edition-conditionals pointing in opposite directions, and a future editor who notices only one will tidy the other away as inconsistent:

  1. The packaged edition sends counts a browser does not (the gameplay counts crossing the internet, quoted above).
  2. A browser sends page metrics a packaged edition does not: "In a browser, the page we serve also sends anonymous page-visit counts and page performance metrics; a packaged edition sends neither." This exists because injectVercelTelemetry refuses every wrapped build, so a consented desktop session emits no page-visit counts and no Web Vitals at all. An automated reviewer caught the unscoped version claiming otherwise.

Both are pinned by tests in src/helpPage.test.ts, including negative pins on the retired wording, so a revert has to be deliberate rather than accidental.

Also revisit at the same moment

The CHANGELOG line announcing the desktop consent flow was dropped from PR #802 for the same reason (the web deploy surfaces release notes, so it would have announced an experience nobody could run). It should be reintroduced in the release that actually ships the desktop artifact.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Wait for the first desktop artifact to be distributed and for its shell to permit sending, then read src/ui/templates/helpContent.ts and the pinned cases in src/helpPage.test.ts. Revisit the conditional privacy wording and restore the related CHANGELOG entry in that release; done means both edition-specific statements and their tests describe the shipped behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.