This website requires JavaScript.
dff41d417d
feat(frost): move a signing session's per-event columns onto FrostSigningItem
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:33:46 +02:00
eb34c8edb3
feat: sign a chapter into the artifact instead of submitting one
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:15:36 +02:00
2089fdf8f0
test: cover the ceremony a robust room is created with
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:09:06 +02:00
0c240a31c8
feat: open a robust group's key ceremony as it is created
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:08:44 +02:00
de3b355600
feat: hand back a room's running ceremony rather than opening a second
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:08:17 +02:00
a805455df8
Merge branch 'mantra' into claude/groupkeystate-frost-proposal-206090
Kgothatso Ngako
2026-09-06 03:41:48 +02:00
44127cf514
test: exercise MarmotOutboundDao past the MLS guard
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:35:27 +02:00
ed7a866421
test: run a real signing session between two devices, over two databases
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:29:11 +02:00
5fa0d08dfd
test: cover nip17 room derivation and its preconditions
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:25:19 +02:00
8a6cb81bf9
test: cover the FROST signing session state
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:25:01 +02:00
168d16c933
test: cover the DKG ritual state a ceremony is resumed from
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:24:49 +02:00
a8f6638325
feat: sign a room's key state into being, at the room's own key
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:18:58 +02:00
baecb76253
test: cover the query a marmot reindex decides its work from
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:11:58 +02:00
521a4f5690
test: pin the epoch secret retention window
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:11:58 +02:00
d355b68355
test: cover the outbound broadcast queue and its stale sweep
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:11:33 +02:00
02e70d992a
test: cover the MarmotOutboundDao membership guards
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:05:51 +02:00
ba0c60dd2e
test: cover the NostrDao event funnel and the publish durability split
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:05:36 +02:00
36a98c5928
test: pin the nip30303 store-and-submit invariant in MantraDao
Kgothatso Ngako and Claude Opus 5
2026-09-06 03:05:17 +02:00
20d2547a34
test: cover the hand-written NostrEventDao queries against sqlite
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:50:32 +02:00
5623df530c
test: execute the nostr filter query against real sqlite
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:50:14 +02:00
9c50b4fcee
build: advance lightning-kmp-app onto the jvm target test coverage
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:34:30 +02:00
f600c9f87a
build: pin lightning-kmp-app back to the jvm-target branch
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:14:11 +02:00
a00fc1775c
build: pin lightning-kmp-app to master instead of the jvm-target branch
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:12:51 +02:00
af81933ab4
Merge branch 'mantra' into claude/room-db-testing-setup-b053cd
Kgothatso Ngako and Claude Opus 5
2026-09-06 02:01:35 +02:00
607ef72bc3
Merge branch 'mantra' into claude/marmot-group-reindex-events-96a0d0
Kgothatso Ngako
2026-09-06 01:52:10 +02:00
925099125b
feat: read a room's group events again when they arrived out of order
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:49:57 +02:00
6aff34c5c7
Merge branch 'mantra' into claude/artifact-frost-signing-proposal-a414f6
Kgothatso Ngako
2026-09-06 01:38:08 +02:00
786c0602da
feat: sign an artifact into the library instead of submitting one
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:37:58 +02:00
adf1f03817
feat: a desktop entry point, and the first code here that runs
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:34:10 +02:00
024da99404
test: pin what a member who never took part needs to finish a session
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:26:52 +02:00
bf4041a5b2
feat: mantra compiles for the jvm
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:23:42 +02:00
b87e6e4ed5
Merge branch 'mantra' into claude/frost-proposal-review-visibility-8f6fab
Kgothatso Ngako
2026-09-06 01:13:47 +02:00
e22a8ae4cd
fix: stop asking a member to review a signature the group has settled
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:13:42 +02:00
670f87a609
docs: record what phase 3 turned out to require
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:13:07 +02:00
02117643c4
fix: send a group event because it was queued, not because the chat mentions it
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:06:05 +02:00
506dfea802
docs: correct phase 2 against what the jdbc drivers actually needed
Kgothatso Ngako and Claude Opus 5
2026-09-06 01:04:02 +02:00
0757e50dc5
docs: correct the jvm plan against what phase 1 actually did
Kgothatso Ngako and Claude Opus 5
2026-09-06 00:53:51 +02:00
2aaa7b99a6
build: phase 0 of the jvm target -- clear the ground, correct the plan
Kgothatso Ngako and Claude Opus 5
2026-09-06 00:44:10 +02:00
65e4a3acc0
fix: seal the Welcome, the one gift wrap an MLS room must publish
Kgothatso Ngako and Claude Opus 5
2026-09-06 00:40:31 +02:00
5abc37e463
docs: scope the jvm target, and separate it from testing the daos
Kgothatso Ngako and Claude Opus 5
2026-09-06 00:38:11 +02:00
39eac61838
Merge branch 'mantra' into claude/long-running-chat-sync-8983dc
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:58:40 +02:00
bcdfd2ec94
Merge branch 'mantra' into claude/marmot-direct-message-type-7a0473
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:45:08 +02:00
a909108300
feat: announce which key a room signs with, instead of rederiving it
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:36:34 +02:00
c8cbd936f1
docs: record where the sync's safety net is, and where it is not
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:32:53 +02:00
f5eb744ca7
test: cover the long-running sync, and open the seams needed to do it
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:31:11 +02:00
0319f1613b
Merge branch 'mantra' into claude/nostr-event-save-issue-6e9467
Kgothatso Ngako
2026-09-05 23:30:28 +02:00
5321e4af72
Merge branch 'mantra' into claude/distracted-franklin-e95ba4
Kgothatso Ngako
2026-09-05 23:24:45 +02:00
fb21678813
test: pin where a commit's bytes land when the row recording it is written
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:24:21 +02:00
ad3304a665
refactor: build the DM inbox filter once, where it can be asserted
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:22:06 +02:00
e1d35bbd6c
test: pin who can open a gift wrap, and what happens to everyone else's
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:21:52 +02:00
42dd38cfc4
test: pin the two invariants this session left unguarded
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:18:54 +02:00
c24cbed390
docs: record what the coverage work found, and what it left uncovered
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:18:19 +02:00
a74a4b71cf
test: cover the two decisions that decide who said what
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:17:43 +02:00
d110737f9a
fix: keep a room's MlsGroup alive so a late message can still be read
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:09:53 +02:00
f38a5f12f3
fix: ask relays for gift wraps addressed to us, not to our peers
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:07:03 +02:00
f57644aa1f
fix: stop discarding gift wraps addressed to someone else
Kgothatso Ngako and Claude Opus 5
2026-09-05 23:06:49 +02:00
3e4166f13d
feat: sign a dialect into existence instead of submitting one
Kgothatso Ngako and Claude Opus 5
2026-09-05 22:09:47 +02:00
63c1879ace
refactor: carry signing on marmot inner events, not gift wraps
Kgothatso Ngako and Claude Opus 5
2026-09-05 21:55:10 +02:00
b4ac65f5c9
feat: sign a nostr event with the group's shared key
Kgothatso Ngako and Claude Opus 5
2026-09-05 21:38:23 +02:00
fcc28de931
Revert "fix: hold a payload whose parent has not arrived instead of losing the event"
Kgothatso Ngako and Claude Opus 5
2026-09-05 21:12:50 +02:00
d7aac49cf1
fix: hold a payload whose parent has not arrived instead of losing the event
Kgothatso Ngako and Claude Opus 5
2026-09-05 21:05:35 +02:00
2d0fe6f5fc
fix: disable Add Artifact until a dialect is picked
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:38:03 +02:00
6c63027912
feat: submit nip30303 events to the group instead of authoring them into it
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:21:52 +02:00
ce77b77240
feat: apply the nip30303 event a submission carries, keeping its author
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:21:25 +02:00
fa380e94e1
feat: add a SubmissionEvent that carries a nip30303 event as its payload
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:21:00 +02:00
e14be2d187
refactor: pick an artifact's dialect, do not invent one while adding it
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:20:35 +02:00
6ff9fd2d38
feat: let a group define the dialects it translates into
Kgothatso Ngako and Claude Opus 5
2026-09-05 20:20:07 +02:00
635cef9311
docs: write down how a direct message travels, and what it costs
Kgothatso Ngako and Claude Opus 5
2026-09-05 19:10:22 +02:00
b0d0199113
feat: let a member send and read a private message in the room
Kgothatso Ngako and Claude Opus 5
2026-09-05 19:08:36 +02:00
79e62d8239
fix: attribute a group message to the member who sent it
Kgothatso Ngako and Claude Opus 5
2026-09-05 19:05:49 +02:00
5ae974517b
feat: read a direct message, or say one was sent
Kgothatso Ngako and Claude Opus 5
2026-09-05 19:04:39 +02:00
1700e6d899
feat: send a direct message into the group, wrapped for one member
Kgothatso Ngako and Claude Opus 5
2026-09-05 19:01:50 +02:00
296011dcd5
feat: give a queued message somewhere to say who it is private to
Kgothatso Ngako and Claude Opus 5
2026-09-05 18:58:57 +02:00
79e99ae702
feat: build the envelope a direct message travels in
Kgothatso Ngako and Claude Opus 5
2026-09-05 18:57:11 +02:00
c8c962e4f4
docs: inventory the unreferenced code in the sync and relay stack
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:28:21 +02:00
385c58ba7e
docs: rewrite the sync note as what exists rather than what to build
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:20:08 +02:00
ca1093637c
refactor(chat): stop syncing chat messages on screen open
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:18:28 +02:00
0ef0a33350
feat(chat): close live subscriptions in the background, catch up on return
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:15:51 +02:00
f81dc6af69
feat(chat): keep group subscriptions open, and follow membership as it changes
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:12:40 +02:00
ba05ec704d
feat(chat): keep a gift wrap subscription open for as long as the app is active
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:09:08 +02:00
3ade53607a
feat(relays): plumbing for subscriptions that are meant to stay open
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:05:19 +02:00
c3b0c8671b
feat(relays): reconnect dropped sockets and replay what they were carrying
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:02:11 +02:00
178ddd0181
docs: write down how a long-running chat sync would work
Kgothatso Ngako and Claude Opus 5
2026-09-05 16:01:47 +02:00
248a527267
fix: store the framed commit on MarmotCommitResult, not the exporter secret
Kgothatso Ngako and Claude Opus 5
2026-09-05 15:55:54 +02:00
907dba3c3b
fix: create the #admins room only once every member can be added
Kgothatso Ngako and Claude Opus 5
2026-09-05 15:12:06 +02:00
3dea07135c
fix: add a group's whole membership in one commit, closing the epoch race
Kgothatso Ngako and Claude Opus 5
2026-09-05 15:02:06 +02:00
8fc1c9e650
fix: stop deferring the first invitee's welcome behind a commit nobody needs
Kgothatso Ngako and Claude Opus 5
2026-09-05 14:44:28 +02:00
b99cb8fcd5
docs: write down the shared-key subsystem and how Marmot membership fails
Kgothatso Ngako and Claude Opus 5
2026-09-05 14:39:19 +02:00
9f14679aac
feat: let the coordinator open a #admins room keyed on the shared key
Kgothatso Ngako and Claude Opus 5
2026-09-05 14:38:58 +02:00
b200916844
feat: show the group's key in full, with a copy button
Kgothatso Ngako and Claude Opus 5
2026-09-05 13:45:34 +02:00
cae50ce359
feat: hold the ritual until its owner approves each step
Kgothatso Ngako and Claude Opus 5
2026-09-05 13:43:46 +02:00
6a5b6cd6cb
Add ephemeral Relays.kt
Kgothatso Ngako
2026-09-05 13:41:00 +02:00
d9d27cd0ea
fix: stop one bad request or one silent relay from stalling all synchronization
Kgothatso Ngako and Claude Opus 5
2026-09-05 11:27:44 +02:00
2d29fc0a37
fix: reconcile with a relay to completion instead of stopping after one round
Kgothatso Ngako and Claude Opus 5
2026-09-05 11:27:04 +02:00
661a5caa17
fix: build the local negentropy set from the whole filter, not a guess at its shape
Kgothatso Ngako and Claude Opus 5
2026-09-05 11:25:15 +02:00
d8729c5bff
fix: sync group chat against live messages, not expired ones
Kgothatso Ngako and Claude Opus 5
2026-09-05 11:24:21 +02:00
3576c00ce2
feat: put every ritual message in the group's chat, naming who sent it
Kgothatso Ngako and Claude Opus 5
2026-09-05 10:43:01 +02:00
74c352ab35
fix: show NIP-17 messages that arrive, not just the ones you send
Kgothatso Ngako and Claude Opus 5
2026-09-05 00:59:07 +02:00
3f4f05162d
feat: say who opened the ceremony on the shared key screen
Kgothatso Ngako and Claude Opus 5
2026-09-05 00:52:35 +02:00
3fad331969
feat: name every member on the shared key ceremony screen
Kgothatso Ngako and Claude Opus 5
2026-09-05 00:47:02 +02:00