Skip to content

fix: the Donate button is no longer the only way to reach the support address - #78

Merged
donislawdev merged 1 commit into
mainfrom
fix/support-address
Sep 7, 2026
Merged

fix: the Donate button is no longer the only way to reach the support address#78
donislawdev merged 1 commit into
mainfrom
fix/support-address

Conversation

@donislawdev

Copy link
Copy Markdown
Owner

The address was on no screen at all

Pressing Donate asks the desktop to open the support page. On a machine with no
browser registered that quietly does nothing, and the silence is deliberate -
the comment beside OpenLink says there is nothing useful to say to somebody
who pressed a button out of curiosity, and no harm done, because the address is
on the About screen for anybody who wants to type it.

That last clause was false from the day the button was written. text.SupportURL
had exactly one use in the whole tree, as the button's destination, so it
appeared on no screen: a person whose desktop did nothing pressed Donate, saw
nothing happen, and had nowhere to go. The decision to stay quiet was sound and
rested on a fallback nobody had built.

About carries it now, under Support, on a line of its own so it can be copied in
one gesture, together with the sentence that until now was written for a tooltip
nothing ever showed.

Measured rather than estimated: exactly one stored screen went red, and
regenerating moved exactly two files. The language catalogue is generated from
the code and came back at 97 entries.

Two guards and two mutations, each reddening a different half - taking the
section away removes the address, and folding it into the sentence beside it
leaves it on screen without a line of its own.

Found by a scan, not by reading

The same scan reported definitions nothing names. Four go and eleven stay, and
the split is the point:

  • parts.SectionGap goes. Its own comment said it was kept because the recipe
    screen and the guards were written against that name, and neither names it any
    more.
  • opc.Size goes - an exported wrapper with no caller.
  • text.WritingFiles goes - the line under the bar is text.Progress now.
  • text.SectionBatches goes - a heading nothing draws.

The eleven unreferenced recipe keys stay, and the reason is written beside
them: that block is a vocabulary rather than a list of things in use. Five of the
eleven name settings this build refuses out loud, so a set holding only the keys
with a consumer today would be missing exactly the ones a refusal has to name.
Half a vocabulary is the shape the exhaustive linter is switched on to catch one
axis over.

Crowding thresholds keep their numbers and get their reason back

crowdingFileLines reads as three quarters of the ceiling and is 95% of it
today, because the ceilings came down and these did not follow. That is
deliberate and safe - the bands only tightened - but the comment had started to
read as a live ratio, which invites the next change to restore it. Re-deriving
the band from a lowered ceiling was measured in August and refused: it pulls in
seven files that did nothing and forces a crowd count up, the one direction these
numbers may not go. No number changed here, only the sentence.

Evidence

  • Full test set green with the build tags, 223 s.
  • preflight --quick green, all twelve checks.
  • Four mutations across the two new guards and the pair already here, all caught.
  • The stored About screen regenerated and read as words, not just as bytes.

🤖 Generated with Claude Code

… address

Pressing Donate asks the desktop to open the support page. A machine with no
browser registered quietly does nothing, and that silence is deliberate: there
is nothing useful to say to somebody who pressed a button out of curiosity, and
the comment beside OpenLink says so.

That decision rested on a fallback that did not exist. text.SupportURL had
exactly one use in the whole tree - the button's destination - so the address
appeared on no screen, and a person whose desktop did nothing had nowhere to go.
The About screen carries it now, under Support, on a line of its own so it can
be copied in one gesture, together with the sentence that until now was written
for a tooltip nothing ever showed.

Two guards and two mutations, each reddening a different half: taking the
section away removes the address, and folding it into the sentence beside it
leaves it on screen without a line of its own.

Also from the same scan of definitions nothing names:

  - parts.SectionGap goes. Its own comment said it was kept because the recipe
    screen and the guards were written against that name, and neither names it
    any more.
  - opc.Size goes. An exported wrapper with no caller.
  - text.WritingFiles goes. The line under the bar is text.Progress now.
  - text.SectionBatches goes. A heading nothing draws.

The eleven unreferenced recipe keys STAY, and the reason is now written beside
them: that block is a vocabulary rather than a list of things in use, and five
of the eleven name settings this build refuses out loud, so a set holding only
the keys with a consumer today would be missing the ones a refusal has to name.

The crowding thresholds keep their numbers and gain the reason they had lost:
they are a starting point rather than a live share of the ceiling, and
re-deriving them from a lowered ceiling was measured and refused in August.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@donislawdev
donislawdev merged commit 0fca2a6 into main Sep 7, 2026
18 checks passed
@donislawdev
donislawdev deleted the fix/support-address branch September 7, 2026 10:09
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