Skip to content

fix: upgrade typer so required arguments and options are enforced - #46

Merged
marevol merged 3 commits into
fix/theme-remote-timeoutfrom
fix/typer-required-args
Oct 16, 2026
Merged

marevol merged 3 commits into
fix/theme-remote-timeoutfrom
fix/typer-required-args

Conversation

@marevol

@marevol marevol commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

uv.lock pins click 8.3.0, and with typer 0.16.0 a missing required argument or option is not rejected: the value arrives as None and is sent to the API. For example fessctl theme install foo posts a null version, and fessctl webconfig create without --name only fails on the server side. Upgrading typer to 0.20.0 (which supports click 8.3) restores the usage error (exit code 2).

Test plan

  • New unit test: a missing --name / VERSION exits with code 2 and sends no request.
  • Full suite: 15.9.0 → 222 passed; 15.8.0, 15.7.0, 15.6.1, 14.19.2 → 219 passed, 3 skipped.

Stacked PRs (merge from the bottom; each PR's base is the branch below it, so no conflicts remain):
main ← #45 theme timeout (+ CI runs for stacked PRs) ← #46 typer ← #43 ops commands ← #44 dict ← #41 general/plugin/storage ← #42 searchlist/documents.
After a PR is squash-merged GitHub retargets the next one to main.

With the locked click 8.3.0, typer 0.16.0 no longer rejects a missing
required argument or option: the value arrives as None and is sent to
the API (for example `theme install foo` posts a null version and
`webconfig create` without --name reaches the server). typer 0.20.0
handles click 8.3 correctly, so a missing parameter is a usage error
(exit code 2) again.

Add a unit test for it. The full suite passes against Fess 15.9.0,
15.8.0, 15.7.0, 15.6.1 and 14.19.2.
CI forces colour output, which splits the option name with escape
sequences and made the assertion on the usage error text fail there.
@marevol
marevol added this pull request to stack #47 October 16, 2026 13:50
@marevol marevol added this to the 0.4.0 milestone Oct 16, 2026
@marevol marevol self-assigned this Oct 16, 2026
@marevol
marevol merged commit f993df6 into main Oct 16, 2026
5 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