Commit Graph
145 Commits
Author SHA1 Message Date
bircni a47dbc413c fix: address verified review findings (terminal-output-1)
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:38:52 +02:00
bircni 6b847058eb fix: address verified review findings (api-transport-download-1)
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:38:51 +02:00
bircni 45c564811e fix: address verified review findings (comments-views-search-1)
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:38:51 +02:00
bircni 3e522ac5ec fix: address verified review findings (misc-1)
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:38:50 +02:00
bircni e0fc5e965d docs(config): describe every setting in config set --help
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:21:33 +02:00
bircni 0a02cb80c5 fix: keep the command word after a leading --json
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:20:24 +02:00
bircni 08ba777f2b fix(release): upload before deleting on --clobber; show repo view to readers without code access
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:19:54 +02:00
bircni 3d10badb8b fix: sanitize server text in pull request messages, auth status and notification watch
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:19:10 +02:00
bircni 0b7e2f01b0 perf(pr): read the pull request template with one request
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:17:51 +02:00
bircni 5f878c86ed fix(pr): do not delete a head branch that Gitea kept after a merge
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:17:38 +02:00
bircni d2e1c546e3 fix(pr): keep the body of a pending review when posting another review
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:17:24 +02:00
bircni 3a61db6533 feat(issue): list issues without an assignee with --no-assignee
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:17:11 +02:00
bircni bae885a4d2 fix(context): find the Gitea remote among all remotes of a clone
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:16:57 +02:00
bircni 064dbc1cbd fix(team): show public teams to non-members
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:16:19 +02:00
bircni 51c436ef11 fix(issue): resolve --milestone titles before IDs in list and search filters
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:16:05 +02:00
bircni 219798732d fix(auth): print only a token that belongs to the selected account
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:15:52 +02:00
bircni 4d6e68ed85 fix(doctor): check the account when the instance requires sign-in to view
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:15:38 +02:00
bircni f61ee4b4cc fix(repo): add the upstream remote when cloning a pull mirror
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:15:25 +02:00
bircni 843c3c2977 test: update the integration tests to the 1.0 command and output behavior
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:14:46 +02:00
bircni f75568a8df fix(release): refuse a stray true or false word after --draft and --prerelease on release edit
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:14:46 +02:00
bircni 7437f45d9a fix(team): keep the access of read and write teams when editing --unit
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:14:46 +02:00
bircni 45e015e7dc fix(auth): make logout reject only the credential tea stored
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:14:46 +02:00
bircni aee57be8b9 test(repo,release): fold the repo delete report into the --yes test and drop redundant setup
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:01 +02:00
bircni b79845b9f3 refactor(repo,org,team,release): trim help texts, obvious comments and single-use helpers
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:01 +02:00
bircni d5aef95855 test(pr): drop cases that repeat covered pr list, merge, review and diff paths
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni 2826726557 refactor(issue,pr): trim help, restating comments and single-use helpers
Cut issue, pr, label, milestone and comment examples to at most three, drop
doc comments that only restate the name, fold the comment and attachment
argument lookups into one closure each, and inline label helpers with one
caller.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni 4a85bb3d40 test(actions): drop duplicate cases and share the checks server
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni 71d84b070b refactor(actions): trim help examples and restating comments
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni f783de3564 docs(completion): shorten completer doc comments
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni fa9cb4f852 docs(help): trim examples and verbose doc comments in core commands
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni a0d4e85605 test(app): drop completion and table cases other tests already cover
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:48:00 +02:00
bircni a24acef26c fix(run): keep the permission bits of extracted artifact files
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:36:16 +02:00
bircni f51af883c6 fix(repo): archive after the other edits in repo edit
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:35:08 +02:00
bircni 1fa954b74b docs: drop planning IDs from code comments
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:33:45 +02:00
bircni 2c17f374cb fix(ref): treat X#N as a reference only when X names a repository
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:32:29 +02:00
bircni 048bb291fc fix(auth): resolve a bare GITEA_TOKEN host in completion and the Git helper
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:31:09 +02:00
bircni c22e8550da refactor(run): drop the unused job of a run URL
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:29:37 +02:00
bircni 57cbded4a0 fix(pr): delete the local branch on merge only when asked to
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:28:35 +02:00
bircni 102de5a2c2 fix(output): always report warnings on stderr
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:27:12 +02:00
bircni badd934d64 fix(pr): prefer an open pull request over a merged one recorded by checkout
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:25:40 +02:00
bircni ab8ba6df4f docs: shorten help and migration texts to gh-like brevity
Long texts no longer restate the flag list, the instance selection
of tea help environment, the config keys with descriptions or the
team argument rules shown under ARGUMENTS; webhook events come from
services.WebhookEvents; the migration guide refers to tea help
formatting for the terminal layout.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:14:09 +02:00
bircni 8bf979099b perf: drop wasted requests and reuse markdown renderers
pr edit with reviewers and other fields reads the pull request once,
org delete counts only repositories, org view counts concurrently,
team list skips the repository count of all-repository teams,
pr diff --web builds the URL locally, pr list re-reads pull requests
concurrently for review fields, and glamour renderers are built once
per width and color.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 18:44:29 +02:00
bircni af14803b3a refactor(services): leave CLI flag and command names to the app layer
Services report ErrRunScanExhausted, ErrMaxPages and plain conflicts,
and the commands add the --branch/--max-pages/--force hints. Unknown
label names use the shared NotFoundError, and the repository-scoped
review and team search refusal moves into tea search's own usage
check.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 18:44:29 +02:00
bircni f2f1dd1e34 refactor(flags): accept plural flag names through one normalize function
Every command accepts a flag's plural, such as --add-labels for
--add-label (D8), instead of per-command alias maps.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 18:44:29 +02:00
bircni dc24231ebc test: share the first-page and clock helpers
writeFirstPage answers paged listings in app and services tests,
testNow replaces the copied clock, withoutANSI the second color
stripper, and the single-entry table test becomes a plain test.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 14:25:38 +02:00
bircni 83924892ff refactor: reuse the existing service and rendering helpers
services.IsNotFound replaces the hand-rolled 404 checks, convertPage
the copied page conversions and lastPathNumber the comment's own
number parser. The List wrappers around ListPage of releases,
branches, wiki pages, secrets and variables go, pull request filters
resolve milestones through Milestones.FindOne like issues, and
localFlagsChanged, boolOrder, Cell.Render, stateBadge and dueText
replace their copies.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 11:22:52 +02:00
bircni 29f62da006 refactor: load settings once per run and reuse shared helpers
The application caches the settings snapshot and reloads it only after
an update through the store, so output and prompt helpers no longer
read and parse config.yml and hosts.yml several times per command.
canPrompt and chooser replace the inline prompt-policy checks.

