Compare commits
merge into: yonlu/yellowjacket:docs/closing-keyword
yonlu/yellowjacket:main
yonlu/yellowjacket:fix/146-stub-etxtbsy
yonlu/yellowjacket:fix/175-wizard-follows-the-library
yonlu/yellowjacket:fix/231-setter-rollback
yonlu/yellowjacket:fix/197-duplicate-column-label
yonlu/yellowjacket:docs/225-fixtures-wav-tags
yonlu/yellowjacket:docs/220-skill-check-scope
yonlu/yellowjacket:test/217-fixture-names-in-queue-selection
yonlu/yellowjacket:fix/216-riff-parse-allocation
yonlu/yellowjacket:fix/170-queue-header-action-names
yonlu/yellowjacket:fix/210-nav-sheet-scroll-affordance
yonlu/yellowjacket:docs/50-readme-landing-page
yonlu/yellowjacket:feat/65-art-prefetch-ahead
yonlu/yellowjacket:feat/71-more-as-a-bottom-sheet
yonlu/yellowjacket:feat/54-native-touch-feel
yonlu/yellowjacket:feat/67-entity-links-into-menus
yonlu/yellowjacket:test/196-visual-tier-gates
yonlu/yellowjacket:fix/138-ui-test-storage-leak
yonlu/yellowjacket:fix/104-wav-tags-read
yonlu/yellowjacket:fix/207-sheet-scroll-affordance
yonlu/yellowjacket:fix/204-ui-visual-update-filter
yonlu/yellowjacket:pi-agent-backlog-automation
yonlu/yellowjacket:63-touch-model-phase-2
yonlu/yellowjacket:63-android-touch-model
yonlu/yellowjacket:186-touch-targets-settings
yonlu/yellowjacket:186-touch-targets-page-header
yonlu/yellowjacket:187-seek-bar-hit-area
yonlu/yellowjacket:189-190-explore-correctness
yonlu/yellowjacket:135-android-underrun-instrumentation
yonlu/yellowjacket:51-android-small-screens
yonlu/yellowjacket:fix/171-phone-queue-scrim
yonlu/yellowjacket:fix/137-touch-only-affordances
yonlu/yellowjacket:fix/154-nested-css-check
yonlu/yellowjacket:feat/58-mini-player-progress-line
yonlu/yellowjacket:fix/66-album-page-scrolls-as-one
yonlu/yellowjacket:60-context-menu-action-sheet
yonlu/yellowjacket:64-android-system-volume
yonlu/yellowjacket:59-slim-the-mini-player
yonlu/yellowjacket:55-queue-as-a-screen
yonlu/yellowjacket:feat/57-drop-the-android-top-bar
yonlu/yellowjacket:feat/62-jobs-as-a-notification
yonlu/yellowjacket:fix/53-seek-bar-never-moves
yonlu/yellowjacket:fix/159-android-task-app-id
yonlu/yellowjacket:fix/52-android-activity-recreation-restarts-the-process
yonlu/yellowjacket:fix/150-expand-button-under-the-art
yonlu/yellowjacket:feat/42-inline-volume-and-centred-transport
yonlu/yellowjacket:fix/156-queue-selection-fixture-order
yonlu/yellowjacket:fix/151-fuse-the-scroll-guard-and-the-write
yonlu/yellowjacket:fix/43-queue-panel-selection
yonlu/yellowjacket:fix/143-top-bar-fits-its-window
yonlu/yellowjacket:feat/27-jobs-into-settings
yonlu/yellowjacket:feat/25-configurable-sidebar-tabs
yonlu/yellowjacket:feat/6-global-back-forward
yonlu/yellowjacket:fix/72-active-view-broadcast
yonlu/yellowjacket:fix/69-page-header-action-overflow
yonlu/yellowjacket:fix/quick-wins-batch
yonlu/yellowjacket:fix/118-in-library-clear
yonlu/yellowjacket:fix/61-mini-player-plain-text
yonlu/yellowjacket:fix/68-hover-affordances-pointer
yonlu/yellowjacket:fix/119-dev-headless-port
yonlu/yellowjacket:fix/130-issue-claim-user
yonlu/yellowjacket:fix/131-codegen-check-scope
yonlu/yellowjacket:feat/28-autotag-match-on-album
yonlu/yellowjacket:feat/17-demote-version-selector
yonlu/yellowjacket:feat/38-ownership-visibility
yonlu/yellowjacket:ci/115-manual-release
yonlu/yellowjacket:feat/34-icon-language
yonlu/yellowjacket:feat/7-full-tracklist-toggle
yonlu/yellowjacket:fix/16-tagwriter-totals
yonlu/yellowjacket:fix/unclaim-ca-certs
yonlu/yellowjacket:fix/unclaim-shell
yonlu/yellowjacket:ci/unclaim-on-close
yonlu/yellowjacket:docs/closing-keyword
yonlu/yellowjacket:docs/retire-stale-planning-docs
yonlu/yellowjacket:docs/issue-driven-workflow
yonlu/yellowjacket:integration/small-fixes
yonlu/yellowjacket:fix/small-issue-batch
yonlu/yellowjacket:fix/queue-toggle-state
yonlu/yellowjacket:fix/drag-count-badge
yonlu/yellowjacket:fix/album-card-year
yonlu/yellowjacket:fix/album-tracklist-heading
yonlu/yellowjacket:fix/seek-bar-clock-width
yonlu/yellowjacket:fix/explore-art-scanner-requests
yonlu/yellowjacket:chore/workflow-guardrails
yonlu/yellowjacket:v0.7.0
yonlu/yellowjacket:v0.6.0
yonlu/yellowjacket:v0.5.0
yonlu/yellowjacket:v0.4.0
yonlu/yellowjacket:v0.3.1
yonlu/yellowjacket:v0.3.0
yonlu/yellowjacket:v0.2.3
yonlu/yellowjacket:v0.2.2
yonlu/yellowjacket:v0.2.1
yonlu/yellowjacket:v0.2.0
yonlu/yellowjacket:v0.1.0
yonlu/yellowjacket:v0.0.1
yonlu/yellowjacket:v0.0.0
..
pull from: yonlu/yellowjacket:docs/retire-stale-planning-docs
yonlu/yellowjacket:fix/146-stub-etxtbsy
yonlu/yellowjacket:fix/175-wizard-follows-the-library
yonlu/yellowjacket:fix/231-setter-rollback
yonlu/yellowjacket:fix/197-duplicate-column-label
yonlu/yellowjacket:docs/225-fixtures-wav-tags
yonlu/yellowjacket:docs/220-skill-check-scope
yonlu/yellowjacket:main
yonlu/yellowjacket:test/217-fixture-names-in-queue-selection
yonlu/yellowjacket:fix/216-riff-parse-allocation
yonlu/yellowjacket:fix/170-queue-header-action-names
yonlu/yellowjacket:fix/210-nav-sheet-scroll-affordance
yonlu/yellowjacket:docs/50-readme-landing-page
yonlu/yellowjacket:feat/65-art-prefetch-ahead
yonlu/yellowjacket:feat/71-more-as-a-bottom-sheet
yonlu/yellowjacket:feat/54-native-touch-feel
yonlu/yellowjacket:feat/67-entity-links-into-menus
yonlu/yellowjacket:test/196-visual-tier-gates
yonlu/yellowjacket:fix/138-ui-test-storage-leak
yonlu/yellowjacket:fix/104-wav-tags-read
yonlu/yellowjacket:fix/207-sheet-scroll-affordance
yonlu/yellowjacket:fix/204-ui-visual-update-filter
yonlu/yellowjacket:pi-agent-backlog-automation
yonlu/yellowjacket:63-touch-model-phase-2
yonlu/yellowjacket:63-android-touch-model
yonlu/yellowjacket:186-touch-targets-settings
yonlu/yellowjacket:186-touch-targets-page-header
yonlu/yellowjacket:187-seek-bar-hit-area
yonlu/yellowjacket:189-190-explore-correctness
yonlu/yellowjacket:135-android-underrun-instrumentation
yonlu/yellowjacket:51-android-small-screens
yonlu/yellowjacket:fix/171-phone-queue-scrim
yonlu/yellowjacket:fix/137-touch-only-affordances
yonlu/yellowjacket:fix/154-nested-css-check
yonlu/yellowjacket:feat/58-mini-player-progress-line
yonlu/yellowjacket:fix/66-album-page-scrolls-as-one
yonlu/yellowjacket:60-context-menu-action-sheet
yonlu/yellowjacket:64-android-system-volume
yonlu/yellowjacket:59-slim-the-mini-player
yonlu/yellowjacket:55-queue-as-a-screen
yonlu/yellowjacket:feat/57-drop-the-android-top-bar
yonlu/yellowjacket:feat/62-jobs-as-a-notification
yonlu/yellowjacket:fix/53-seek-bar-never-moves
yonlu/yellowjacket:fix/159-android-task-app-id
yonlu/yellowjacket:fix/52-android-activity-recreation-restarts-the-process
yonlu/yellowjacket:fix/150-expand-button-under-the-art
yonlu/yellowjacket:feat/42-inline-volume-and-centred-transport
yonlu/yellowjacket:fix/156-queue-selection-fixture-order
yonlu/yellowjacket:fix/151-fuse-the-scroll-guard-and-the-write
yonlu/yellowjacket:fix/43-queue-panel-selection
yonlu/yellowjacket:fix/143-top-bar-fits-its-window
yonlu/yellowjacket:feat/27-jobs-into-settings
yonlu/yellowjacket:feat/25-configurable-sidebar-tabs
yonlu/yellowjacket:feat/6-global-back-forward
yonlu/yellowjacket:fix/72-active-view-broadcast
yonlu/yellowjacket:fix/69-page-header-action-overflow
yonlu/yellowjacket:fix/quick-wins-batch
yonlu/yellowjacket:fix/118-in-library-clear
yonlu/yellowjacket:fix/61-mini-player-plain-text
yonlu/yellowjacket:fix/68-hover-affordances-pointer
yonlu/yellowjacket:fix/119-dev-headless-port
yonlu/yellowjacket:fix/130-issue-claim-user
yonlu/yellowjacket:fix/131-codegen-check-scope
yonlu/yellowjacket:feat/28-autotag-match-on-album
yonlu/yellowjacket:feat/17-demote-version-selector
yonlu/yellowjacket:feat/38-ownership-visibility
yonlu/yellowjacket:ci/115-manual-release
yonlu/yellowjacket:feat/34-icon-language
yonlu/yellowjacket:feat/7-full-tracklist-toggle
yonlu/yellowjacket:fix/16-tagwriter-totals
yonlu/yellowjacket:fix/unclaim-ca-certs
yonlu/yellowjacket:fix/unclaim-shell
yonlu/yellowjacket:ci/unclaim-on-close
yonlu/yellowjacket:docs/closing-keyword
yonlu/yellowjacket:docs/retire-stale-planning-docs
yonlu/yellowjacket:docs/issue-driven-workflow
yonlu/yellowjacket:integration/small-fixes
yonlu/yellowjacket:fix/small-issue-batch
yonlu/yellowjacket:fix/queue-toggle-state
yonlu/yellowjacket:fix/drag-count-badge
yonlu/yellowjacket:fix/album-card-year
yonlu/yellowjacket:fix/album-tracklist-heading
yonlu/yellowjacket:fix/seek-bar-clock-width
yonlu/yellowjacket:fix/explore-art-scanner-requests
yonlu/yellowjacket:chore/workflow-guardrails
yonlu/yellowjacket:v0.7.0
yonlu/yellowjacket:v0.6.0
yonlu/yellowjacket:v0.5.0
yonlu/yellowjacket:v0.4.0
yonlu/yellowjacket:v0.3.1
yonlu/yellowjacket:v0.3.0
yonlu/yellowjacket:v0.2.3
yonlu/yellowjacket:v0.2.2
yonlu/yellowjacket:v0.2.1
yonlu/yellowjacket:v0.2.0
yonlu/yellowjacket:v0.1.0
yonlu/yellowjacket:v0.0.1
yonlu/yellowjacket:v0.0.0
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
97f2eb85ee |
docs: put the closing keyword where Gitea will actually read it
CI / check (push) Skipped
CI / e2e (push) Skipped
CLAUDE.md said the Closes list was unreliable and to close by hand. It is unreliable for a specific reason, and the rule can say what works. Gitea parses commit messages that reach main. It does not parse the PR body, which closes something only if the merge happens to copy it into the merge commit message. Both halves were measured here: #83's merge commit carried "Closes #9, #13, #14, ..." and closed five of the ten, because a comma list is only partially matched; #93's merge commit body was a lone Reviewed-on: trailer, so #92 stayed open behind a perfectly correct Closes line in the PR description. So the keyword goes in the commit body as a footer, one issue per line. That costs nothing elsewhere -- Conventional Commits allows a footer, commit-check only regexes the subject, and semantic-release reads the type from the subject, so no release decision changes. The existing rule that the issue number stays out of the subject is untouched and was never about the body. The verification step stays, because a squash or a hand-edited merge message still drops the footer. This commit is the experiment: if #98 and #100 close when this branch merges without anyone touching them, the mechanism is confirmed. Closes #98 Closes #100 |