Clear draft state for real, exit 130 on Ctrl+C, and name a missing issue tracker #288

Merged
stephen merged 3 commits from fix/issue-sweep into main 2026-10-13 03:24:24 +00:00
Owner

Four bug reports from the issue tracker, plus the lockfile bump the audit gate needed before this could push.

fj pr ready printed success and changed nothing. Forgejo and Gitea have no draft field: "draft" is computed from a work-in-progress title prefix (WIP: or [WIP] by default), and a draft key on edit or create is accepted and dropped. fj pr ready now reads the pull request, removes the prefix from the title, and checks the response is no longer a draft. A pull request that was never a draft gets "already ready" instead of a false confirmation. A title carrying a prefix only the instance knows (WORK_IN_PROGRESS_PREFIXES is not exposed by any API) fails and points at fj pr edit --title. fj pr create --draft and fj stack sync --draft had the mirror-image bug and now prefix the title with WIP:; fj stack sync --ready goes through the same ready path.

Ctrl+C exited 130 only when the forced backstop fired. An interrupt the command loop caught itself came back as a plain error and exited 1. It is a typed error now and main maps it to 130.

fj issue list -R rasterstate/fjord-platform answered "not found: rasterstate/fjord-platform", because a repo with an external tracker 404s on the issue routes. On a 404, issue list and issue create read the repo and say what is actually going on, including the external tracker URL. The exit status stays 3, and a repo that really is missing reads as before.

The Homebrew formula test asserted the short description against fj --help, which prints the long one. It reads fj -h.

quinn-proto 0.11.15 picked up RUSTSEC-2026-0338 through 0342, which fail cargo audit locally and in CI. The lockfile moves to 0.11.19 in its own commit.

Checked live with a build of this branch: the fjord-platform message above, and fj pr ready on an already-ready pull request. The prefix removal itself is covered by wiremock tests only; I did not flip a real draft.

Closes #268
Closes #263
Closes #235
Closes #216

Four bug reports from the issue tracker, plus the lockfile bump the audit gate needed before this could push. `fj pr ready` printed success and changed nothing. Forgejo and Gitea have no draft field: "draft" is computed from a work-in-progress title prefix (`WIP:` or `[WIP]` by default), and a `draft` key on edit or create is accepted and dropped. `fj pr ready` now reads the pull request, removes the prefix from the title, and checks the response is no longer a draft. A pull request that was never a draft gets "already ready" instead of a false confirmation. A title carrying a prefix only the instance knows (`WORK_IN_PROGRESS_PREFIXES` is not exposed by any API) fails and points at `fj pr edit --title`. `fj pr create --draft` and `fj stack sync --draft` had the mirror-image bug and now prefix the title with `WIP:`; `fj stack sync --ready` goes through the same `ready` path. Ctrl+C exited 130 only when the forced backstop fired. An interrupt the command loop caught itself came back as a plain error and exited 1. It is a typed error now and `main` maps it to 130. `fj issue list -R rasterstate/fjord-platform` answered "not found: rasterstate/fjord-platform", because a repo with an external tracker 404s on the issue routes. On a 404, `issue list` and `issue create` read the repo and say what is actually going on, including the external tracker URL. The exit status stays 3, and a repo that really is missing reads as before. The Homebrew formula test asserted the short description against `fj --help`, which prints the long one. It reads `fj -h`. quinn-proto 0.11.15 picked up RUSTSEC-2026-0338 through 0342, which fail `cargo audit` locally and in CI. The lockfile moves to 0.11.19 in its own commit. Checked live with a build of this branch: the fjord-platform message above, and `fj pr ready` on an already-ready pull request. The prefix removal itself is covered by wiremock tests only; I did not flip a real draft. Closes #268 Closes #263 Closes #235 Closes #216
Forgejo and Gitea have no draft field: a pull request is a draft when its
title starts with a work-in-progress prefix. `fj pr ready` sent
`{"draft": false}`, which the server accepts and ignores, and reported
success. It now removes the `WIP:` or `[WIP]` prefix, confirms the response
is no longer a draft, and fails with the fix when the title carries a prefix
only the instance knows. `fj pr create --draft` and `fj stack sync --draft`
had the same problem on create and now prefix the title.

An interrupt caught by the command loop exited 1 while the forced backstop
exited 130. Both exit 130 now.

A repo with issues off or in an external tracker answers 404 on the issue
routes, which read as the repo being missing. `fj issue list` and
`fj issue create` now say which it is and print the external tracker URL.

The Homebrew formula test looked for the short description in `fj --help`,
which prints the long one. It reads `fj -h`.
Update quinn-proto past five RustSec advisories
All checks were successful
ci / check (pull_request) Successful in 13m6s
ci / coverage (pull_request) Successful in 2m42s
ci / live-e2e (pull_request) Successful in 3m19s
4aa845981e
RUSTSEC-2026-0338 through 0342 landed against quinn-proto 0.11.15 and fail
the audit gate. The lockfile moves to a fixed release; nothing in fj's own
manifest changes.
stephen referenced this pull request from a commit 2026-10-13 02:49:16 +00:00
Merge remote-tracking branch 'origin/main' into fix/issue-sweep
All checks were successful
ci / check (pull_request) Successful in 24m4s
ci / coverage (pull_request) Successful in 3m26s
ci / live-e2e (pull_request) Successful in 4m36s
33b549d96b
# Conflicts:
#	CHANGELOG.md
stephen scheduled this pull request to auto merge when all checks succeed 2026-10-13 03:15:54 +00:00
stephen deleted branch fix/issue-sweep 2026-10-13 03:24:25 +00:00
Sign in to join this conversation.
No description provided.