Checks are tallied by one services.Tally, terminal.Plural replaces the
two app copies, refKind.article/noun replace the comment group's own
words, list commands use servicePage, and web URLs are built by
repositoryURL and webURL in browser.go.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 10:57:39 +02:00
bircni 9ac5b79e9e refactor(completion): name path arguments explicitly and share firstArg
The six commands that take a file or directory argument set their
completer directly instead of a Use-line parser wrapping every
command, the first-argument-only wrappers become one firstArg helper,
and only the bash completion help keeps a custom text.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 10:50:37 +02:00
bircni 1f4b5f868f refactor(prompts): fold Asker into Prompter and share delete confirmations
FormPrompter is the only production prompter and implements the rich
prompt API, so Ask, AskText and ConfirmDefault become the Prompter
interface and the plain Input/Confirm fallbacks go away.

Confirmations that default to no derive their non-terminal wording
from the prompt, and single deletes share deleteConfirmed for the
prompt, the request and the done line.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 10:47:54 +02:00
bircni 6b204a34c0 refactor(output): share the JSON, created-resource and batch tails
Mutations end with a.jsonResult or a.created instead of hand-rolled
--json branches, the two identical jsonResult/writeMutationJSON helpers
become one, and writeBatchJSON checks --json itself so batch commands
share one tail.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 10:43:46 +02:00