Skip to content

Release: develop -> main - #98

Merged
TaprootFreak merged 1 commit into
mainfrom
develop
Sep 2, 2026
Merged

Release: develop -> main#98
TaprootFreak merged 1 commit into
mainfrom
develop

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Automatic Release PR

Commits: 1 new commit(s)

  • Review all changes
  • Verify CI passes
  • Merge when ready for production

* Add skippable onboarding gates and member profile notes

Name and Lightning Address can be skipped; rules stay required. Owner JSON
gains missing. Forum, contact, invoice, and member reads use 409
missing_requirements. First saved name creates one top-level profile note
and GET /members/:id returns that live identity.

* Fix GET /me test typing for the missing field

Include missing on the owner JSON assertion type so tsc accepts the
direct equality check.

* Format skip and member-profile files with Prettier

CI prettier --check failed on the new owner-JSON and members routes.

* Cover member 503 and provision profile notes; skip backfill pushes

Dead name-409 after requireAction is gone. Worker backfill no longer
enqueues forum push for historical profile notes.

* Run profile-note backfill after the rest of the worker tick

Creating notes at tick start stole the sign/publish batch from existing
pending rows and inflated publish counts in worker tests.

* Give the worker-test profile note a unique event id

Inbound reply fixtures used aa… for m1, which collided with the seeded
profile note and skipped kind:1 indexing.

* Skip hashtag re-sign for profile forum notes

Profile notes store a display name and must not be rewritten with
Damus #bitcoin/#21gifts, which was republishing them on later ticks.

* Cover profile-note push, skip timestamps, and debug backfill

Push enqueue failure, mapped skip timestamps, POST /me/name with a
push store, and debug provision of an existing named account now
exercise the remaining profile-note branches.

* Document members 503, tighten profile-note docs, and cover debug push

SPEC now includes the store-unavailable 503. Debug provision tests pass
a push store so the optional enqueue path is covered.

* Share debug profile-note args so optional push is covered

One helper owns the optional pushStore spread; provision tests cover
both the configured and unconfigured branches.

* Re-read the account before attaching a profile note

A stale snapshot no longer overwrites live fields. A raced insert is
deleted when another note already won. Worker TSDoc skips hashtag
resign on profile notes.

* Keep the incoming name when attaching a profile note

Re-read merges live columns but still persists the name from the
caller when the stored row has none, so POST /me/name does not write null.

* Apply the new name after attaching the profile note

ensureProfileMessage only sets profileMessageId on the live row.
POST /me/name writes the requested name afterwards so a rename is not
kept at the previous live value.

* Agree to rules before the forum replies e2e posts

forum.post now requires rules, and debug provision does not set
rulesAgreedAt.

* Let ensureProfileMessage persist debug profile notes

A second updateAccount after a successful ensure rewrote the live
row and could clobber concurrent fields.

* Re-read the live account after attaching a profile note

POST /me/name now copies the requested name onto the current row so a
concurrent lightning-address or rules write is not overwritten. SPEC
documents 409 missing_requirements on pay-on-note.

* Cover the live re-read after attaching a profile note

* Delete a raced profile note when a later write wins
@TaprootFreak
TaprootFreak merged commit 1a2945b into main Sep 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant