Issue & PR triage
Loading...
Showing 43 of 43 issues
| Issue | Title | Author | Age | Action | Impact ↓ | Actionability | Quick Win | Summary |
|---|---|---|---|---|---|---|---|---|
|
craft-cli issue #385 |
Provide a way to handle multiple simultaneous sources of information | lengau | 407d | keep open | 62 | 61 | 7 | Enhancement to multiplex concurrent information streams for parallel and remote builds; it remains triaged and open, while the API still uses one process-wide Emitter. |
|
craft-cli issue #278 |
Support output formats | mr-cal | 759d | keep open | 58 | 48 | 8 | Maintainer-filed feature request (Aug 2023) for a craft-cli API to render data as tables or machine-readable JSON; still unimplemented, tracked as CRAFT-3513, and blocking snapcraft#5060. |
|
craft-cli issue #172 |
Multiprocess operations can lead to spinner deadlock | cmatsuoka | 1161d | keep open | 55 | 48 | 12 | Maintainer-filed bug: craft-cli starts its _Spinner in a thread and acquires its lock on every message, so a forked child (e.g. craft-parts overlay chroot) deadlocks on a lock whose owner thread no longer exists. Still unfixed. |
|
craft-cli issue #347 |
Handle interactive terminal inside emitter stream context | cmatsuoka | 527d | needs triage | 48 | 66 | 12 | Open, untriaged feature request for interactive terminal I/O while Emitter.open_stream captures subprocess output, affecting craft test spread shell and debug flows. |
|
craft-cli pr #510 |
fix: strip Sphinx roles and directives from plain help overviews | Shahzeb-DataEngineer | 11d | needs review | 48 | 78 | 20 | Adds plain-help stripping for Sphinx roles and directive markers while preserving content and Markdown output; tests are included, but the PR awaits maintainer review. |
|
craft-cli issue #132 |
The help produced for a command options should give more information | facundobatista | 1387d | needs triage | 42 | 49 | 8 | Enhance option help to show value requirements, defaults, cardinality or repeatability, and choices. The current help pipeline renders option names and messages only, with no recorded design decision. |
|
craft-cli issue #261 |
Disable long option abbreviation (`--destructive` vs `--destructive-mode`) | mattculler | 839d | needs triage | 42 | 90 | 29 | Long-option abbreviation remains enabled in _CustomArgumentParser, allowing prefixes such as --destructive to match longer options; the issue is open and awaiting triage. |
|
craft-cli issue #350 |
Accept a total of `0` for a progress bar and behave well in this case. | lengau | 491d | keep open | 42 | 72 | 20 | Progress bars should accept total=0 as an unknown-total state instead of dividing by zero. The enhancement is triaged and remains open; the desired rendering needs definition and implementation. |
|
craft-cli issue #232 |
Capture warnings and present them to developers. | lengau | 995d | needs triage | 42 | 74 | 22 | Maintainer request to route Python warnings through logging.captureWarnings, hide them from normal output, and expose them to developers; still open and untriaged with no implementation found. |
|
craft-cli issue #56 |
Simplify the Dispatcher usage | facundobatista | 1738d | keep open | 42 | 48 | 11 | Maintainer-filed refactor to simplify the Dispatcher's 3-step usage (pre_parse_args → load_command → run); two competing designs proposed, neither implemented yet. |
|
craft-cli pr #338 |
logger pollutes strings with white spaces | dariuszd21 | 548d | needs review | 41 | 28 | 8 | Fixes newline/tab corruption in ephemeral BRIEF logger output; the unreviewed branch is 399 commits behind main and has failing linters and Ubuntu 20.04 tests. |
|
craft-cli pr #481 |
feat: error early when help message is missing | cmatsuoka | 60d | needs review | 40 | 66 | 18 | Raises a CommandError during help generation when an argument lacks help text, fixing the IndexError from #242. Small 2-file diff (+52/-50), all CI checks green; awaiting maintainer review with 1 unresolved comment, inactive 32 days. |
|
craft-cli issue #45 |
Simplify the application run/stop cycle | facundobatista | 1794d | needs triage | 40 | 75 | 18 | Maintainer-filed feature request: add an `app_wrapper` context manager to craft-cli to handle emitter init, Dispatcher setup and exception/return-code handling. Design sketched in a 2022 comment; still not implemented in 3.4.x. |
|
craft-cli issue #68 |
Better output information when requesting help for a command with bad... | facundobatista | 1697d | keep open | 38 | 92 | 26 | Command help still rejects extra command arguments; help close --bad-args should select close and render its help instead of reporting too many parameters. |
|
craft-cli issue #361 |
Remove the default command | mr-cal | 471d | keep open | 35 | 58 | 9 | Maintainer tracking issue to remove the Dispatcher default_command/allow_default_command support once Snapcraft 10 (core28) ships. Intermediate step landed in PR #422 (error message path); full removal still pending. |
|
craft-cli issue #351 |
Remove sphinx directives from overview texts | lengau | 491d | keep open | 35 | 72 | 19 | Enhancement: strip reST/sphinx directives from command overview texts, extending the double-backtick removal done in #306; triaged, linked to CRAFT-4623, still unimplemented in helptexts.py |
|
craft-cli issue #159 |
Allow to show the current progress in the window titlebar | sergio-costas | 1226d | keep open | 32 | 76 | 13 | Feature request to add a bool param to Emitter.progress() that also sets the progress text as the terminal window title via ANSI OSC codes; proposed implementation PR #160 is open but stalled for ~3 years. |
|
craft-cli issue #269 |
CraftError messages with new lines render inconsistently | mr-cal | 793d | close resolved | 32 | 91 | 22 | CraftError messages with embedded newlines added terminal padding before the resolution line; #270 fixed this in 0ca6940, shipped in 2.7.0. |
|
craft-cli issue #242 |
Unhelpful error message when creating help if an argument doesn't have a help text | lengau | 980d | keep open | 32 | 82 | 17 | Help output for a command whose argument lacks help text renders badly (originally IndexError) instead of a clear error. Maintainer directed resolution to PR #481 (fail early on missing help), which is still open. |
|
craft-cli issue #253 |
Use a command class's `__doc__` if `overview` does not exist | lengau | 920d | keep open | 32 | 62 | 15 | Feature request (opened by maintainer lengau, 1 comment): make BaseCommand's `overview` optional, falling back to the command class's `__doc__`; the first line of `__doc__` could also become `help_msg`. |
|
craft-cli issue #121 |
Provide a way to merge other log file into current one | facundobatista | 1505d | close resolved | 30 | 5 | 1 | Feature request to merge external log files (e.g. subprocess output) into the current log. Delivered as Emitter.append_to_log() in craft-cli 3.0.0 via commit 839986b (#331); issue was left open and is now obsolete. |
|
craft-cli issue #128 |
Greeting doesn't output as expected | mr-cal | 1464d | keep open | 30 | 82 | 14 | Partially resolved: PR #301 stops duplicate greetings for repeated trace modes, but current code still prints the initial trace greeting before CLI --verbosity=quiet is parsed. |
|
craft-cli pr #160 |
messages: allow to set the terminal window title | sergio-costas | 1226d | close stale | 30 | 12 | 2 | Adds an emitter API to set the terminal window title via ANSI escape codes, for #159. Idle 1103 days with 4 unresolved review comments; messages.py was refactored and tests reorganized since, so it needs rework rather than a rebase. |
|
craft-cli pr #504 |
fix: raise TypeError for non-string items in humanize_list | Shahzeb-DataEngineer | 14d | needs review | 30 | 60 | 16 | Adds TypeError check to humanize_list for non-string items, addressing issue #413. Clean diff awaiting review; only CI failure is Canonical CLA. |
|
craft-cli issue #200 |
Register the `help` command | mr-cal | 1085d | keep open | 30 | 86 | 18 | The shared CLI handles help implicitly but does not register it, so '<app> help help' reports that help is missing. The maintainer-authored request remains open and reproducible. |
|
craft-cli issue #342 |
Fix all warnings in RTD builds | bepri | 541d | needs triage | 30 | 86 | 21 | RTD has ambiguous cross-reference warnings for CommandGroup and BaseCommand; warning-failure enforcement remains disabled pending closure. |
|
craft-cli issue #125 |
When the Printer stops it needs to clean the last line if it was transient progress | facundobatista | 1484d | close resolved | 30 | 85 | 18 | Reporter (maintainer facundobatista) asked the Printer to clear the transient progress line when stopping or pausing. Implemented in PR #126 (commit 9f9df27, merged as 2cbced2); issue left open. |
|
craft-cli issue #61 |
Don't add timestamps when the subprocess already does that | facundobatista | 1729d | keep open | 30 | 70 | 18 | Feature request by maintainer to add a `sub_with_timestamps` flag to emit.open_stream() so craft-cli skips adding its own timestamp when the subprocess already emits them. Still unimplemented; open_stream has no such parameter. |
|
craft-cli issue #266 |
Provide a way for apps to warn users about deprecated features. | lengau | 820d | keep open | 30 | 68 | 10 | Maintainer-filed request for an Emitter deprecation-warning API (docs link, version-to-error, once-per-run, silencing). Emitter.warning() (#358) covers only basic warnings; the dedicated mechanism is unimplemented. Tracked as CRAFT-3174. |
|
craft-cli issue #78 |
ArgumentParsingError for command not found should hint at the command that raised it | sergiusens | 1651d | needs triage | 28 | 52 | 12 | Feature request: ArgumentParsingError carries no attribute naming the offending command, forcing downstream apps to dig into err.__context__ to distinguish unknown-command errors. Still unimplemented at HEAD. |
|
craft-cli issue #371 |
Multi-line permanent progress doesn't overwrite temporary progress | jonathan-conder | 444d | close resolved | 28 | 90 | 19 | Bug in craft_cli printer: a permanent multi-line progress message did not fully overwrite a longer previous temporary progress line, leaving residual text ("bar foo foo"). Fixed by merged PR #445. |
|
craft-cli issue #243 |
Brief Emitter mode still appears to be verbose when plugins are called ? | flotter | 970d | needs triage | 28 | 30 | 4 | User asks whether BRIEF mode can suppress subprocess output passed through emit.open_stream(); maintainers confirmed subprocess output is intentionally echoed ephemerally in BRIEF and deferred the question of desired behaviour. |
|
craft-cli issue #135 |
logging handler is not using any formater | rgildein | 1371d | needs triage | 28 | 60 | 13 | Enhancement request: craft_cli _Handler.emit uses record.getMessage() and ignores self.formatter, so log format can't be customised. Confirmed still unfixed at current HEAD; no maintainer response or labels. |
|
craft-cli issue #31 |
Error message formatting | cmatsuoka | 1815d | keep open | 28 | 69 | 11 | Open feature request to customize Emitter.error output with a prefix and optional color; prefix support is absent, while warning output already accepts a prefix. |
|
craft-cli issue #9 |
Have a sub-char resolution in the progress bar | facundobatista | 1864d | keep open | 28 | 90 | 19 | Triaged enhancement for eighth-block progress rendering; the current printer still floors progress to whole full-block characters, leaving smoother sub-character resolution unimplemented. |
|
craft-cli issue #287 |
Document the pytest plugin | lengau | 751d | keep open | 28 | 72 | 15 | The pytest plugin has a basic how-to, but autodoc excludes it and its fixtures and assertion API remain incompletely documented; the enhancement is still open. |
|
craft-cli issue #262 |
Always report error messages for incorrect usage | mattculler | 836d | keep open | 28 | 92 | 21 | No-command invocations still display general help instead of a specific “no command specified” error; the behavior remains in the current Dispatcher. |
|
craft-cli issue #114 |
Present long/short options separated in the options table for markdown formatted help | facundobatista | 1546d | keep open | 28 | 88 | 19 | Markdown help tables still combine short and long flags in one option cell; the maintainer’s requested separate short/long columns remains unimplemented. |
|
craft-cli issue #183 |
Include humanize_list function as a utility | lengau | 1119d | keep open | 25 | 57 | 7 | humanize_list and unit tests now exist in craft-cli, but downstream craft-app migration remains unresolved; the humanize-based craft-parts experiment was closed unmerged. |
|
craft-cli pr #369 |
fix: filter other commands by name instead of type | jonathan-conder | 455d | needs review | 25 | 78 | 16 | Changes command help’s “See also” filtering from subclass/type checks to name comparison, fixing inherited commands that omit their parent. All CI checks pass, but maintainer review is still pending. |
|
craft-cli issue #413 |
`humanize_list` accepts any value that can be coerced to a string for the... | lengau | 280d | keep open | 18 | 60 | 8 | humanize_list silently stringifies a non-string final item (f-string) instead of raising TypeError. Reproduced on current main; maintainer deferred it to the emitter oxidation (#411) and the desired direction (reject vs coerce) is still unanswered. |
|
craft-cli issue #219 |
Provide limited choices for global arguments | lengau | 1022d | close resolved | 12 | 92 | 10 | Feature request for choices/validator on GlobalArgument is already implemented: craft_cli/dispatcher.py defines both fields, validates choices and applies the validator in _parse_options, and built-in --verbosity uses them. |
|
craft-cli issue #149 |
Discuss whether we should maintain 'line-length = 99' | tigarmo | 1234d | close resolved | 12 | 78 | 7 | Style decision on line length: repo now consistently uses 88 (ruff, isort, .editorconfig, sphinx-lint) after black removal and starbase merge; no 99 remains anywhere, so the 99-vs-88 discussion is settled. |