0be31803f2
docs: record phase 10, and the deferred decision it carries out
Kgothatso Ngako
2026-09-09 16:28:28 +02:00
820e83e181
test(subgroups): the ceremony in somebody else's room, and the four ways it lies
Kgothatso Ngako
2026-09-09 16:28:28 +02:00
5110687413
feat(subgroups): run the child's ceremony in the parent's room, not beside it
Kgothatso Ngako
2026-09-09 16:27:57 +02:00
ba8aa1e220
fix(subgroups): stop a parent resolving its own child's key, and let a child sign
Kgothatso Ngako
2026-09-09 16:27:24 +02:00
1c0acd546a
feat(subgroups): put the key ceremony on both transports, p-tags and all
Kgothatso Ngako
2026-09-09 16:27:06 +02:00
1e7ddd844a
feat(subgroups): schema 19 -- the two things a ceremony's own room used to answer
Kgothatso Ngako
2026-09-09 16:26:39 +02:00
45cc80b538
feat(marmot): put a # in front of every group's name, and retire (#admins)
Kgothatso Ngako
2026-09-09 11:41:30 +02:00
5c893ab108
feat(subgroups): put the ceremony that needs you at the bottom of the chat
Kgothatso Ngako
2026-09-09 02:14:11 +02:00
a6bb811b03
fix(subgroups): land the coordinator in the transcript, not on a screen offering another ceremony
Kgothatso Ngako
2026-09-09 02:03:53 +02:00
31e6fc6425
fix(subgroups): ask whether the key state is signed by ceremony, not by room
Kgothatso Ngako
2026-09-09 01:54:01 +02:00
0b65d7025b
fix(subgroups): open the ceremony a transcript line is about, not the room's newest
Kgothatso Ngako
2026-09-09 01:25:12 +02:00
98626a9ef9
fix(subgroups): find a ceremony by the room, and read its purpose off the session
Kgothatso Ngako
2026-09-09 01:04:24 +02:00
1930d6aaef
fix(subgroups): a subgroup may be the whole group
Kgothatso Ngako
2026-09-09 00:38:49 +02:00
ccaef5d36a
fix(subgroups): read the admin list off the group's data, not off a flag no creator ever sets
Kgothatso Ngako
2026-09-09 00:30:53 +02:00
0180425904
docs: record what the subgroups plan built, and the six places it chose differently
Kgothatso Ngako
2026-09-08 23:52:19 +02:00
3ae49bd338
test(subgroups): the join between the pure rules and the columns they write
Kgothatso Ngako
2026-09-08 23:51:42 +02:00
b10c79f9ed
feat(subgroups): the refusals that are about capability, not preference
Kgothatso Ngako
2026-09-08 23:50:05 +02:00
6bd59e05fe
feat(subgroups): the four-rung ladder, the picker, and the list a parent reads off its own signatures
Kgothatso Ngako
2026-09-08 23:47:29 +02:00
3b00f9f893
refactor(subgroups): lift Marmot room creation out of the ritual view model
Kgothatso Ngako
2026-09-08 23:36:00 +02:00
41853ab809
feat(subgroups): the manager, the two dispatch arms, and the list that reads signatures
Kgothatso Ngako
2026-09-08 23:31:55 +02:00
7bccf2438c
feat(subgroups): say what a ceremony is for, and stop rooms arriving nameless
Kgothatso Ngako
2026-09-08 23:25:24 +02:00
085e598ec5
feat(subgroups): a key state that names its parent, or is dropped for claiming one it cannot back
Kgothatso Ngako
2026-09-08 23:21:38 +02:00
f6217ce6ea
feat(subgroups): schema 17 -- four nullable columns, and not one of them a foreign key
Kgothatso Ngako
2026-09-08 23:17:18 +02:00
51d6a8841a
feat(subgroups): a birth certificate, and the six questions that make one mean anything
Kgothatso Ngako
2026-09-08 23:13:14 +02:00
6fb0af1147
docs: close five gaps in the subgroups plan, one of which wasted three ceremonies
Kgothatso Ngako
2026-09-08 23:04:32 +02:00
c1ce262f3e
docs: plan subgroups, and phase the four ceremonies a group needs to make one
Kgothatso Ngako
2026-09-08 22:53:31 +02:00
b50b1762d4
feat: put a room's signing key first on its detail screen, and the signed event behind it
Kgothatso Ngako
2026-09-08 21:52:36 +02:00
113eda9f4d
feat: sign a group's key state before its room exists, and put FROST on NIP-17
Kgothatso Ngako
2026-09-08 21:15:58 +02:00
a56295b0e2
docs: record what phase 8 built, and what is left for a person across all nine
Kgothatso Ngako
2026-09-08 08:26:56 +02:00
5f0afdf34d
feat: render every preview under the five conditions a screen has to survive
Kgothatso Ngako
2026-09-08 08:24:49 +02:00
9946f98ca8
docs: write the UI conventions down where they are needed
Kgothatso Ngako
2026-09-08 08:21:18 +02:00
9f09f48133
build: make the conformance audit part of check, and gate the branch on it
Kgothatso Ngako
2026-09-08 08:19:57 +02:00
b6aa2111ac
docs: record what phase 7 built, including the API the plan named that does not exist
Kgothatso Ngako
2026-09-08 08:16:46 +02:00
410ece2df9
feat: fade between a screen's states instead of cutting between them
Kgothatso Ngako
2026-09-08 08:16:05 +02:00
61793e2779
feat: give navigation its transitions from the motion scheme, and honour reduced motion
Kgothatso Ngako
2026-09-08 08:11:54 +02:00
dd40eeda76
fix: break the transcript's same-second tie on write order, so a burst reads forwards
Kgothatso Ngako
2026-09-08 08:04:21 +02:00
16775bf6c7
docs: record what phase 6 built, and give the audit a floor to defend it
Kgothatso Ngako
2026-09-08 08:04:00 +02:00
3f78eef1e8
feat: put the chat list beside the conversation, from the expanded breakpoint up
Kgothatso Ngako
2026-09-08 08:01:16 +02:00
714354ae9a
feat: give the app a navigation component, and stop the app bar duplicating it
Kgothatso Ngako
2026-09-08 07:53:27 +02:00
a53a9c3e11
feat: open the desktop window at a width the layouts are now written for
Kgothatso Ngako
2026-09-08 07:36:38 +02:00
e95ece9027
fix: give form helper text and the review list the leading edge of what they describe
Kgothatso Ngako
2026-09-08 07:34:55 +02:00
05e80bf099
feat: hold every screen's content to a readable line, and centre it in the window
Kgothatso Ngako
2026-09-08 07:31:33 +02:00
b5bb0042b1
refactor: take the chat transcript out of the view model it was living in
Kgothatso Ngako
2026-09-08 07:21:07 +02:00
03d1e8e3b1
feat: give the app the five breakpoints, and let the screen margin follow them
Kgothatso Ngako
2026-09-08 07:15:43 +02:00
043d725599
feat: draw the expressive loading indicator, and stop shouting the sign-out button
Kgothatso Ngako
2026-09-08 02:01:39 +02:00
44bf2a01f0
feat: give the app somewhere to report an outcome, and every dead-end error a way out
Kgothatso Ngako
2026-09-08 01:57:18 +02:00
2117e22d48
refactor: make the 40 interpolated UI strings format strings, and assert the argument order
Kgothatso Ngako
2026-09-08 01:45:35 +02:00
419504c982
refactor: move 315 UI strings into the resource catalogue, and prove the escapes survive
Kgothatso Ngako
2026-09-08 01:38:31 +02:00
0304aca62a
fix: sentence-case every UI string, settle the product name, and empty the dead catalogue
Kgothatso Ngako
2026-09-08 01:27:26 +02:00
1f24aaf4bb
fix: give the two single-field screens their initial focus, and check 200% text on a device
Kgothatso Ngako
2026-09-08 01:18:23 +02:00
9dc748f2d3
fix: lift the eight text-field screens above the software keyboard
Kgothatso Ngako
2026-09-08 00:57:21 +02:00
831d1c0ad4
fix: give every tappable element a real target, and every icon a decided description
Kgothatso Ngako
2026-09-08 00:52:15 +02:00
4fe47c7d46
fix: derive every call-site colour from its container, ending nine contrast failures
Kgothatso Ngako
2026-09-08 00:45:01 +02:00
1bd5ad960f
docs: record what phase 2 built, and why the audit changed shape
Kgothatso Ngako
2026-09-08 00:37:30 +02:00
8cd0f3f44d
refactor: take the last 353 spacing literals onto the scale, and reach zero
Kgothatso Ngako
2026-09-08 00:36:59 +02:00
f7a732d68a
refactor: move the 89 off-grid spacing values onto the M3 scale
Kgothatso Ngako
2026-09-08 00:32:27 +02:00
73d99f9a41
feat: put M3's spacing scale in the theme, with semantic names over it
Kgothatso Ngako
2026-09-08 00:26:05 +02:00
47bdb6f976
fix: promote the two pill colours to extended roles, fixing both contrast failures
Kgothatso Ngako
2026-09-08 00:23:31 +02:00
52b57769e1
feat: adopt MaterialExpressiveTheme, and give shape, type and motion a named home
Kgothatso Ngako
2026-09-08 00:17:41 +02:00
21d57eba54
feat: honour the platform's contrast setting, reaching four schemes that were dead code
Kgothatso Ngako
2026-09-08 00:10:06 +02:00
86c9628eee
fix: assign every ColorScheme role, so no component can fall back to Material lavender
Kgothatso Ngako
2026-09-07 23:59:34 +02:00
2b0ce8d73b
test: measure M3 conformance instead of asserting it, with a budgeted audit and a contrast test
Kgothatso Ngako
2026-09-07 23:51:34 +02:00
1c02b25a07
docs: measure the UI against the M3 foundations, and phase the work that follows
Kgothatso Ngako
2026-09-07 23:44:32 +02:00
7c41992ea7
fix: hold the wallet state where a background thread can be heard, so a device with no seed boots
Kgothatso Ngako
2026-09-07 15:57:02 +02:00
f301a924fd
fix: build a release apk, by dropping the app's copies of what the library already ships
Kgothatso Ngako
2026-09-06 22:13:32 +02:00