Skip to content

revert(account): drop the "make main" consequence notes entirely - #175

Merged
guarzo merged 1 commit into
mainfrom
worktree-main-change-notes-collapse
Aug 8, 2026
Merged

revert(account): drop the "make main" consequence notes entirely#175
guarzo merged 1 commit into
mainfrom
worktree-main-change-notes-collapse

Conversation

@guarzo

@guarzo guarzo commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Reported from a real 13-character account: the crew manifest was followed by a wall of near-identical prose.

Aiga Otsolen: Alliance standing not checked yet — setting as main means your tier follows whatever the next check finds.
Amelio Pellion: Not in the alliance right now — setting as main moves your tier to Green once the next check runs, and standings and map access follow it.
Astrella Esubria: Not in the alliance right now — setting as main moves your tier to Green once the next check runs, and standings and map access follow it.
… (13 paragraphs, 11 of them byte-identical after the name prefix)

previewMainChange has three outcomes, so the sentence has three possible values — but the page emitted one paragraph per non-main character. The code comment claiming "up to nine of them can apply at once" understated the ceiling, which is really the crew size.

Collapsing the duplicates into three grouped paragraphs was the obvious fix and the wrong one. The sentence is noise regardless of how it is formatted: it describes a hypothetical press of a button the member is not pressing, on a character that is not their main. It also landed directly on top of three consecutive density rounds (#169, #173, #174) whose entire purpose was reclaiming fold space.

What is removed

  • src/app/account/page.tsx — the mainChangeNotes derivation, the .table-notes render block, mainChangeNoteId, and the per-button aria-describedby. The aria-label ("make main") is untouched, so the control keeps its accessible name.
  • src/services/accounts.tsgetMainChangeContext, the page-load query that only ever backed this. /account's parallel read burst goes from four concurrent connections back to three, against a pool of max = 5.
  • src/core/tier.tspreviewMainChange and MainChangePreview. decideTier is untouched — that is the rule the membership job actually runs on.
  • src/app/globals.css — the .table-notes container rules, now dead. .table-note (singular) stays; the contact-remedy sub-row still uses it.
  • Tests for the two removed functions.

One test change worth a look

e2e/account.spec.ts asserted .table-notes [id^="contact-remedy-"] has count 0. With .table-notes gone that passes vacuously — a false-positive trap. It now counts the remedy element directly.

Verification

Command Result
npm run format:check All matched files use Prettier code style!
npm run lint clean
npm run typecheck clean
npm test Test Files 83 passed (83) / Tests 1281 passed (1281)
npx playwright test e2e/account.spec.ts 52 passed (3.0m)

code-reviewer reviewed the diff: no findings. No migration, no persisted data, no secret handling, no worker path touched — this is a pure subtraction.

Sweep item #6 put one paragraph per non-main character under the crew
manifest, explaining what pressing "make main" would do to the account's
tier. But `previewMainChange` has only three outcomes, so the text has
only three possible values — on a real 13-character account it rendered
as thirteen paragraphs, eleven of them byte-identical after the name
prefix. The comment claiming "up to nine of them can apply at once"
understated it; the real ceiling is the crew size.

Collapsing the duplicates was the obvious fix and the wrong one. The
sentence is noise on a row nobody is acting on: it describes a
hypothetical press of a button the member is not pressing, on a
character that is not their main, and it landed directly on top of three
rounds of density work (#169, #173, #174) whose whole point was
reclaiming fold space.

So the feature comes out rather than getting reformatted — including the
per-page `getMainChangeContext` query that only ever backed it, which
takes /account's parallel read burst from four connections back to
three, and `previewMainChange` in core, whose only consumer this was.
`decideTier`, which the membership job actually runs on, is untouched.

The e2e assertion that scoped to the removed `.table-notes` container
would have passed vacuously afterwards; it now counts the contact-remedy
element directly.
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a8b06ed3-5229-416d-aec8-0dbdd4027c54

📥 Commits

Reviewing files that changed from the base of the PR and between f4751a8 and c57f6de.

📒 Files selected for processing (7)
  • e2e/account.spec.ts
  • src/app/account/page.tsx
  • src/app/globals.css
  • src/core/tier.ts
  • src/services/accounts.ts
  • tests/accounts.test.ts
  • tests/tier.test.ts

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

@guarzo
guarzo enabled auto-merge (squash) August 8, 2026 02:32
@guarzo
guarzo merged commit 7984c14 into main Aug 8, 2026
7 checks passed
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