~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

The merge box's stack note is for those who can queue, and a flow adds a stack

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:stack/followup

What changes

The stack note is for those who can queue. Signed out, the merge box said Add this alone and it lands on b2. Add all 3 and they land on main in turn, with no buttons beside it. It now shows only to someone who may queue, and so does the note about leaving.

knotless queue list lists waiting pulls as they land. Lowest first, rather than however they were read.

The Add all N to merge queue button has an e2e flow. It adds a stack from the page, reads the queue records back, sees the pull waiting, and leaves from the lowest, which takes the one above too. That control landed without one.

Why

These came from trying stacks on a real repository, chadtmiller.com/stack-test, after the last pulls deployed.

How it was checked

  • a_pull_waits_for_the_one_below_it now reads items backwards and checks the order.
  • The new flow runs in e2e here. I did not run it locally.
  • On chadtmiller.com/stack-test: a three-pull stack landed in order with each commit holding only its own file; leaving from the lowest took all three out; a lower pull ejected kept the one above waiting, and both landed after a fix, a rebase and a requeue.

Shortcomings

  • Queueing bottom-up from a script still needs it to stop at the first refusal. If a lower pull is refused because its checks failed and the next is queued anyway, that one is queued into <lower branch> and lands there, as a part of a feature branch does. I saw this on prod. The button stops at a refusal.

🤖 Generated with Claude Code

Approved

This pull hides the merge box's stack notes from anyone who can't queue. It sorts the stacked pulls in queue list by how many pulls they wait for, so they come out in landing order. It also adds an e2e flow for the "Add all N" button.

I read the diff and found nothing that needs changing:

  • lands_after walks below with a cycle guard, and the sort is stable, so the order is deterministic.
  • The unit test reads the items backwards and checks the order.
  • The e2e assertion stacked\t${high} matches the CLI row, which prints the state column and then the URI.
  • knotless is exported from pages.mjs.
  • The change file is present, and the docs pages the repository lists don't say anything this changes.

I did not run the e2e flow, and the body says the author didn't either. I'd watch the e2e check on this pull.

Merged as 444bee0