Skip to content

Fix the profiles crash, the subcommand usage line and a strict startup check - #105

Merged
AdamXweb merged 1 commit into
mainfrom
fix/release-blockers-0.26
Nov 10, 2026
Merged

AdamXweb merged 1 commit into
mainfrom
fix/release-blockers-0.26

Conversation

@adamXbot

Copy link
Copy Markdown
Collaborator

What changed

Three fixes found while auditing main for the 0.26 release. Each has a test that fails without it.

  • fxcss profiles crashed after a repository install. The listing printed, then the command died with ValueError: too many values to unpack whenever a profile held a theme installed from GitHub, Codeberg or GitLab. The --check hint was added to the closing notes as a bare string where the notes are (mark, text) pairs. 0.25.0 exits 0 here.
  • Subcommand usage read fxcss <command> [options] new on Python 3.9 to 3.13. argparse derived each subparser's name from the top parser's hand-written usage line. The subparsers are now named explicitly. 0.25.0, and Python 3.14 and later, already printed fxcss new.
  • The Windows startup smoke test was stricter than the product. It asserted exactly two Firefox launches. The session allows itself three on Windows, and a run on main that needed the third recovered correctly and still failed. The test now accepts any count up to what the session allows, and both read it from core.startup_attempts().

How it was tested

  • Unit tests: 807 pass on Python 3.9, 3.12 and 3.15.
  • fxcss profiles against a scratch profile root holding a GitHub-installed theme: exits 0 and prints the --check hint.
  • fxcss new with no argument on Python 3.12: fxcss new: error: ….
  • python -m tests.smoke_startup against Firefox 158 on macOS passes. Windows runs only in CI.

🤖 Generated with Claude Code

…p check

Three things found while auditing main for the 0.26 release.

`fxcss profiles` printed its listing and then died with "too many values
to unpack" whenever a profile held a theme installed from a repository:
the hint about --check went into the closing notes as a bare string, and
the notes are (mark, text) pairs.

On Python 3.9 to 3.13 every subcommand called itself
`fxcss <command> [options] new` in its usage and error lines, because
argparse built the name from the hand-written usage of the top parser.
The subparsers are now named explicitly.

The Windows startup smoke test required exactly two Firefox launches.
The session allows itself three there, and a run that needed the third
recovered correctly and still failed the check. The test now accepts any
count the session allows, and both read that count from one place.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@AdamXweb
AdamXweb merged commit 6bcb6cb into main Nov 10, 2026
20 checks passed
@AdamXweb
AdamXweb deleted the fix/release-blockers-0.26 branch November 10, 2026 12:46
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