Skip to content

The logo credits its author; package.json is the version's one source - #137

Merged
thethinkmachine merged 2 commits into
mainfrom
feat/logo-byline-and-version-source
Oct 4, 2026
Merged

thethinkmachine merged 2 commits into
mainfrom
feat/logo-byline-and-version-source

Conversation

@thethinkmachine

Copy link
Copy Markdown
Owner

The logo

Hovering or focusing the logo shows by Shreyan Chaubey under the wordmark, a miniature of the About dialog's header. Clicking it opens About.

  • Nothing beside the logo moves. The byline hangs out of flow and only transforms and opacity change, so the tab strip stays put.
  • The reveal waits 60 ms, so a pointer passing over doesn't make it flicker. Hover is gated on (hover: hover), so on a touch screen a tap goes straight to About.
  • Reduced motion keeps the fade and drops the movement. The focus ring wraps both lines.
  • The byline and About's credit share .logo-author, now in the sans face.

One description, one author

  • About's blurb, the README tagline, the package description and a new <meta name="description"> are one line: An IDE for designing, simulating and analysing automata and formal languages.
  • The package author is Shreyan Chaubey, and build.copyright states the LICENSE's notice. Until now the installers showed "Shreyan C".
  • On macOS the app menu's About opens the app's dialog, as the Help menu's already did, instead of Electron's stock panel.

The version

The tags reached v3.1.3 while the repository said 2.9.0, because the release workflow set the version on the build machine and never committed it. So the website's About and the README's citation named a release four minor versions old.

  • package.json, the lockfile, CITATION.cff and both README citations now say 3.1.3.
  • scripts/sync-version.mjs is npm's version hook: npm version x.y.z bumps, syncs the citations, commits and tags in one step. Then git push --follow-tags.
  • tests/version.test.js fails when a citation disagrees with package.json.
  • The release workflow refuses a tag that doesn't match package.json before building anything, and no longer rewrites the version on the build machine.

Testing

  • npm test: 2815 pass, 0 fail. npm run build succeeds.
  • The header checked in headless Chromium, light and dark: at rest, hovered and focused. Clicking opened About, and closing it returned focus to the logo. The logo's box and the tab strip measured the same at rest and on hover.
  • npm version 3.1.4, tried in a throwaway repo, made one commit with package.json, the lockfile, CITATION.cff and the README, tagged v3.1.4, and left the tree clean.
  • Not tried: the desktop app itself, including the macOS About. The tag check will first run on the next release.

Hovering or focusing the logo shows "by Shreyan Chaubey" under the wordmark,
a miniature of the About dialog's own header, and clicking it opens About.
The byline hangs out of flow and only transforms and opacity move, so the
tab strip beside the logo never shifts. The reveal waits 60ms so a passing
pointer does not flicker it, hover is gated on (hover: hover) so a tap on a
touch screen goes straight to About, and reduced motion keeps the fade
without the movement. The byline and About's credit share .logo-author, now
in the sans face.

The rest makes the app describe itself one way everywhere:

- About's blurb, the README tagline, the package description and the page's
  new meta description are one line: "An IDE for designing, simulating and
  analysing automata and formal languages."
- The package author is "Shreyan Chaubey", and build.copyright states the
  LICENSE's notice, so the installers stop saying "Shreyan C".
- On macOS the app menu's About opens the app's dialog, as the Help menu's
  already did, rather than Electron's stock panel.

tests/markup.test.js pins the logo to openAboutModal and the byline, the
About credit and the aria label to one name.
Releases took their version from the tag alone: the workflow rewrote
package.json on the runner and never committed it. The tags reached v3.1.3
while the repository still said 2.9.0, so the website's About, `automata
--version` from source, CITATION.cff and the README's citations all named a
release four minor versions old.

- package.json, the lockfile, CITATION.cff and both README citations say
  3.1.3, the latest release.
- scripts/sync-version.mjs copies package.json's version into the citations.
  It is npm's `version` hook, so `npm version x.y.z` bumps, syncs, commits and
  tags in one step.
- tests/version.test.js fails when a citation disagrees with package.json, or
  when one can no longer be found.
- The release workflow checks the tag against package.json and the citations
  before it builds anything, and no longer rewrites the version on the runner.

CLAUDE.md documents the release command and drops its note about
exportOpenSamples, which no longer exists.
Copilot AI balanced review requested due to automatic review settings October 4, 2026 04:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@thethinkmachine
thethinkmachine merged commit bc8b010 into main Oct 4, 2026
18 checks passed
@thethinkmachine
thethinkmachine deleted the feat/logo-byline-and-version-source branch October 4, 2026 04:34
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.

2 participants