Issue & PR triage
Loading...
Showing 47 of 47 issues
| Issue | Title | Author | Age | Action | Staleness ↑ | Confidence | Summary |
|---|---|---|---|---|---|---|---|
|
craft-cli issue #149 |
Discuss whether we should maintain 'line-length = 99' | tigarmo | 1186d | close stale | 90 | 80 | Discussion on whether to keep line-length = 99 or align with Starbase's default of 88. Resolved in practice: the codebase now uses 88 (ruff, isort, sphinx-lint) after the starbase migration; no activity since June 2023. |
|
craft-cli issue #135 |
logging handler is not using any formater | rgildein | 1323d | needs triage | 90 | 85 | craft-cli's _Handler.emit uses record.getMessage() instead of self.format(record), ignoring any formatter set on the handler. Code unchanged at HEAD; no labels, no maintainer response, 0 comments in 1312 days. |
|
craft-cli issue #172 |
Multiprocess operations can lead to spinner deadlock | cmatsuoka | 1113d | close stale | 88 | 60 | Deadlock when a multiprocess overlay chroot subprocess writes an info message while the CLI spinner thread is active. Stub report, no labels or comments in 3 years. Referenced craft-parts PR #535 merged to mitigate by downgrading overlay logging to debug. |
|
craft-cli pr #160 |
messages: allow to set the terminal window title | sergio-costas | 1178d | close stale | 85 | 75 | Adds terminal window title setting via ANSI escape codes to show build progress. Last active 2.9 years ago; codebase has since undergone major refactoring (starbase merge, new emitter API). Feature never merged; issue #159 still open but untriaged. |
|
craft-cli issue #132 |
The help produced for a command options should give more information | facundobatista | 1339d | needs triage | 85 | 70 | Feature request to enrich command option help output to indicate whether an option expects a value, has a default, is repeatable, or has choices, similar to argparse. Open since 2021 with no comments, labels, or assignee; help rendering code still only shows option strings and help text. |
|
craft-cli issue #159 |
Allow to show the current progress in the window titlebar | sergio-costas | 1178d | close stale | 85 | 75 | Feature request to add a titlebar parameter to the progress method so build progress is shown in the window titlebar via ANSI codes. No maintainer response, no labels, and the feature was never implemented in the codebase. |
|
craft-cli issue #248 |
[docs] clarify when to use `message` and when to use `progress(..., permanent=True)` | lengau | 882d | close stale | 85 | 72 | Docs task to clarify when to use emit.message vs emit.progress(permanent=True). Triaged and assigned to a maintainer, but the docs now distinguish the two and emit.warning() was added, so the original confusion is largely addressed. |
|
craft-cli issue #232 |
Capture warnings and present them to developers. | lengau | 947d | needs triage | 80 | 78 | Feature request to use logging.captureWarnings to surface Python warnings to developers while hiding them from users by default. Open, unlabelled, zero comments, no maintainer activity for ~2.5 years; feature not yet implemented in codebase. |
|
craft-cli issue #243 |
Brief Emitter mode still appears to be verbose when plugins are called ? | flotter | 922d | needs triage | 80 | 75 | Question about whether open_stream() subprocess output should be suppressed in BRIEF emitter mode; moved from craft-parts to craft-cli, meeting scheduled to discuss expected behavior but no resolution recorded; code still shows subprocess output ephemerally in BRIEF mode. |
|
craft-cli issue #114 |
Present long/short options separated in the options table for markdown formatted help | facundobatista | 1498d | needs triage | 80 | 80 | Request to render short and long CLI options in separate columns of the markdown help options table (e.g. | -v | --verbose | desc |) instead of combined '-v, --verbose'. Unlabelled, zero comments, and the current code still uses the combined format. |
|
craft-cli issue #261 |
Disable long option abbreviation (`--destructive` vs `--destructive-mode`) | mattculler | 791d | needs triage | 75 | 78 | Feature request to set allow_abbrev=False on craft-cli's ArgumentParser to disable argparse long-option abbreviation (e.g. --destructive matching --destructive-mode). Open, unlabelled, unassigned; only a Jira-sync bot comment; code still lacks the flag. |
|
craft-cli issue #128 |
Greeting doesn't output as expected | mr-cal | 1416d | needs triage | 75 | 70 | craft-cli Emitter logs the greeting when set_mode() is called a second time with a different verbosity (e.g. snapcraft env var vs --verbosity flag), causing greeting in quiet mode or duplicated greeting. Reported by a maintainer in 2022, no labels, no comments, no fix found in current code. |
|
craft-cli issue #266 |
Provide a way for apps to warn users about deprecated features. | lengau | 772d | close stale | 75 | 72 | Feature request for a deprecation-warning API on the Emitter (message, docs link, optional error version, once-per-run, disableable). Core warning() method was added in PR #358; extra features remain unimplemented. Inactive ~1.5 years. |
|
craft-cli issue #200 |
Register the `help` command | mr-cal | 1037d | needs triage | 75 | 70 | Feature request to register 'help' as a first-class command in craft-cli so 'craft help help' works instead of erroring with 'command help not found'. No labels, no comments, no activity since creation ~2.8 years ago; still unimplemented in current code. |
|
craft-cli issue #347 |
Handle interactive terminal inside emitter stream context | cmatsuoka | 479d | needs triage | 75 | 72 | Feature request to allow interactive terminal I/O (shell, debug) to escape output redirection when running inside an open_stream emitter context for craft test spread runs. Open 468 days with zero activity, no labels, no comments, no assignee. |
|
craft-cli issue #253 |
Use a command class's `__doc__` if `overview` does not exist | lengau | 872d | keep open | 75 | 80 | Feature request to use a command class's __doc__ as a fallback for the overview attribute when it is not defined, improving automatic documentation. Still unimplemented; overview remains mandatory in BaseCommand.__init__ and no docstring fallback exists in the codebase. |
|
craft-cli issue #183 |
Include humanize_list function as a utility | lengau | 1071d | close stale | 75 | 70 | Proposal to move humanize_list from craft-parts into craft-cli as a shared utility. Step 1 is done (function and tests exist in craft_cli/utils.py), but the team pivoted to python-humanize 4.11.0 (craft-parts PR #997); issue open, inactive about 19 months. |
|
craft-cli issue #351 |
Remove sphinx directives from overview texts | lengau | 443d | keep open | 75 | 78 | Enhancement to strip sphinx directives (e.g. :doc:, :ref:) from command overview texts in CLI help output, following the precedent of #306 which removed reST double backticks. Triaged by maintainer, no PR or assignee, dormant ~14 months. |
|
craft-cli issue #342 |
Fix all warnings in RTD builds | bepri | 493d | needs triage | 75 | 55 | RTD Sphinx build emits 'more than one target found' warnings for CommandGroup and BaseCommand cross-references in helptexts.py docstrings. Filed by maintainer bepri 482 days ago; no labels, comments, or assignee. Current docs/conf.py excludes *dispatcher* from apidoc, which may already resolve the ambiguity, but unverified. |
|
craft-cli issue #61 |
Don't add timestamps when the subprocess already does that | facundobatista | 1681d | close stale | 75 | 80 | Request to add a sub_with_timestamps flag to emit.open_stream so Craft CLI skips its timestamp when the subprocess adds one. Author rethought it in 2022, noting emit.pause already hides duplicate timestamps; log timestamps remain but deemed fine. |
|
craft-cli issue #45 |
Simplify the application run/stop cycle | facundobatista | 1746d | keep open | 75 | 65 | Feature request to add an app_wrapper context manager to craft-cli that handles application bootstrapping/finishing, moving logic from Charmcraft. Open since 2021 with one maintainer design comment; no implementation found in current codebase. |
|
craft-cli issue #219 |
Provide limited choices for global arguments | lengau | 974d | close not a bug | 75 | 85 | Feature request to add choices and validator support to craft-cli's GlobalArgument so apps don't have to parse/validate global options themselves. Already implemented in current code (GlobalArgument has choices, validator, case_sensitive fields). |
|
craft-cli issue #262 |
Always report error messages for incorrect usage | mattculler | 788d | needs triage | 72 | 75 | CLI prints full help text instead of an error when invoked with no command; partially addressed by #422 which errors when a default command is disallowed, but the no-default-command case still dumps help text. Unlabelled, no maintainer response. |
|
craft-cli issue #78 |
ArgumentParsingError for command not found should hint at the command that raised it | sergiusens | 1603d | needs triage | 72 | 85 | Feature request to add the offending command name as an attribute on ArgumentParsingError raised for unknown commands, enabling programmatic error handling. Still unimplemented in current code. |
|
craft-cli issue #278 |
Support output formats | mr-cal | 711d | needs triage | 72 | 75 | Feature request to add an API for outputting command data as a table or machine-readable format (e.g. JSON) to reduce duplication across craft apps. Unlabelled, no assignee, only a Jira-sync bot comment; the requested data-output API is not implemented (OutputFormat only covers help text). |
|
craft-cli issue #287 |
Document the pytest plugin | lengau | 703d | close not a bug | 70 | 75 | Request to document the craft-cli pytest plugin (init_emitter/emitter fixtures). Documentation now exists at docs/how-to/unit-test-with-emitter.rst and is linked in the how-to index, so the ask appears fulfilled. |
|
craft-cli issue #350 |
Accept a total of `0` for a progress bar and behave well in this case. | lengau | 443d | keep open | 68 | 75 | Enhancement to accept total=0 in progress bars to indicate unknown total progress. Triaged by maintainer with Jira ticket CRAFT-4622, but no code changes since. printer.py still divides by bar_total without guarding against zero. |
|
craft-cli pr #462 |
Fix stray ^M characters in subprocess output when redirected to file | copilot-swe-agent | 58d | needs review | 65 | 65 | Normalizes carriage returns in subprocess output when redirected to files, preventing stray ^M characters. Adds tests for bare \r and Windows \r\n line endings. Awaiting maintainer review with minor CI failures on lint and conventional commit title. |
|
craft-cli pr #369 |
fix: filter other commands by name instead of type | jonathan-conder | 408d | needs review | 65 | 78 | Fixes 'See also' help section incorrectly omitting parent commands by comparing command names instead of using isinstance. 396 days old, CI green, 0 reviewers, author asked an unanswered question about the test. |
|
craft-cli issue #385 |
Provide a way to handle multiple simultaneous sources of information | lengau | 359d | keep open | 65 | 60 | Enhancement request to support multiple simultaneous information sources (e.g., parallel builds) in the emitter/printer, enabling streaming from remote builds and parallel local builds. Triaged by maintainer, synced to internal ticket CRAFT-4778, no activity for ~11 months. |
|
craft-cli issue #9 |
Have a sub-char resolution in the progress bar | facundobatista | 1816d | keep open | 60 | 65 | Enhancement to give the progress bar sub-character resolution using eighth-block Unicode characters (▏▎▍▌▋▊▉█) instead of per-character granularity. Triaged and labeled; last activity was a bot syncing it to Jira (CRAFT-4789). |
|
craft-cli pr #445 |
fix(printer): handle multiline permanent progress correctly | gcomneno | 142d | needs review | 60 | 75 | Fixes multiline permanent progress rendering in the printer so each terminal line is fully cleared and multiline messages log as separate timestamped lines. Pending review (0 reviewers); CI mostly green. |
|
craft-cli issue #121 |
Provide a way to merge other log file into current one | facundobatista | 1457d | needs triage | 60 | 75 | Feature request from maintainer to add a merge_logs_from method to Emitter for merging external log files (e.g. subprocess output) into the current log. Unlabelled, no comments, no implementation found in codebase after ~4 years. |
|
craft-cli pr #443 |
fix(printer): ignore broken pipe on output streams | gcomneno | 142d | needs review | 58 | 80 | Ignore BrokenPipeError in printer output streams to avoid crashes when piped to early-closing consumers (e.g., head -n1). +87/-11, 2 files, unit tests. All test jobs pass; lint/OSV failures pre-existing. No maintainer review; author pinged 99 days ago. |
|
craft-cli issue #68 |
Better output information when requesting help for a command with bad... | facundobatista | 1649d | needs triage | 55 | 85 | craft-cli help command errors with 'Too many parameters' when given a valid command name plus an invalid option (e.g. `charmcraft help close --bad-args`); it should show help for the named command. Still unfixed in current code; no maintainer triage, only a Jira-sync bot comment. |
|
craft-cli issue #361 |
Remove the default command | mr-cal | 423d | keep open | 55 | 80 | Maintainer task to remove the Dispatcher's default_command/allow_default_command support (added for Snapcraft compat). Feature still present in code; removal gated on Snapcraft 10 (core28) release. No labels, 0 comments. |
|
craft-cli issue #31 |
Error message formatting | cmatsuoka | 1767d | needs triage | 55 | 60 | Feature request to let the emitter error() method format error messages (e.g. add an 'Error: ' prefix) and optionally output them in red, respecting no-color.org. Open, unlabelled, with one maintainer comment endorsing the idea; no implementation yet. |
|
craft-cli issue #269 |
CraftError messages with new lines render inconsistently | mr-cal | 745d | keep open | 55 | 70 | CraftError messages containing new lines render with extraneous whitespace between the message and resolution sections. A maintainer commented that PR #210 (remove trailing spaces) likely fixes this indirectly. |
|
craft-cli issue #56 |
Simplify the Dispatcher usage | facundobatista | 1690d | keep open | 55 | 70 | Refactor request to simplify craft-cli Dispatcher usage by adding a simple_run helper or implicit pre_parse_args/load_command calls before run. Triaged by maintainer, synced to internal ticket CRAFT-4790, but no code change implemented yet. |
|
craft-cli issue #125 |
When the Printer stops it needs to clean the last line if it was transient progress | facundobatista | 1436d | keep open | 55 | 60 | Printer leaves transient progress text on screen when stopping or pausing; it should be overwritten by the next output. Open since 2022, no comments, but a related fix (PR #126) already enhanced ephemeral handover after pause/stop. |
|
craft-cli pr #338 |
logger pollutes strings with white spaces | dariuszd21 | 500d | needs review | 55 | 75 | Fixes broken output when streaming_brief=True and log entries contain whitespace (\n, \t). Small 1-file fix (+22/-1). Pending review, CI failing on linters and ubuntu-20.04, codecov 399 commits behind main. |
|
craft-cli issue #371 |
Multi-line permanent progress doesn't overwrite temporary progress | jonathan-conder | 397d | keep open | 50 | 85 | craft-cli bug: a permanent multi-line progress message only clears the first line of a previous temporary progress, leaving residual text. A maintainer diagnosed the printer path and opened fix PR #445 (open, pending review); bug still present in main. |
|
craft-cli issue #75 |
Linefeeds are wrong when output is redirected to file | cmatsuoka | 1618d | needs triage | 45 | 55 | Redirecting craft-cli output to a file produces mangled linefeeds (stray CRs and padding) instead of clean LF-terminated lines. No labels, no comments, no maintainer response; last activity 47 days ago. The captured-output path in printer.py exists but the reported mangling is not confirmed fixed. |
|
craft-cli issue #378 |
Broken pipe when trimming lines (head) | sergiusens | 386d | keep open | 45 | 85 | BrokenPipeError traceback when piping snapcraft output to an early-closing consumer like `head -n1`. Fix is scoped to ignoring BrokenPipeError in the printer's stream handling; draft PR #443 is open and awaiting review. |
|
craft-cli issue #413 |
`humanize_list` accepts any value that can be coerced to a string for the... | lengau | 232d | keep open | 38 | 72 | humanize_list silently coerces non-string items instead of raising TypeError, inconsistently by position. Maintainer acknowledged it as a real bug but deferred to a future Rust oxidization; a contributor reproduced it on main and awaits direction on intended behavior. |
|
craft-cli pr #481 |
feat: error early when help message is missing | cmatsuoka | 13d | needs review | 10 | 75 | Raises a command configuration error when help text is missing instead of crashing with an IndexError. Passing CI, awaiting review. |
|
craft-cli issue #242 |
Unhelpful error message when creating help if an argument doesn't have a help text | lengau | 932d | keep open | 10 | 80 | craft-cli raised an unhelpful IndexError when a command argument lacked help text; the crash is now guarded in helptexts.py, and maintainer cmatsuoka is addressing the root cause via open PR #481 (fail early on missing help). |