| 2026-06-24 01:13 | app: share NIP-46 signer execution | triesap | 6 | +245 | -197 |
| 2026-06-20 04:21 | app: align order negotiation workflow | triesap | 18 | +302 | -1596 |
| 2026-06-20 03:39 | app: align order UI copy with agreements | triesap | 4 | +26 | -56 |
| 2026-06-20 03:32 | app: prune agreement-only order state | triesap | 28 | +631 | -6165 |
| 2026-06-19 23:23 | sync: guard deferred payment publish work | triesap | 1 | +17 | -5 |
| 2026-06-19 22:00 | runtime: harden listing publish retry state | triesap | 6 | +323 | -39 |
| 2026-06-19 21:18 | runtime: propagate listing SDK enqueue failure | triesap | 5 | +213 | -23 |
| 2026-06-19 11:29 | runtime: align order lifecycle SDK evidence tests | triesap | 1 | +445 | -373 |
| 2026-06-19 10:56 | runtime: remove listing direct publish guard exceptions | triesap | 2 | +29 | -86 |
| 2026-06-19 10:52 | runtime: migrate listing publish to SDK runtime | triesap | 2 | +277 | -587 |
| 2026-06-19 10:28 | runtime: add SDK listing enqueue command | triesap | 4 | +231 | -13 |
| 2026-06-19 08:46 | view: align order projection fixture | triesap | 1 | +1 | -0 |
| 2026-06-19 06:59 | app: route order lifecycle through sdk | triesap | 5 | +1023 | -271 |
| 2026-06-19 05:58 | app: route order decisions through sdk | triesap | 5 | +443 | -139 |
| 2026-06-19 05:07 | app: migrate farm and order publish to sdk | triesap | 8 | +906 | -379 |
| 2026-06-19 04:35 | store: add sdk migration receipts | triesap | 6 | +719 | -9 |
| 2026-06-18 21:41 | app: harden sdk runtime shutdown | triesap | 1 | +96 | -42 |
| 2026-06-18 21:35 | app: expand sdk boundary source guards | triesap | 1 | +107 | -84 |
| 2026-06-18 21:29 | app: surface sdk diagnostics in about status | triesap | 5 | +805 | -20 |
| 2026-06-18 21:15 | app: defer validation receipt migration audit | triesap | 1 | +29 | -3 |
| 2026-06-18 21:12 | app: harden sdk migration audit statuses | triesap | 1 | +357 | -11 |
| 2026-06-18 20:45 | app: add sdk boundary source guards | triesap | 2 | +474 | -1 |
| 2026-06-18 20:28 | app: add sdk restore lifecycle guards | triesap | 2 | +484 | -28 |
| 2026-06-18 20:22 | app: add read-only sdk migration audit | triesap | 2 | +946 | -0 |
| 2026-06-18 20:13 | app: surface sdk runtime diagnostics | triesap | 3 | +417 | -7 |
| 2026-06-18 20:07 | app: add sdk runtime foundation | triesap | 5 | +709 | -24 |
| 2026-06-18 19:56 | app: align sdk local runtime dependency | triesap | 4 | +302 | -65 |
| 2026-06-18 19:31 | build: refresh dependency lockfile | triesap | 1 | +0 | -1 |
| 2026-06-14 21:48 | runtime: align trade reducer APIs | triesap | 3 | +44 | -32 |
| 2026-06-13 23:37 | sdk: align app order event types | triesap | 4 | +586 | -343 |
| 2026-06-13 22:09 | sdk: point app at SDK workspace | triesap | 4 | +42 | -26 |
| 2026-06-13 07:44 | app: align typed order ids | triesap | 4 | +227 | -174 |
| 2026-06-13 02:48 | app: align order event consumer APIs | triesap | 5 | +677 | -748 |
| 2026-06-09 18:51 | ui: update blossom settings status | triesap | 5 | +69 | -13 |
| 2026-06-09 18:41 | ui: update relay settings actions | triesap | 2 | +38 | -28 |
| 2026-06-08 02:47 | ui: fix sidebar account menu layout | triesap | 1 | +19 | -9 |
| 2026-06-08 02:00 | ui: refine sidebar account menu | triesap | 1 | +13 | -12 |
| 2026-06-08 01:53 | ui: add sidebar account menu | triesap | 4 | +168 | -14 |
| 2026-06-08 00:34 | ui: tighten shared pill tabs | triesap | 1 | +10 | -7 |
| 2026-06-08 00:08 | ui: bound farm details card scroll | triesap | 2 | +43 | -28 |
| 2026-06-07 23:59 | ui: refine farm profile summary | triesap | 2 | +17 | -12 |
| 2026-06-07 23:54 | ui: fix account content width | triesap | 1 | +1 | -0 |
| 2026-06-07 23:49 | ui: fix account farm layout alignment | triesap | 2 | +5 | -20 |
| 2026-06-07 23:45 | ui: fix farm details profile layout | triesap | 1 | +25 | -22 |
| 2026-06-07 23:40 | ui: align farm pill tab styling | triesap | 2 | +61 | -10 |
| 2026-06-07 23:35 | ui: fix farm details sticky tabs | triesap | 1 | +88 | -75 |
| 2026-06-07 23:23 | ui: add farm details nested tabs | triesap | 7 | +195 | -22 |
| 2026-06-07 23:17 | ui: revert account tab scroll edge | triesap | 1 | +0 | -7 |
| 2026-06-07 23:11 | ui: tighten account tab scroll edge | triesap | 1 | +7 | -0 |
| 2026-06-07 23:05 | ui: fix account tab action header | triesap | 1 | +111 | -70 |
| 2026-06-07 22:57 | ui: remove farm profile completeness card | triesap | 4 | +1 | -204 |
| 2026-06-07 22:51 | ui: expand farm details scroll view | triesap | 5 | +1227 | -52 |
| 2026-06-07 22:26 | ui: move account form actions into headings | triesap | 7 | +272 | -76 |
| 2026-06-07 22:11 | ui: refine settings relay row controls | triesap | 6 | +156 | -44 |
| 2026-06-07 21:55 | ui: bootstrap account settings view | triesap | 5 | +438 | -12 |
| 2026-06-07 21:35 | ui: add farm details heading | triesap | 5 | +20 | -10 |
| 2026-06-07 21:28 | ui: soften form focus and harmonize account defaults | triesap | 3 | +27 | -5 |
| 2026-06-07 21:22 | ui: set account form controls to 28px | triesap | 1 | +1 | -1 |
| 2026-06-07 21:21 | ui: set account form controls to 34px | triesap | 1 | +1 | -1 |
| 2026-06-07 21:17 | ui: unify account form control height | triesap | 1 | +20 | -17 |
| 2026-06-07 21:12 | ui: prevent farm textarea first-paint overflow | triesap | 1 | +83 | -10 |
| 2026-06-07 21:04 | ui: keep choice button size stable | triesap | 1 | +16 | -4 |
| 2026-06-07 20:56 | fix: apply shell surface route on top nav | triesap | 1 | +32 | -1 |
| 2026-06-07 20:52 | fix: reset account route on surface selection | triesap | 1 | +59 | -5 |
| 2026-06-07 20:43 | ui: refine account form control sizing | triesap | 1 | +6 | -3 |
| 2026-06-07 20:42 | ui: align account form select styling | triesap | 1 | +16 | -1 |
| 2026-06-07 20:38 | ui: tune account form density | triesap | 1 | +45 | -13 |
| 2026-06-07 20:11 | ui: bootstrap account farm details step | triesap | 5 | +748 | -1 |
| 2026-06-07 20:04 | ui: make account profile form interactive | triesap | 6 | +369 | -143 |
| 2026-06-07 19:50 | ui: add account profile details panel | triesap | 6 | +309 | -35 |
| 2026-06-07 19:40 | ui: seat account tab indicator | triesap | 1 | +21 | -19 |
| 2026-06-07 19:36 | ui: align account tab underline color | triesap | 1 | +15 | -4 |
| 2026-06-07 19:33 | ui: tune account underline tabs | triesap | 2 | +21 | -3 |
| 2026-06-07 19:27 | app: add account tab surface | triesap | 10 | +268 | -24 |
| 2026-06-07 18:50 | app: add settings about product section | triesap | 5 | +178 | -3 |
| 2026-06-07 18:38 | ui: tune settings account card | triesap | 3 | +21 | -15 |
| 2026-06-07 18:31 | app: refine settings account selector | triesap | 5 | +149 | -18 |
| 2026-06-07 18:26 | ui: round account dropdown trigger | triesap | 1 | +4 | -14 |
| 2026-06-07 18:22 | app: refine settings account dropdown | triesap | 7 | +113 | -51 |
| 2026-06-07 18:12 | app: refine settings account footer actions | triesap | 1 | +34 | -8 |
| 2026-06-07 18:09 | app: refine settings account actions | triesap | 3 | +31 | -31 |
| 2026-06-07 17:59 | app: fix settings account window | triesap | 2 | +279 | -69 |
| 2026-06-07 05:54 | app: enforce settings width token | triesap | 3 | +26 | -10 |
| 2026-06-07 05:50 | app: read general settings from runtime | triesap | 3 | +91 | -20 |
| 2026-06-07 05:46 | app: return issue submits to order detail | triesap | 1 | +31 | -6 |
| 2026-06-07 05:44 | app: reopen focused order details | triesap | 1 | +165 | -26 |
| 2026-06-07 05:41 | app: add focused commerce views | triesap | 8 | +688 | -658 |
| 2026-06-06 22:06 | app: enlarge macos icon logomark | triesap | 1 | +0 | -0 |
| 2026-06-06 21:43 | app: update macos icon source | triesap | 1 | +0 | -0 |
| 2026-06-06 06:16 | app: add passive validation receipt evidence | triesap | 15 | +1597 | -28 |
| 2026-06-06 05:34 | app: add buyer issue receipt parity | triesap | 17 | +1364 | -98 |
| 2026-06-06 04:53 | app: add seller fulfillment authoring parity | triesap | 10 | +465 | -262 |
| 2026-06-06 04:17 | app: add passive payment display states | triesap | 11 | +588 | -8 |
| 2026-06-06 03:55 | runtime: use shared trade event kind constants | triesap | 5 | +136 | -24 |
| 2026-06-06 03:11 | app: prove relay settlement preflight | triesap | 1 | +135 | -7 |
| 2026-06-06 02:49 | app: make lifecycle preflight payment aware | triesap | 1 | +778 | -91 |
| 2026-06-05 23:55 | app: preserve reducer lifecycle parents | triesap | 1 | +242 | -46 |
| 2026-06-05 05:55 | app: align lifecycle evidence with reducer | triesap | 3 | +736 | -106 |
| 2026-06-05 04:53 | orders: align fulfillment gates with workflow evidence | triesap | 2 | +233 | -37 |
| 2026-06-05 03:28 | orders: align lifecycle action vocabulary | triesap | 7 | +182 | -71 |
| 2026-06-05 00:53 | app: harden selected buyer nostr scope | triesap | 1 | +56 | -10 |
| 2026-06-05 00:41 | app: remove stale local order mutations | triesap | 4 | +89 | -281 |
| 2026-06-05 00:13 | app: align linked buyer lifecycle actions | triesap | 5 | +708 | -95 |
| 2026-06-04 23:24 | app: show relay buyer orders for selected account | triesap | 3 | +259 | -88 |
| 2025-08-25 15:37 | Initial commit. | triesap | 0 | +0 | -0 |
| 2026-06-04 01:30 | tests: refresh workflow surface coverage | triesap | 2 | +248 | -1 |
| 2026-06-04 01:18 | guards: harden workflow copy checks | triesap | 2 | +302 | -42 |
| 2026-06-04 01:06 | orders: align farmer workflow projection | triesap | 5 | +464 | -150 |
| 2026-06-04 00:36 | buyer: align order review workflow | triesap | 13 | +921 | -354 |
| 2026-06-03 23:54 | sync: use shared fulfillment state | triesap | 3 | +78 | -69 |
| 2026-06-03 23:29 | view: derive workflow projection from trade reducer | triesap | 4 | +356 | -181 |
| 2026-06-03 18:51 | store: fail closed on workflow revision keys | triesap | 4 | +284 | -22 |
| 2026-06-03 08:27 | app: reserve payment workflow presentation | triesap | 5 | +113 | -7 |
| 2026-06-03 08:19 | app: add active trade revision workflow | triesap | 14 | +1355 | -38 |
| 2026-06-03 07:50 | app: publish active trade lifecycle events | triesap | 8 | +1401 | -56 |
| 2026-06-03 07:20 | app: harden seller order decision preflight | triesap | 1 | +72 | -12 |
| 2026-06-03 07:14 | app: show localized trade workflow badges | triesap | 9 | +410 | -114 |
| 2026-06-03 06:42 | app: show order economics payment status | triesap | 10 | +366 | -47 |
| 2026-06-03 06:07 | store: project active trade events through reducer | triesap | 4 | +1035 | -64 |
| 2026-06-03 05:50 | view: define trade workflow projection contract | triesap | 4 | +635 | -10 |
| 2026-05-26 22:52 | tests: add direct relay publish coverage | triesap | 1 | +167 | -0 |
| 2026-05-26 19:47 | store: organize app repositories | triesap | 14 | +7199 | -7188 |
| 2026-05-26 19:44 | models: split app types and views | triesap | 37 | +4503 | -4464 |
| 2026-05-26 19:36 | build: update app crate path references | triesap | 0 | +0 | -0 |
| 2026-05-26 19:34 | build: move app crate directories | triesap | 78 | +89 | -90 |
| 2026-05-26 17:58 | sqlite: make duplicate replacement atomic | triesap | 1 | +198 | -0 |
| 2026-05-26 17:54 | sqlite: preserve buyer state on listing convergence | triesap | 2 | +279 | -45 |
| 2026-05-26 17:48 | sqlite: guard listing currentness | triesap | 1 | +492 | -4 |
| 2026-05-26 17:43 | sqlite: gate network app listing projection reuse | triesap | 1 | +396 | -40 |
| 2026-05-26 11:51 | sqlite: prune superseded listing projections | triesap | 1 | +169 | -0 |
| 2026-05-26 11:33 | sqlite: converge app-origin listing projections | triesap | 1 | +148 | -1 |
| 2026-05-26 09:19 | runtime: mark relay ingest as network source | triesap | 2 | +53 | -10 |
| 2026-05-26 08:31 | runtime: align relay ingest projection tests | triesap | 1 | +27 | -19 |
| 2026-05-26 07:57 | runtime: fix relay source provenance | triesap | 2 | +32 | -50 |
| 2026-05-26 04:35 | sqlite: require usable order request evidence | triesap | 2 | +280 | -25 |
| 2026-05-26 04:21 | runtime: require fresh relay state before seller decisions | triesap | 1 | +156 | -1 |
| 2026-05-26 04:11 | sqlite: preserve app order event evidence | triesap | 1 | +287 | -16 |
| 2026-05-26 03:19 | runtime: accept relay-ingested order evidence | triesap | 5 | +292 | -27 |
| 2026-05-26 02:46 | runtime: refresh sync status after receipts | triesap | 1 | +66 | -1 |
| 2026-05-26 02:07 | orders: publish seller decisions | triesap | 1 | +194 | -13 |
| 2026-05-26 01:54 | orders: prepare seller decision payloads | triesap | 6 | +1272 | -30 |
| 2026-05-26 01:24 | checkout: require account for order placement | triesap | 3 | +275 | -125 |
| 2026-05-26 01:08 | orders: add declined order projection | triesap | 11 | +513 | -11 |
| 2026-05-25 22:27 | sync: preserve empty sync transport requests | triesap | 2 | +12 | -1 |
| 2026-05-25 21:03 | sync: persist relay ingest freshness | triesap | 6 | +902 | -81 |
| 2026-05-25 20:34 | sync: use observed relay provenance | triesap | 3 | +214 | -13 |
| 2026-05-25 20:06 | sync: run relay ingest after outbound failure | triesap | 1 | +187 | -40 |
| 2026-05-25 19:42 | sqlite: project signed order events | triesap | 4 | +860 | -7 |
| 2026-05-25 09:59 | runtime: close relay validation guards | triesap | 3 | +42 | -39 |
| 2026-05-25 09:22 | sync: preserve relay-ingested farm visibility | triesap | 1 | +273 | -2 |
| 2026-05-25 08:15 | sync: gate order provenance relay | triesap | 1 | +110 | -17 |
| 2026-05-25 08:04 | sync: add desktop relay ingest | triesap | 2 | +792 | -24 |
| 2026-05-25 07:27 | config: enforce strict relay urls | triesap | 4 | +95 | -31 |
| 2026-05-25 07:19 | sync: use canonical relay evidence | triesap | 1 | +24 | -18 |
| 2026-05-25 05:24 | runtime: use canonical relay fingerprints | triesap | 1 | +19 | -4 |
| 2026-05-25 04:49 | runtime: bind receipts to payload account | triesap | 2 | +163 | -16 |
| 2026-05-25 04:40 | runtime: validate relay urls | triesap | 3 | +95 | -2 |
| 2026-05-25 03:04 | products: block stale availability publish work | triesap | 5 | +408 | -54 |
| 2026-05-25 02:53 | sync: bind publish signing to payload account | triesap | 1 | +196 | -17 |
| 2026-05-25 02:45 | sync: keep partial publish results truthful | triesap | 3 | +242 | -34 |
| 2026-05-25 02:39 | buyer: persist listing relay provenance | triesap | 6 | +204 | -20 |
| 2026-05-25 02:29 | runtime: require configured relay set | triesap | 6 | +145 | -95 |
| 2026-05-25 01:51 | app: remove obsolete sync warnings | triesap | 4 | +12 | -95 |
| 2026-05-25 01:39 | sync: prove direct relay convergence | triesap | 4 | +612 | -180 |
| 2026-05-25 00:39 | sync: harden listing publishability | triesap | 13 | +578 | -187 |
| 2026-05-25 00:14 | sync: add direct relay app transport | triesap | 6 | +827 | -13 |
| 2026-05-24 23:59 | sync: recover order coordination on resume | triesap | 1 | +55 | -1 |
| 2026-05-24 23:54 | sync: make app outbox deterministic | triesap | 7 | +431 | -65 |
| 2026-05-24 23:42 | sync: add typed app publish work | triesap | 5 | +527 | -0 |
| 2026-05-24 22:17 | app: add buyer order retry action | triesap | 6 | +174 | -13 |
| 2026-05-24 22:00 | app: split order recovery proofs | triesap | 1 | +192 | -152 |
| 2026-05-24 21:51 | app: enqueue order sync after recovery retry | triesap | 1 | +132 | -11 |
| 2026-05-24 20:25 | app: refresh orders after coordination retry | triesap | 1 | +195 | -26 |
| 2026-05-24 20:20 | app: show saved orders after coordination failure | triesap | 6 | +104 | -39 |
| 2026-05-24 17:56 | app: preserve buyer order bin identity | triesap | 6 | +327 | -63 |
| 2026-05-24 17:40 | app: add buyer order coordination recovery | triesap | 5 | +587 | -9 |
| 2026-05-24 11:38 | app: scope reminder schedule keys | triesap | 2 | +12 | -4 |
| 2026-05-24 11:17 | app: fix buyer order economics export | triesap | 1 | +8 | -3 |
| 2026-05-24 10:28 | app: append buyer order local work | triesap | 8 | +948 | -9 |
| 2026-05-24 10:06 | app: add typed buyer notices | triesap | 5 | +178 | -63 |
| 2026-05-24 09:53 | core: use shared local events path contract | triesap | 4 | +16 | -15 |
| 2026-05-24 08:39 | core: centralize shared local events paths | triesap | 3 | +104 | -43 |
| 2026-05-24 08:26 | app: surface buyer freshness errors | triesap | 2 | +190 | -15 |
| 2026-05-24 06:26 | tests: record buyer section log literals | triesap | 1 | +2 | -0 |
| 2026-05-24 05:23 | core: add app path env reader | triesap | 1 | +39 | -8 |
| 2026-05-24 05:16 | runtime: refresh buyer Browse selection | triesap | 2 | +169 | -16 |
| 2026-05-24 05:04 | runtime: refresh same-query buyer search | triesap | 1 | +88 | -8 |
| 2026-05-24 04:41 | style: format app runtime baseline | triesap | 5 | +1088 | -720 |
| 2026-05-24 02:09 | runtime: refresh buyer local events | triesap | 1 | +173 | -0 |
| 2026-05-23 23:15 | app: add repo-local path profile | triesap | 3 | +154 | -26 |
| 2026-05-23 21:12 | sqlite: project interop listings for buyers | triesap | 1 | +746 | -2 |
| 2026-05-23 20:57 | sqlite: converge signed app listings | triesap | 1 | +230 | -10 |
| 2026-05-23 19:57 | sqlite: replay app local interop records | triesap | 1 | +345 | -21 |
| 2026-05-23 17:29 | sqlite: move local interop cursor into app state | triesap | 3 | +118 | -34 |
| 2026-05-23 10:09 | runtime: expose path-scoped desktop bootstrap | triesap | 2 | +26 | -2 |
| 2026-05-23 09:34 | runtime: mark unresolved app local records non-exportable | triesap | 1 | +141 | -22 |
| 2026-05-23 09:23 | sqlite: prefer signed local interop identity | triesap | 1 | +174 | -20 |
| 2026-05-23 09:20 | sqlite: make local interop change-cursor aware | triesap | 2 | +134 | -14 |
| 2026-05-23 07:49 | app: write app local work records | triesap | 2 | +472 | -7 |
| 2026-05-23 07:19 | app: refresh shared local events on demand | triesap | 3 | +271 | -22 |
| 2026-05-23 06:58 | sqlite: preserve confirmed listing lifecycle state | triesap | 1 | +93 | -7 |
| 2026-05-23 06:55 | sqlite: map signed listing lifecycle status | triesap | 1 | +196 | -8 |
| 2026-05-23 04:12 | local_interop: project signed listing tags | triesap | 1 | +238 | -17 |
| 2026-05-23 03:45 | local_interop: import shared CLI records into app state | triesap | 9 | +1135 | -11 |
| 2026-04-30 14:19 | macos: update app icon source | triesap | 1 | +0 | -0 |
| 2026-04-29 22:03 | macos: fix app icon and gpui sdk build | triesap | 4 | +54 | -7 |
| 2026-04-29 20:23 | tests: restore pack day validation coverage | triesap | 1 | +1 | -3 |
| 2026-04-28 19:13 | tests: prove pack day batch workflow | triesap | 4 | +110 | -6 |
| 2026-04-28 19:08 | pack-day: harden batch print requests | triesap | 2 | +208 | -33 |
| 2026-04-28 18:50 | tests: expand pack day validation | triesap | 3 | +11 | -5 |
| 2026-04-28 18:47 | macos: make host smoke deterministic | triesap | 2 | +7 | -1 |
| 2026-04-28 18:06 | app: wire pack day batch print action | triesap | 3 | +737 | -24 |
| 2026-04-28 17:46 | app: add pack day batch queue execution | triesap | 1 | +246 | -7 |
| 2026-04-28 17:41 | app: add pack day batch print preflight | triesap | 1 | +219 | -13 |
| 2026-04-28 17:33 | app: add pack day batch print contracts | triesap | 5 | +525 | -8 |
| 2026-04-28 16:39 | docs: align app readme with desktop scope | triesap | 0 | +0 | -0 |
| 2026-04-23 08:29 | build: pin mf2_i18n to the upstream git revision | triesap | 2 | +8 | -1 |
| 2026-04-22 22:15 | app: fail closed on customer-label overflow | triesap | 2 | +133 | -28 |
| 2026-04-22 22:07 | app: clean pack day prepared print assets | triesap | 2 | +1006 | -912 |
| 2026-04-22 21:54 | app: enforce letter media for customer-label print plans | triesap | 2 | +64 | -16 |
| 2026-04-22 21:47 | app: add pack day print failure contracts | triesap | 7 | +143 | -42 |
| 2026-04-22 21:00 | pack_day: wire print actions into the export card | triesap | 6 | +629 | -21 |
| 2026-04-22 20:46 | pack_day: add stock-aware customer label planning | triesap | 1 | +443 | -19 |
| 2026-04-22 20:32 | pack_day: add macos print queue planning | triesap | 3 | +755 | -14 |
| 2026-04-22 20:22 | pack_day: add print request contracts | triesap | 8 | +509 | -20 |
| 2026-04-21 21:19 | app: wire pack day artifact actions | triesap | 2 | +237 | -30 |
| 2026-04-21 21:08 | app: prove pack day artifact action planning | triesap | 2 | +152 | -29 |
| 2026-04-21 21:01 | app: widen pack day artifact action contract | triesap | 8 | +159 | -9 |
| 2026-04-21 20:04 | app: close pack day print host lane | triesap | 2 | +19 | -1 |
| 2026-04-21 19:44 | app: wire pack day host follow-on actions | triesap | 7 | +753 | -33 |
| 2026-04-21 19:23 | app: add pack day host bridge planner | triesap | 2 | +526 | -0 |
| 2026-04-21 19:16 | state: add pack day host handoff contract | triesap | 2 | +410 | -24 |
| 2026-04-21 18:45 | pack_day: harden export guards and checks | triesap | 3 | +30 | -22 |
| 2026-04-21 18:33 | pack_day: add export action and status ui | triesap | 5 | +435 | -49 |
| 2026-04-21 18:22 | pack_day: wire export through sqlite and runtime | triesap | 5 | +643 | -19 |
| 2026-04-21 18:04 | pack_day: add export writer | triesap | 4 | +450 | -0 |
| 2026-04-21 17:55 | pack_day: add export contracts | triesap | 2 | +624 | -27 |
| 2026-04-21 06:41 | app: wire macos host proof lane | triesap | 3 | +45 | -6 |
| 2026-04-21 06:25 | app: localize startup copy boundaries | triesap | 5 | +277 | -34 |
| 2026-04-21 04:50 | persist restart continuity across shipped shell | triesap | 4 | +1056 | -343 |
| 2026-04-21 04:13 | app: add deterministic keyboard autofocus contract | triesap | 1 | +771 | -26 |
| 2026-04-21 03:52 | ui: harden shared focus and control semantics | triesap | 6 | +57 | -29 |
| 2026-04-21 02:36 | buyer: close repeat-demand truth gaps | triesap | 7 | +189 | -40 |
| 2026-04-21 02:19 | buyer: add repeat-demand reorder flow | triesap | 8 | +890 | -21 |
| 2026-04-21 00:50 | orders: add seller recovery follow-up workflows | triesap | 9 | +683 | -52 |
| 2026-04-21 00:25 | runtime: add reminder log and local reminder presentation | triesap | 10 | +1024 | -50 |
| 2026-04-20 23:53 | ui: land seller reminder surfaces | triesap | 5 | +453 | -17 |
| 2026-04-20 23:37 | runtime: derive seller reminder projections | triesap | 4 | +795 | -61 |
| 2026-04-20 22:58 | app: add reminder and recovery sqlite persistence | triesap | 4 | +924 | -4 |
| 2026-04-20 22:52 | app: add reminder and recovery contracts | triesap | 7 | +374 | -16 |
| 2026-04-20 21:46 | app: add about-panel sync conflict review actions | triesap | 6 | +676 | -39 |
| 2026-04-20 21:22 | runtime: add sync triggers and pending write semantics | triesap | 6 | +903 | -15 |
| 2026-04-20 21:03 | ui: replace about placeholder with runtime sync status | triesap | 9 | +566 | -83 |
| 2026-04-20 20:44 | runtime: thread sync status through state and summary | triesap | 6 | +400 | -3 |
| 2026-04-20 20:31 | sqlite: align selected-account sync persistence | triesap | 7 | +1029 | -3 |
| 2026-04-20 19:36 | marketplace: reconcile buyer copy coverage | triesap | 3 | +24 | -2 |
| 2026-04-20 19:16 | marketplace: add buyer orders confirmation handoff | triesap | 6 | +472 | -51 |
| 2026-04-20 18:29 | marketplace: add buyer cart checkout flow | triesap | 8 | +997 | -68 |
| 2026-04-20 17:28 | marketplace: add buyer detail cart handoff | triesap | 10 | +1193 | -52 |
| 2026-04-20 17:04 | feat: add buyer browse and search surfaces | triesap | 5 | +721 | -42 |
| 2026-04-20 16:42 | feat: add buyer shell routing and mode switching | triesap | 7 | +664 | -120 |
| 2026-04-20 16:20 | feat: add buyer marketplace sqlite seams | triesap | 5 | +2226 | -6 |
| 2026-04-20 16:04 | feat: add buyer marketplace shell contracts | triesap | 4 | +575 | -34 |
| 2026-04-20 15:17 | tests: fix final validation blockers | triesap | 2 | +1 | -4 |
| 2026-04-20 15:06 | sidebar: keep active farmer destination first | triesap | 1 | +131 | -34 |
| 2026-04-20 00:10 | today: route follow-ons into shared execution screens | triesap | 6 | +464 | -268 |
| 2026-04-19 23:59 | pack_day: land contextual pack day workspace | triesap | 6 | +371 | -19 |
| 2026-04-19 23:46 | orders: land orders screen and detail entry | triesap | 6 | +1204 | -179 |
| 2026-04-19 23:25 | runtime: wire shared orders and pack day routing | triesap | 4 | +929 | -269 |
| 2026-04-19 23:01 | sqlite: add orders and pack day repository seams | triesap | 4 | +1455 | -3 |
| 2026-04-19 22:49 | add orders and pack day model contracts | triesap | 1 | +319 | -8 |
| 2026-04-19 22:25 | i18n: use facade build pipeline for app generation | triesap | 4 | +14 | -255 |
| 2026-04-19 22:21 | i18n: route runtime usage through mf2_i18n | triesap | 5 | +16 | -5 |
| 2026-04-19 22:18 | build: normalize facade migration baseline | triesap | 7 | +238 | -186 |
| 2026-04-19 21:07 | runtime: fix lazy local log root loading | triesap | 1 | +33 | -12 |
| 2026-04-19 20:58 | build: remove runtime env shell helpers | triesap | 2 | +0 | -136 |
| 2026-04-19 20:57 | build: thin launcher runtime passthrough | triesap | 1 | +8 | -7 |
| 2026-04-19 20:56 | runtime: derive app metadata inside rust | triesap | 3 | +78 | -162 |
| 2026-04-19 20:51 | runtime: load app startup config from env | triesap | 5 | +173 | -193 |
| 2026-04-19 20:45 | runtime: freeze direct runtime input tests | triesap | 1 | +82 | -1 |
| 2026-04-19 20:32 | build: rename app shell scripts | triesap | 10 | +538 | -523 |
| 2026-04-19 20:26 | ui: fix input text visibility | triesap | 1 | +2 | -0 |
| 2026-04-19 20:24 | ui: fix setup checklist label width | triesap | 1 | +1 | -0 |
| 2026-04-19 19:27 | tests: add launcher ui boundary guards | triesap | 1 | +115 | -1 |
| 2026-04-19 19:19 | ui: move utility settings and farm rules onto shared ui | triesap | 3 | +517 | -523 |
| 2026-04-19 19:08 | ui: move startup home and products controls into shared ui | triesap | 3 | +224 | -261 |
| 2026-04-19 18:58 | ui: add shared layout primitives | triesap | 3 | +232 | -242 |
| 2026-04-19 18:25 | ui: add semantic text and form primitives | triesap | 3 | +405 | -380 |
| 2026-04-19 17:58 | ui: normalize layered theme contract | triesap | 4 | +657 | -549 |
| 2026-04-19 02:20 | ui: restyle shared text inputs | triesap | 4 | +173 | -35 |
| 2026-04-19 01:50 | window: restore today sidebar shell | triesap | 2 | +51 | -238 |
| 2026-04-19 01:36 | window: prioritize inline farm setup form on home | triesap | 1 | +4 | -5 |
| 2026-04-19 01:32 | window: open farm setup form directly from home | triesap | 1 | +19 | -14 |
| 2026-04-19 01:08 | state: wire farm readiness through shell and products | triesap | 7 | +504 | -175 |
| 2026-04-19 00:48 | settings: add farm rules scheduling editors | triesap | 7 | +1538 | -120 |
| 2026-04-19 00:19 | settings: add farm profile and pickup editing | triesap | 8 | +1373 | -69 |
| 2026-04-18 23:55 | settings: add farm rules utility window structure | triesap | 9 | +512 | -97 |
| 2026-04-18 23:29 | sqlite: add farm rules persistence | triesap | 5 | +1217 | -2 |
| 2026-04-18 23:18 | models: add farm rules contracts | triesap | 1 | +306 | -8 |
| 2026-04-18 23:08 | test: fix startup signer source guard fixture | triesap | 1 | +1 | -1 |
| 2026-04-18 23:01 | test: cover startup hardening invariants | triesap | 2 | +180 | -2 |
| 2026-04-18 22:55 | startup: harden signer cancel flow | triesap | 1 | +66 | -12 |
| 2026-04-18 22:37 | runtime: make pending signer cleanup idempotent | triesap | 1 | +49 | -2 |
| 2026-04-18 21:07 | app: activate restart-safe remote signer sessions | triesap | 6 | +864 | -43 |
| 2026-04-18 20:29 | app: wire signer preview and pending onboarding | triesap | 6 | +624 | -30 |
| 2026-04-18 19:12 | app: restore the shared remote signer client seam | triesap | 7 | +1600 | -0 |
| 2026-04-18 18:55 | app: land the startup identity choice shell | triesap | 4 | +486 | -102 |
| 2026-04-18 18:38 | app: add typed startup identity choice contracts | triesap | 6 | +550 | -12 |
| 2026-04-18 17:58 | i18n: add products workflow copy coverage | triesap | 1 | +52 | -0 |
| 2026-04-18 17:54 | desktop: add product editor flow | triesap | 5 | +1273 | -80 |
| 2026-04-18 17:32 | desktop: add stock updates and today products follow-ons | triesap | 5 | +881 | -327 |
| 2026-04-18 09:18 | desktop: add truthful farmer products surface | triesap | 6 | +1403 | -28 |
| 2026-04-18 08:54 | sqlite: add products repository seam | triesap | 5 | +1189 | -3 |
| 2026-04-18 08:44 | products: add typed screen and editor contracts | triesap | 2 | +750 | -10 |
| 2026-04-18 08:33 | runtime: reconcile launcher prerequisites for products | triesap | 2 | +217 | -40 |
| 2026-04-18 07:37 | home: add saved farm shell states | triesap | 4 | +302 | -38 |
| 2026-04-18 07:27 | home: add farm setup form and local save | triesap | 9 | +933 | -42 |
| 2026-04-18 07:04 | window: add farm setup onboarding state | triesap | 6 | +516 | -55 |
| 2026-04-18 06:47 | sqlite: add farm setup repository seam | triesap | 4 | +449 | -1 |
| 2026-04-18 06:41 | app: add typed farm setup state | triesap | 2 | +479 | -16 |
| 2026-04-18 04:36 | tests: cover shell reset copy contract | triesap | 2 | +57 | -0 |
| 2026-04-18 04:34 | app: restore inert settings utility shell | triesap | 1 | +114 | -466 |
| 2026-04-18 04:22 | app: add setup create-account bootstrap | triesap | 4 | +41 | -1 |
| 2026-04-18 04:19 | app: restore home-first shell startup | triesap | 2 | +94 | -98 |
| 2026-04-18 03:58 | app: reconcile auth copy and workspace validation | triesap | 6 | +31 | -11 |
| 2026-04-18 03:51 | app: route startup through account surfaces | triesap | 5 | +651 | -193 |
| 2026-04-18 03:22 | app: add local identity runtime commands | triesap | 5 | +934 | -21 |
| 2026-04-18 03:10 | app: add host-vault accounts bootstrap | triesap | 7 | +1263 | -27 |
| 2026-04-18 02:58 | app: align runtime paths and activation persistence | triesap | 8 | +514 | -58 |
| 2026-04-18 02:45 | app: add typed identity and activation projections | triesap | 9 | +947 | -194 |
| 2026-04-18 02:26 | app: replace shell mode with active surface | triesap | 3 | +154 | -70 |
| 2026-04-18 00:53 | app: size home window to instruments frame | triesap | 2 | +14 | -5 |
| 2026-04-18 00:43 | app: add typed activity journal foundation | triesap | 9 | +713 | -31 |
| 2026-04-18 00:27 | app: harden launcher logging verification | triesap | 5 | +305 | -54 |
| 2026-04-18 00:17 | app: harden macos host run lane | triesap | 5 | +325 | -117 |
| 2026-04-18 00:02 | app: add runtime config and logging bootstrap | triesap | 13 | +1092 | -32 |
| 2026-04-17 23:38 | macos: use app-local icon source | triesap | 2 | +2 | -9 |
| 2026-04-17 23:14 | app: remove home sidebar brand label | triesap | 1 | +0 | -6 |
| 2026-04-17 23:13 | app: remove settings window edge line | triesap | 1 | +2 | -1 |
| 2026-04-17 23:10 | app: align macos desktop bootstrap | triesap | 5 | +58 | -37 |
| 2026-04-17 23:00 | app: add macos app icon | triesap | 4 | +92 | -0 |
| 2026-04-17 22:55 | app: ignore macos derived data | triesap | 1 | +1 | -0 |
| 2026-04-17 22:55 | app: add macos host bundle launcher | triesap | 5 | +168 | -1 |
| 2026-04-17 22:43 | app: route about menu to settings window | triesap | 1 | +16 | -1 |
| 2026-04-17 22:40 | app: align macos menu identity | triesap | 3 | +9 | -2 |
| 2026-04-17 21:15 | tests: cover today runtime state and source guards | triesap | 3 | +84 | -16 |
| 2026-04-17 21:11 | home: replace metadata shell with today agenda | triesap | 5 | +523 | -135 |
| 2026-04-17 20:55 | sqlite: add the today agenda query path | triesap | 6 | +757 | -1 |
| 2026-04-17 20:46 | state: share settings state and add the today projection | triesap | 3 | +325 | -71 |
| 2026-04-17 20:36 | runtime: add the desktop runtime boundary | triesap | 6 | +273 | -172 |
| 2026-04-17 20:19 | build: restore standalone buildability | triesap | 6 | +318 | -46 |
| 2026-04-17 19:42 | launcher: wire startup through the radroots_app substrate | triesap | 9 | +293 | -5 |
| 2026-04-17 19:32 | sync: add the radroots_app sync seam crate | triesap | 4 | +586 | -0 |
| 2026-04-17 19:25 | state: add the radroots_app shell state crate | triesap | 6 | +535 | -26 |
| 2026-04-17 19:11 | sqlite: add the radroots_app sqlite substrate | triesap | 7 | +509 | -0 |
| 2026-04-17 19:06 | models: add the radroots_app local-first model crate | triesap | 7 | +407 | -29 |
| 2026-04-17 18:44 | tests: add the radroots_app launcher source guards | triesap | 2 | +64 | -0 |
| 2026-04-17 18:41 | ui: port the radroots_app placeholder panels | triesap | 2 | +459 | -54 |
| 2026-04-17 18:33 | ui: refactor the radroots_app settings shell posture | triesap | 2 | +71 | -117 |
| 2026-04-17 18:31 | ui: refactor the radroots_app home shell | triesap | 1 | +8 | -11 |
| 2026-04-17 18:29 | i18n: rewrite the radroots_app shell copy contract | triesap | 8 | +134 | -260 |
| 2026-04-17 18:17 | ui: add reusable radroots_app control primitives | triesap | 2 | +349 | -4 |
| 2026-04-17 18:14 | ui: expand the radroots_app theme contract | triesap | 6 | +797 | -14 |
| 2026-04-17 17:36 | app: add placeholder settings panels | triesap | 5 | +297 | -29 |
| 2026-04-17 17:17 | app: add settings shell menu wiring | triesap | 7 | +285 | -3 |
| 2026-04-17 17:05 | app: add home shell metadata layout | triesap | 11 | +312 | -34 |
| 2026-04-17 17:00 | core: add runtime snapshot boundary | triesap | 5 | +330 | -22 |
| 2026-04-17 16:55 | i18n: add typed shell catalog | triesap | 12 | +751 | -9 |
| 2026-04-17 16:47 | ui: add shared shell theme tokens | triesap | 6 | +227 | -44 |
| 2026-04-17 16:40 | app: restructure gpui workspace skeleton | triesap | 15 | +196 | -76 |
| 2026-04-17 16:14 | app: initialize gpui app shell | triesap | 136 | +4548 | -25035 |
| 2026-04-12 16:53 | app: reconcile runtime repo fallout | triesap | 1 | +14 | -13 |
| 2026-04-12 04:57 | launchers: use shared accounts bootstrap helpers | triesap | 3 | +19 | -24 |
| 2026-04-11 00:40 | app: refactor repository structure | triesap | 98 | +3163 | -3076 |
| 2026-04-10 23:37 | app: update crate directories | triesap | 17 | +38 | -38 |
| 2026-04-10 23:24 | app: update crate metadata | triesap | 19 | +56 | -56 |
| 2026-04-10 17:27 | app: update crate metadata | triesap | 11 | +222 | -81 |
| 2026-04-09 22:08 | remote-signer: avoid nested runtime reentry | triesap | 1 | +9 | -32 |
| 2026-04-09 04:14 | app: add shared runtime path adapter | triesap | 7 | +143 | -71 |
| 2026-04-08 16:39 | security: align native host vault posture | triesap | 5 | +62 | -24 |
| 2026-04-08 00:45 | app: adopt canonical runtime paths | triesap | 16 | +364 | -118 |
| 2026-04-07 22:34 | build: refresh lockfile for shared secret store deps | triesap | 1 | +17 | -0 |
| 2026-04-07 17:57 | app: adopt shared host-vault boundary | triesap | 15 | +354 | -182 |
| 2026-04-03 05:13 | web: disable trunk wasm-opt for web build | triesap | 1 | +7 | -1 |
| 2026-04-02 19:31 | remote-signer: gate macos sessions by approved capability | triesap | 8 | +480 | -202 |
| 2026-04-02 15:24 | remote-signer: add permission-scoped note proof | triesap | 14 | +1386 | -133 |
| 2026-04-02 00:49 | remote-signer: request explicit review permissions | triesap | 7 | +85 | -14 |
| 2026-04-01 15:58 | deps: refresh cargo lockfile | triesap | 1 | +40 | -0 |
| 2026-03-29 10:04 | remote-signer: fix controller poller handoff lifecycle | triesap | 1 | +513 | -18 |
| 2026-03-29 02:43 | remote-signer: align typed pending poll app coverage | triesap | 3 | +28 | -30 |
| 2026-03-28 20:02 | app: make pending signer cleanup transactional | triesap | 1 | +44 | -4 |
| 2026-03-28 20:00 | app: keep remote signer polling single-owner | triesap | 6 | +127 | -31 |
| 2026-03-28 19:39 | app: purge empty remote signer namespace on startup | triesap | 1 | +33 | -1 |
| 2026-03-28 19:30 | app: tighten remote signer teardown ordering | triesap | 1 | +66 | -21 |
| 2026-03-28 19:27 | app: roll back remote signer activation drift | triesap | 3 | +51 | -15 |
| 2026-03-28 19:24 | app: isolate remote signer vault namespace purge | triesap | 15 | +479 | -36 |
| 2026-03-28 18:14 | app: purge remote signer state during reset | triesap | 8 | +83 | -1 |
| 2026-03-28 18:10 | app: share remote signer teardown and recovery | triesap | 8 | +506 | -136 |
| 2026-03-28 18:01 | app: use typed remote signer poll outcomes | triesap | 1 | +18 | -17 |
| 2026-03-28 17:49 | app: share remote signer lifecycle core | triesap | 6 | +571 | -513 |
| 2026-03-28 17:30 | app: tighten remote signer poll state handling | triesap | 4 | +182 | -32 |
| 2026-03-22 21:31 | android: add remote signer backend | triesap | 3 | +551 | -29 |
| 2026-03-22 21:31 | ios: add remote signer backend | triesap | 4 | +502 | -29 |
| 2026-03-22 21:17 | desktop: add remote signer backend | triesap | 4 | +569 | -29 |
| 2026-03-22 21:07 | core: add remote signer add account flow | triesap | 2 | +516 | -2 |
| 2026-03-22 21:00 | remote-signer: add app local bunker session crate | triesap | 8 | +1208 | -6 |
| 2026-03-22 17:39 | android: add encrypted local secret key flows | triesap | 2 | +236 | -22 |
| 2026-03-22 17:39 | ios: add encrypted local secret key flows | triesap | 1 | +163 | -17 |
| 2026-03-22 17:38 | desktop: add encrypted local secret key flows | triesap | 2 | +193 | -23 |
| 2026-03-22 17:38 | core: make local secret custody encrypted-first | triesap | 6 | +577 | -78 |
| 2026-03-22 16:26 | web: add browser signer account roster | triesap | 1 | +37 | -5 |
| 2026-03-22 16:26 | android: add local account roster support | triesap | 1 | +67 | -9 |
| 2026-03-22 16:26 | ios: add local account roster support | triesap | 1 | +65 | -4 |
| 2026-03-22 16:25 | desktop: add local account roster support | triesap | 1 | +66 | -6 |
| 2026-03-22 16:25 | core: add account roster and custody model | triesap | 2 | +435 | -59 |
| 2026-03-22 15:02 | tests: add approved fixture audit | triesap | 2 | +18 | -0 |
| 2026-03-22 15:01 | ios: migrate tests to approved fixtures | triesap | 2 | +7 | -2 |
| 2026-03-22 14:58 | core: migrate tests to approved fixtures | triesap | 3 | +48 | -79 |
| 2026-03-22 14:55 | tests: add app-local approved fixture crate | triesap | 3 | +101 | -0 |
| 2026-03-22 13:45 | web: add wasm offline geocoder parity | triesap | 4 | +379 | -34 |
| 2026-03-22 13:14 | web: keep async home country lookup unavailable | triesap | 1 | +27 | -3 |
| 2026-03-22 13:12 | android: add async country lookup backend | triesap | 2 | +229 | -1 |
| 2026-03-22 13:08 | ios: add async country lookup backend | triesap | 2 | +227 | -0 |
| 2026-03-22 13:07 | desktop: add async country lookup backend | triesap | 2 | +242 | -0 |
| 2026-03-22 13:03 | core: add async home country lookup | triesap | 5 | +607 | -522 |
| 2026-03-22 12:58 | core: split home location tools modules | triesap | 2 | +514 | -0 |
| 2026-03-22 12:04 | web: keep async home location lookup unavailable | triesap | 1 | +15 | -1 |
| 2026-03-22 12:04 | core: make home location lookup async | triesap | 2 | +316 | -58 |
| 2026-03-22 11:54 | android: add async reverse lookup backend | triesap | 2 | +148 | -2 |
| 2026-03-22 11:50 | ios: add async reverse lookup backend | triesap | 2 | +152 | -2 |
| 2026-03-22 11:47 | desktop: add async reverse lookup backend | triesap | 2 | +158 | -2 |
| 2026-03-22 11:43 | core: add async reverse lookup contract | triesap | 2 | +16 | -1 |
| 2026-03-22 02:23 | core: add home offline location lookup | triesap | 2 | +310 | -1 |
| 2026-03-22 02:12 | core: add home location tools module | triesap | 2 | +63 | -0 |
| 2026-03-22 01:40 | web: report unavailable location resolver boundary | triesap | 1 | +39 | -1 |
| 2026-03-22 01:36 | android: add lazy location resolver boundary | triesap | 2 | +241 | -5 |
| 2026-03-22 01:27 | ios: add lazy location resolver boundary | triesap | 2 | +236 | -5 |
| 2026-03-22 01:25 | desktop: add lazy location resolver boundary | triesap | 2 | +236 | -5 |
| 2026-03-22 01:21 | core: add location resolver boundary | triesap | 2 | +137 | -0 |
| 2026-03-22 01:14 | core: add revision-aware offline geocoder diagnostics | triesap | 12 | +289 | -81 |
| 2026-03-22 01:04 | android: use stamped offline geocoder revisions | triesap | 1 | +33 | -11 |
| 2026-03-22 00:59 | ios: use stamped offline geocoder revisions | triesap | 2 | +71 | -20 |
| 2026-03-22 00:55 | desktop: use stamped offline geocoder revisions | triesap | 2 | +102 | -32 |
| 2026-03-22 00:51 | build: define stamped geocoder asset contract | triesap | 1 | +1 | -0 |
| 2026-03-22 00:35 | core: add release-safe offline geocoder diagnostics | triesap | 2 | +83 | -3 |
| 2026-03-22 00:28 | android: prune stale offline geocoder revisions | triesap | 1 | +100 | -14 |
| 2026-03-22 00:24 | ios: prune stale offline geocoder revisions | triesap | 1 | +91 | -19 |
| 2026-03-22 00:22 | desktop: prune stale offline geocoder revisions | triesap | 1 | +89 | -16 |
| 2026-03-22 00:09 | web: add offline geocoder status coverage | triesap | 1 | +40 | -9 |
| 2026-03-22 00:07 | android: make offline geocoder staging idempotent | triesap | 5 | +26 | -8 |
| 2026-03-22 00:05 | ios: make offline geocoder staging idempotent | triesap | 3 | +67 | -12 |
| 2026-03-22 00:03 | desktop: make offline geocoder staging idempotent | triesap | 1 | +64 | -7 |
| 2026-03-22 00:01 | core: type offline geocoder unavailable states | triesap | 10 | +328 | -143 |
| 2026-03-21 22:20 | web: report offline geocoder as unavailable | triesap | 1 | +14 | -1 |
| 2026-03-21 22:19 | android: add non-blocking offline geocoder init | triesap | 8 | +317 | -3 |
| 2026-03-21 22:14 | ios: add non-blocking offline geocoder init | triesap | 7 | +243 | -5 |
| 2026-03-21 22:09 | desktop: add non-blocking offline geocoder init | triesap | 6 | +519 | -4 |
| 2026-03-21 22:04 | core: add offline geocoder runtime state | triesap | 2 | +182 | -0 |
| 2026-03-21 21:41 | build: define community app geocoder asset contract | triesap | 2 | +2 | -0 |
| 2026-03-21 20:20 | android: add secret-key import for local identities | triesap | 1 | +74 | -1 |
| 2026-03-21 20:11 | ios: add secret-key import for local identities | triesap | 4 | +253 | -2 |
| 2026-03-21 19:38 | desktop: add secret-key import for local identities | triesap | 5 | +205 | -137 |
| 2026-03-21 19:13 | core: zeroize recovery-key ui state | triesap | 3 | +23 | -10 |
| 2026-03-21 19:08 | android: require auth before revealing recovery key | triesap | 7 | +498 | -13 |
| 2026-03-21 18:53 | ios: require auth before revealing recovery key | triesap | 1 | +14 | -0 |
| 2026-03-21 18:38 | desktop: require auth before revealing recovery key | triesap | 7 | +133 | -2 |
| 2026-03-21 18:25 | android: add recovery-key backup for local identities | triesap | 1 | +52 | -2 |
| 2026-03-21 18:20 | ios: add recovery-key backup for local identities | triesap | 1 | +51 | -1 |
| 2026-03-21 18:11 | desktop: add recovery-key backup for local identities | triesap | 3 | +58 | -1 |
| 2026-03-21 18:03 | core: add backup and recovery action contract | triesap | 5 | +313 | -64 |
| 2026-03-21 17:51 | core: define local identity reset contract | triesap | 1 | +1 | -1 |
| 2026-03-21 17:41 | build: route wasm commands through with-wasm-toolchain.sh | triesap | 1 | +3 | -3 |
| 2026-03-21 17:35 | web: add browser-signer disconnect action | triesap | 1 | +34 | -1 |
| 2026-03-21 17:34 | core: add capability-driven home action model | triesap | 5 | +181 | -248 |
| 2026-03-21 16:58 | android: add device-reset action for local state | triesap | 1 | +105 | -0 |
| 2026-03-21 16:50 | ios: add device-reset action for local state | triesap | 1 | +89 | -0 |
| 2026-03-21 16:41 | desktop: add device-reset action for local state | triesap | 2 | +297 | -16 |
| 2026-03-21 16:33 | android: add remove-key action for local identities | triesap | 1 | +63 | -3 |
| 2026-03-21 12:58 | ios: add remove-key action for local identities | triesap | 5 | +51 | -5 |
| 2026-03-21 12:40 | desktop: add app icon for native runs | triesap | 5 | +30 | -3 |
| 2026-03-21 12:33 | desktop: add remove-key action for local identities | triesap | 2 | +207 | -1 |
| 2026-03-21 12:22 | android: enable local nostr key generation | triesap | 8 | +768 | -15 |
| 2026-03-21 04:39 | build: add shared android security library | triesap | 15 | +820 | -1 |
| 2026-03-21 03:50 | build: add initial android launcher shell | triesap | 21 | +939 | -1 |
| 2026-03-21 01:15 | desktop: share apple keychain vault across apple targets | triesap | 16 | +699 | -500 |
| 2026-03-21 00:27 | build: fix ios simulator keychain signing | triesap | 4 | +13 | -2 |
| 2026-03-21 00:14 | ios: enable local nostr key generation | triesap | 1 | +56 | -25 |
| 2026-03-21 00:01 | ios: add apple keychain vault adapter | triesap | 7 | +606 | -4 |
| 2026-03-20 22:52 | build: add shared apple security package | triesap | 12 | +651 | -1 |
| 2026-03-20 22:26 | build: add initial ios launcher shell | triesap | 32 | +611 | -1 |
| 2026-03-20 18:52 | desktop: harden app data directory permissions | triesap | 1 | +64 | -8 |
| 2026-03-20 18:47 | web: avoid startup panics on missing dom | triesap | 1 | +49 | -22 |
| 2026-03-20 18:34 | web: add nip-07 browser signer setup | triesap | 7 | +366 | -62 |
| 2026-03-20 17:59 | desktop: add macos key onboarding gate | triesap | 6 | +1772 | -34 |
| 2026-03-20 17:34 | build: split bootstrap workspace into core desktop and web | triesap | 18 | +173 | -150 |
| 2026-03-20 16:27 | build: bootstrap wasm target | triesap | 13 | +228 | -19 |
| 2026-03-20 15:49 | app: reinitialize workspace with native egui bootstrap | triesap | 186 | +1991 | -37900 |
| 2026-03-20 14:35 | build: upgrade icondata and getrandom | triesap | 5 | +12 | -12 |
| 2026-03-20 14:29 | core: use replica crate names directly | triesap | 4 | +18 | -18 |
| 2026-03-20 14:13 | build: refresh frontend dependency baseline | triesap | 3 | +21 | -21 |
| 2026-03-20 13:33 | build: refresh dependency baseline | triesap | 1 | +120 | -135 |
| 2026-03-20 03:36 | tangle: publish sync events to relays | triesap | 3 | +865 | -25 |
| 2026-03-20 03:26 | docs: clarify standalone repo rules | triesap | 1 | +6 | -0 |
| 2026-03-20 03:08 | build: align replica and ui primitive integrations | triesap | 6 | +46 | -82 |
| 2026-03-20 03:01 | build: repoint workspace deps to local sources | triesap | 4 | +329 | -232 |
| 2026-02-07 01:51 | ui: use list toggles in config | triesap | 4 | +248 | -111 |
| 2026-02-06 19:32 | ui: fix ios switch motion | triesap | 2 | +4 | -4 |
| 2026-02-06 19:22 | ui: refine ios switch colors | triesap | 1 | +4 | -3 |
| 2026-02-06 19:08 | app: fix notification toggles | triesap | 1 | +22 | -22 |
| 2026-02-06 18:57 | app: remove payment method from config | triesap | 2 | +1 | -21 |
| 2026-02-06 18:48 | app: add individual summary view | triesap | 2 | +141 | -23 |
| 2026-02-06 18:08 | app: update individual config step | triesap | 2 | +30 | -106 |
| 2026-02-06 17:42 | app: lock config role to setup | triesap | 1 | +43 | -36 |
| 2026-02-06 16:39 | app: persist configuration flow | triesap | 5 | +287 | -4 |
| 2026-02-06 16:28 | app: add config flow screens | triesap | 1 | +542 | -8 |
| 2026-02-06 16:18 | ui: add form field primitives | triesap | 4 | +106 | -0 |
| 2026-02-06 16:06 | app: add config flow draft and validation | triesap | 2 | +189 | -0 |
| 2026-02-06 15:54 | app: add config status gating | triesap | 5 | +263 | -3 |
| 2026-02-06 15:41 | app: add config data model and storage keys | triesap | 3 | +411 | -0 |
| 2026-02-06 14:34 | ui: migrate pages to chrome layout | triesap | 10 | +384 | -243 |
| 2026-02-06 13:56 | ui: add nav tabs component | triesap | 4 | +96 | -0 |
| 2026-02-06 13:41 | ui: wire nav header scroll modes | triesap | 3 | +181 | -22 |
| 2026-02-06 13:23 | ui: add nav header skeleton | triesap | 4 | +99 | -0 |
| 2026-02-06 13:11 | ui: add scroll context utilities | triesap | 4 | +124 | -0 |
| 2026-02-06 12:13 | ui: add nav layout vars | triesap | 1 | +15 | -0 |
| 2026-02-06 11:52 | app: adjust navigation and settings title | triesap | 3 | +61 | -13 |
| 2026-02-06 04:15 | app: add home segmented toggle | triesap | 2 | +126 | -292 |
| 2026-02-06 03:17 | app: add settings status page | triesap | 13 | +635 | -230 |
| 2026-02-05 15:59 | docs: update env setup to radroots | triesap | 2 | +8 | -8 |
| 2026-02-05 15:45 | build: add cargo env defaults | triesap | 1 | +4 | -0 |
| 2026-02-05 15:33 | app: switch config env names to radroots | triesap | 1 | +2 | -2 |
| 2026-02-05 15:31 | core: remove unused datastore import | triesap | 1 | +0 | -3 |
| 2026-02-02 21:47 | app: add recovery reset flow | triesap | 7 | +147 | -3 |
| 2026-02-02 21:33 | app: gate app shell on setup status | triesap | 8 | +151 | -78 |
| 2026-02-02 21:10 | app: wire setup flow into setup ui | triesap | 7 | +317 | -103 |
| 2026-02-02 20:40 | app: add setup flow state machine | triesap | 2 | +237 | -0 |
| 2026-02-02 20:25 | app: add setup lock primitives | triesap | 3 | +376 | -0 |
| 2026-02-02 20:06 | app: add idempotent setup commit | triesap | 2 | +154 | -5 |
| 2026-02-02 19:47 | core: add datastore batch set support | triesap | 4 | +135 | -3 |
| 2026-02-02 19:29 | app: add init setup status checks | triesap | 2 | +131 | -3 |
| 2026-02-02 19:12 | app: add eula fingerprint to setup state | triesap | 3 | +35 | -8 |
| 2026-02-02 18:59 | app: add setup status model | triesap | 2 | +120 | -0 |
| 2026-02-02 18:13 | app: extend setup roles and eula ui | triesap | 12 | +312 | -96 |
| 2026-02-02 16:48 | core: rename app storage keys | triesap | 2 | +2 | -2 |
| 2026-02-02 16:46 | app: fix wasm build helpers | triesap | 6 | +25 | -13 |
| 2026-02-02 16:19 | app: localize settings and ui demo | triesap | 8 | +350 | -29 |
| 2026-02-02 16:07 | app: localize logs page | triesap | 7 | +750 | -37 |
| 2026-02-02 15:48 | app: localize setup eula content | triesap | 7 | +424 | -31 |
| 2026-02-02 15:36 | app: localize setup flow | triesap | 7 | +279 | -28 |
| 2026-02-02 15:20 | app: localize shell and home status | triesap | 7 | +1023 | -39 |
| 2026-02-02 14:32 | build: add embedded i18n assets | triesap | 10 | +78 | -2 |
| 2026-02-02 14:16 | app: add i18n scaffolding | triesap | 5 | +77 | -0 |
| 2026-02-02 03:56 | app: migrate legacy setup keys | triesap | 1 | +195 | -0 |
| 2026-02-02 03:44 | app: seed default relays and profile data | triesap | 6 | +258 | -3 |
| 2026-02-02 03:18 | app: finalize setup on eula accept | triesap | 3 | +112 | -2 |
| 2026-02-02 03:06 | app: persist setup draft during setup | triesap | 1 | +89 | -0 |
| 2026-02-02 02:49 | app: verify nostr key integrity | triesap | 6 | +102 | -6 |
| 2026-02-02 02:30 | app: add setup draft and eula metadata | triesap | 5 | +264 | -0 |
| 2026-02-01 22:29 | app: add setup eula step and enter submit | triesap | 4 | +252 | -17 |
| 2026-01-30 14:52 | ui: remove redundant primitives modules and deps | triesap | 10 | +0 | -1138 |
| 2026-01-30 14:37 | ui: re-export ui-primitives in radroots-app-ui-primitives | triesap | 1 | +29 | -38 |
| 2026-01-28 15:16 | app: Add setup profile confirmation | triesap | 3 | +137 | -8 |
| 2026-01-28 14:55 | ui: Refresh press and input tokens | triesap | 3 | +16 | -4 |
| 2026-01-28 14:19 | ui: Disable active button effects when disabled | triesap | 1 | +7 | -5 |
| 2026-01-28 14:10 | app: Add existing keypair step | triesap | 2 | +82 | -8 |
| 2026-01-28 14:01 | app: Build setup profile ui | triesap | 1 | +59 | -4 |
| 2026-01-28 13:53 | app: Add setup profile step stub | triesap | 2 | +27 | -5 |
| 2026-01-28 13:51 | ui: Refine setup layout and button interactions | triesap | 4 | +115 | -120 |
| 2026-01-27 16:44 | ui: normalize app layout and ids | triesap | 6 | +294 | -207 |
| 2026-01-27 14:31 | ui: migrate dialog attributes to ui-primitives | triesap | 4 | +51 | -13 |
| 2026-01-27 14:18 | ui: migrate roving focus helpers | triesap | 1 | +8 | -24 |
| 2026-01-27 14:09 | build: add ui-primitives dependency wiring | triesap | 3 | +12 | -0 |
| 2026-01-27 03:01 | ui: add reusable bottom button layout with back navigation | triesap | 4 | +241 | -16 |
| 2026-01-24 19:17 | ui: fix theme colors and setup button | triesap | 3 | +46 | -38 |
| 2026-01-24 01:46 | ui: lock tailwind-only theme pipeline | triesap | 14 | +1019 | -307 |
| 2026-01-23 14:47 | app: remove daisyui plugin options | triesap | 1 | +1 | -3 |
| 2026-01-23 14:43 | app: drop daisyui theme plugin | triesap | 2 | +0 | -84 |
| 2026-01-22 23:39 | app: relocate daisyui theme blocks | triesap | 2 | +1 | -1 |
| 2026-01-22 22:54 | docs: add styles parity checklist | triesap | 0 | +0 | -0 |
| 2026-01-22 22:52 | app: restore legacy utility parity | triesap | 2 | +10 | -2 |
| 2026-01-22 22:50 | app: normalize daisyui fallbacks | triesap | 1 | +60 | -60 |
| 2026-01-22 22:49 | ui: align tokens with data-theme | triesap | 1 | +47 | -1 |
| 2026-01-22 22:45 | app: refresh setup intro view | triesap | 4 | +200 | -30 |
| 2026-01-22 17:23 | app: adjust daisyui theme wiring | triesap | 6 | +278 | -74 |
| 2026-01-22 17:04 | app: align daisyui neutral tokens | triesap | 1 | +2 | -2 |
| 2026-01-22 17:03 | app: wire theme selection | triesap | 3 | +52 | -6 |
| 2026-01-22 17:00 | app: initialize daisyui theme | triesap | 3 | +174 | -1 |
| 2026-01-22 16:58 | app: add daisyui theme bridge | triesap | 2 | +70 | -0 |
| 2026-01-22 16:56 | app: add daisyui dependency | triesap | 1 | +7 | -0 |
| 2026-01-22 16:51 | app: fix tailwind theme utilities | triesap | 3 | +157 | -102 |
| 2026-01-22 16:25 | app: harden native app shell | triesap | 3 | +40 | -12 |
| 2026-01-22 16:19 | app: add setup key choice view | triesap | 1 | +87 | -0 |
| 2026-01-22 16:18 | app: scaffold setup intro screen | triesap | 1 | +51 | -66 |
| 2026-01-22 16:15 | app: add setup step model | triesap | 2 | +60 | -2 |
| 2026-01-22 16:12 | app: harmonize imported css layers | triesap | 2 | +1 | -232 |
| 2026-01-22 16:09 | app: port legacy static stylesheets | triesap | 5 | +495 | -0 |
| 2026-01-22 16:08 | app: import radroots theme css assets | triesap | 5 | +285 | -0 |
| 2026-01-22 15:53 | app: migrate tailwind pipeline to v4 | triesap | 9 | +421 | -440 |
| 2026-01-22 15:17 | app: align list styling with trellis tokens | triesap | 7 | +436 | -232 |
| 2026-01-22 11:29 | app: add settings route | triesap | 3 | +189 | -0 |
| 2026-01-22 11:19 | app: refresh ui demo list | triesap | 1 | +165 | -14 |
| 2026-01-22 11:16 | app: refine list css hooks | triesap | 1 | +18 | -0 |
| 2026-01-22 11:13 | app: add list container view | triesap | 2 | +221 | -0 |
| 2026-01-22 11:05 | app: add list select row view | triesap | 2 | +92 | -0 |
| 2026-01-22 11:00 | app: add list input row view | triesap | 2 | +133 | -1 |
| 2026-01-22 10:59 | app: add list touch row view | triesap | 2 | +60 | -6 |
| 2026-01-22 10:55 | app: add list line component | triesap | 2 | +77 | -0 |
| 2026-01-22 04:54 | app: add list offset and end views | triesap | 2 | +170 | -0 |
| 2026-01-22 04:51 | app: add spinner component for ui states | triesap | 2 | +61 | -0 |
| 2026-01-22 04:50 | app: add list title and default label views | triesap | 2 | +190 | -0 |
| 2026-01-22 04:48 | app: add list row label and display components | triesap | 2 | +158 | -0 |
| 2026-01-22 04:39 | app: port trellis css foundation | triesap | 2 | +339 | -0 |
| 2026-01-22 04:39 | app: add list configuration types | triesap | 2 | +339 | -0 |
| 2026-01-22 04:38 | app: scaffold list component module | triesap | 2 | +157 | -0 |
| 2026-01-22 04:38 | app: add lucide icon foundation | triesap | 5 | +150 | -0 |
| 2026-01-22 00:33 | app: stabilize dialog presence lifecycle | triesap | 2 | +58 | -11 |
| 2026-01-22 00:16 | app: stabilize ui primitives and dialog lifecycle | triesap | 13 | +151 | -73 |
| 2026-01-21 20:53 | app: add ui demo settings page | triesap | 6 | +120 | -22 |
| 2026-01-21 20:47 | app: add sheet and list group styles | triesap | 1 | +76 | -0 |
| 2026-01-21 20:45 | ui: add sheet components | triesap | 3 | +239 | -24 |
| 2026-01-21 20:40 | ui: add dialog components | triesap | 4 | +360 | -1 |
| 2026-01-21 20:25 | ui: add base button label separator components | triesap | 5 | +132 | -0 |
| 2026-01-21 20:23 | ui: add modal aria hidden helper | triesap | 3 | +223 | -0 |
| 2026-01-21 20:20 | ui: add roving focus helpers | triesap | 2 | +155 | -0 |
| 2026-01-21 20:18 | ui: add scroll lock primitive | triesap | 3 | +193 | -0 |
| 2026-01-21 20:14 | ui: add focus scope primitive | triesap | 3 | +215 | -0 |
| 2026-01-21 20:09 | ui: add dismissable layer primitive | triesap | 3 | +167 | -1 |
| 2026-01-21 20:06 | ui: add presence primitive | triesap | 3 | +149 | -0 |
| 2026-01-21 20:00 | ui: add portal primitive | triesap | 3 | +39 | -0 |
| 2026-01-21 19:57 | ui: add motion and contrast preference helpers | triesap | 3 | +66 | -0 |
| 2026-01-21 19:56 | ui: add input modality tracking | triesap | 3 | +138 | -0 |
| 2026-01-21 19:54 | ui: add event composition helpers | triesap | 2 | +88 | -0 |
| 2026-01-21 19:52 | ui: add core id helper | triesap | 2 | +89 | -0 |
| 2026-01-21 19:50 | app: wire ui stylesheet layers | triesap | 3 | +67 | -0 |
| 2026-01-21 19:49 | app: add tailwind build plumbing | triesap | 5 | +26 | -0 |
| 2026-01-21 19:47 | ui: add ios design tokens css | triesap | 2 | +116 | -0 |
| 2026-01-21 19:45 | app: add ui crate scaffolds | triesap | 10 | +82 | -0 |
| 2026-01-21 18:58 | app: reset all state and logs | triesap | 2 | +25 | -4 |
| 2026-01-21 18:51 | app: add setup initializer and flow | triesap | 3 | +374 | -0 |
| 2026-01-21 18:47 | core: rename app datastore store id | triesap | 1 | +1 | -1 |
| 2026-01-21 18:15 | app: add explicit state create and update helpers | triesap | 2 | +91 | -2 |
| 2026-01-21 18:12 | app: require existing state for notification updates | triesap | 1 | +195 | -6 |
| 2026-01-21 18:03 | app: store state records with migration | triesap | 6 | +133 | -22 |
| 2026-01-21 17:55 | app: add versioned app state record | triesap | 3 | +166 | -2 |
| 2026-01-21 17:50 | app: move logs to logs store | triesap | 4 | +38 | -13 |
| 2026-01-21 17:19 | app: add splash gating before setup routing | triesap | 1 | +32 | -10 |
| 2026-01-21 17:07 | app: skip health errors when setup required | triesap | 3 | +141 | -39 |
| 2026-01-21 16:30 | app: stop auto-initializing app data | triesap | 1 | +0 | -52 |
| 2026-01-21 16:27 | app: remove cfg data bootstrap | triesap | 7 | +4 | -170 |
| 2026-01-21 16:19 | app: gate uninitialized routes to setup | triesap | 2 | +33 | -0 |
| 2026-01-21 16:16 | app: add setup requirement checker | triesap | 1 | +258 | -2 |
| 2026-01-21 16:12 | app: add app data initialization predicate | triesap | 2 | +17 | -2 |
| 2026-01-21 15:55 | app: parallelize health checks | triesap | 1 | +66 | -24 |
| 2026-01-21 15:53 | app: defer log flush off readiness | triesap | 1 | +25 | -8 |
| 2026-01-21 15:51 | app: add deferred log prune helpers | triesap | 2 | +71 | -0 |
| 2026-01-21 15:03 | app: wire typed notifications permission | triesap | 1 | +8 | -4 |
| 2026-01-21 14:56 | app: add typed notifications permission helpers | triesap | 2 | +46 | -0 |
| 2026-01-21 14:32 | app: add support bundle flow | triesap | 1 | +72 | -0 |
| 2026-01-21 14:30 | app: enrich log dump header context | triesap | 1 | +128 | -12 |
| 2026-01-21 14:16 | app: add logs pagination controls | triesap | 1 | +73 | -1 |
| 2026-01-21 14:14 | app: add logs pagination helpers | triesap | 1 | +74 | -2 |
| 2026-01-21 14:13 | app: add log date range filters | triesap | 1 | +76 | -6 |
| 2026-01-21 14:11 | app: prepend log dump header | triesap | 1 | +29 | -1 |
| 2026-01-21 14:11 | app: add log dump header metadata | triesap | 2 | +36 | -0 |
| 2026-01-21 00:09 | app: fix clipboard access in logs page | triesap | 1 | +1 | -3 |
| 2026-01-20 23:59 | app: add logs filtering and view cap | triesap | 1 | +128 | -13 |
| 2026-01-20 23:56 | app: add log dump copy and download | triesap | 2 | +128 | -1 |
| 2026-01-20 23:19 | app: speed up logs page refresh | triesap | 1 | +30 | -28 |
| 2026-01-20 23:17 | app: share datastore handle in backends | triesap | 2 | +15 | -8 |
| 2026-01-20 23:14 | app: streamline log loading and flush | triesap | 2 | +44 | -6 |
| 2026-01-20 23:13 | app: add datastore prefix entry retrieval | triesap | 4 | +59 | -2 |
| 2026-01-20 21:31 | app: align test names with state/settings | triesap | 3 | +17 | -17 |
| 2026-01-20 21:30 | app: move init context to root | triesap | 1 | +87 | -70 |
| 2026-01-20 18:36 | app: rename root components | triesap | 4 | +8 | -8 |
| 2026-01-20 18:34 | app: align bootstrap log labels | triesap | 2 | +3 | -3 |
| 2026-01-20 18:33 | app: rename key map entries to settings/state | triesap | 1 | +12 | -12 |
| 2026-01-20 18:30 | app: align health naming with state/settings | triesap | 3 | +47 | -47 |
| 2026-01-20 18:29 | app: rename state/settings bootstrap helpers | triesap | 5 | +48 | -48 |
| 2026-01-20 18:28 | app: rename state/settings key helpers | triesap | 3 | +29 | -29 |
| 2026-01-20 18:26 | app: rename logging types | triesap | 4 | +118 | -118 |
| 2026-01-20 18:25 | app: rename notifications and tangle types | triesap | 6 | +62 | -62 |
| 2026-01-20 18:24 | app: rename keystore types | triesap | 4 | +23 | -23 |
| 2026-01-20 18:23 | app: rename health types | triesap | 3 | +139 | -139 |
| 2026-01-20 18:22 | app: rename init and context types | triesap | 6 | +179 | -179 |
| 2026-01-20 18:20 | app: rename app config types | triesap | 7 | +161 | -161 |
| 2026-01-20 18:18 | app: rename persisted app data types | triesap | 5 | +39 | -39 |
| 2026-01-20 17:32 | app: add notifications permission request flow | triesap | 1 | +109 | -11 |
| 2026-01-20 17:25 | app: use stored notifications permission | triesap | 1 | +30 | -1 |
| 2026-01-20 17:23 | app: persist notifications permission | triesap | 3 | +38 | -6 |
| 2026-01-20 17:16 | app: use wasm-safe timing for init logs | triesap | 1 | +23 | -3 |
| 2026-01-20 16:51 | app: limit init log persistence to errors | triesap | 4 | +71 | -4 |
| 2026-01-20 16:49 | app: defer health checks after first paint | triesap | 1 | +22 | -1 |
| 2026-01-20 16:47 | app: treat optional health checks as skipped | triesap | 1 | +31 | -11 |
| 2026-01-20 16:44 | app: add init timing logs | triesap | 1 | +30 | -2 |
| 2026-01-20 16:22 | app: abort logs auto-refresh on unmount | triesap | 3 | +19 | -5 |
| 2026-01-20 15:52 | app: add logs auto-refresh | triesap | 3 | +30 | -0 |
| 2026-01-20 15:49 | app: add log clear action | triesap | 3 | +109 | -38 |
| 2026-01-20 15:45 | app: flush logs after health checks | triesap | 3 | +165 | -2 |
| 2026-01-20 14:36 | app: log health check errors | triesap | 1 | +25 | -5 |
| 2026-01-20 00:28 | app: flush logs buffer on refresh | triesap | 1 | +2 | -0 |
| 2026-01-20 00:23 | app: isolate log buffer for tests | triesap | 1 | +44 | -10 |
| 2026-01-19 23:54 | app: instrument keystore notifications and tangle | triesap | 3 | +49 | -7 |
| 2026-01-19 23:52 | app: instrument health checks | triesap | 1 | +45 | -8 |
| 2026-01-19 23:49 | app: instrument init and bootstrap flows | triesap | 2 | +30 | -6 |
| 2026-01-19 23:46 | app: flush buffered logs after init | triesap | 3 | +82 | -10 |
| 2026-01-19 23:42 | app: render logs list and dump panel | triesap | 1 | +131 | -1 |
| 2026-01-19 23:39 | app: add logs route shell | triesap | 6 | +73 | -1 |
| 2026-01-19 23:35 | app: add log entry load and dump helpers | triesap | 2 | +291 | -0 |
| 2026-01-19 23:32 | app: add log entry builder and buffer | triesap | 2 | +107 | -3 |
| 2026-01-19 23:30 | app: generalize log entry key mapping | triesap | 3 | +22 | -22 |
| 2026-01-19 23:17 | app: add structured logging with datastore persistence | triesap | 7 | +638 | -4 |
| 2026-01-19 21:23 | app: add tangle health check stub | triesap | 3 | +40 | -1 |
| 2026-01-19 21:21 | app: add tangle client adapter stub | triesap | 2 | +57 | -0 |
| 2026-01-19 21:20 | app: add notifications health check | triesap | 3 | +59 | -3 |
| 2026-01-19 21:18 | app: add notifications service wrapper | triesap | 2 | +140 | -0 |
| 2026-01-19 21:15 | app: wire init stages for asset bootstrap | triesap | 3 | +103 | -5 |
| 2026-01-19 21:13 | app: add init asset fetch helpers | triesap | 4 | +156 | -0 |
| 2026-01-19 21:09 | app: add config hooks for init assets | triesap | 2 | +37 | -0 |
| 2026-01-19 19:47 | app: show active nostr key in health panel | triesap | 1 | +39 | -3 |
| 2026-01-19 19:46 | app: rerun health checks after reset | triesap | 1 | +5 | -1 |
| 2026-01-19 19:45 | app: validate app data for active key | triesap | 4 | +95 | -1 |
| 2026-01-19 19:42 | app: persist nostr public key in app data | triesap | 3 | +44 | -11 |
| 2026-01-19 19:40 | app: wire reset button to keystore reset | triesap | 1 | +4 | -1 |
| 2026-01-19 19:39 | app: add keystore reset to init reset | triesap | 2 | +68 | -5 |
| 2026-01-19 19:22 | app: strengthen keystore health checks | triesap | 1 | +196 | -19 |
| 2026-01-19 19:19 | app: bootstrap nostr key on init | triesap | 1 | +27 | -0 |
| 2026-01-19 19:18 | app: add keystore bootstrap helpers | triesap | 2 | +171 | -0 |
| 2026-01-19 19:16 | app: add keystore key map schema | triesap | 2 | +67 | -3 |
| 2026-01-19 18:57 | app: update cargo lockfile | triesap | 1 | +1 | -0 |
| 2026-01-19 18:54 | app: auto-run health checks after init | triesap | 1 | +39 | -16 |
| 2026-01-19 18:50 | app: add health check panel | triesap | 1 | +105 | -0 |
| 2026-01-19 18:46 | app: add aggregate health report | triesap | 2 | +30 | -0 |
| 2026-01-19 18:43 | app: add keystore health check | triesap | 4 | +71 | -0 |
| 2026-01-19 18:38 | app: add datastore roundtrip health check | triesap | 2 | +33 | -0 |
| 2026-01-19 18:34 | app: add bootstrap health checks | triesap | 2 | +50 | -1 |
| 2026-01-19 18:31 | app: add key map health check | triesap | 2 | +28 | -1 |
| 2026-01-19 18:28 | app: add health check types | triesap | 3 | +114 | -1 |
| 2026-01-19 18:14 | app: add reset button for bootstrap data | triesap | 2 | +34 | -0 |
| 2026-01-19 18:07 | app: guard bootstrap writes when data exists | triesap | 3 | +62 | -5 |
| 2026-01-19 18:03 | app: add bootstrap reset helper | triesap | 3 | +53 | -4 |
| 2026-01-19 17:59 | app: write bootstrap data during init | triesap | 1 | +12 | -1 |
| 2026-01-19 17:56 | app: add datastore writer for app data | triesap | 2 | +31 | -3 |
| 2026-01-19 17:53 | app: add datastore writer for config data | triesap | 2 | +46 | -0 |
| 2026-01-19 17:49 | app: add datastore key accessors | triesap | 2 | +81 | -0 |
| 2026-01-19 17:46 | app: add bootstrap data types | triesap | 3 | +86 | -0 |
| 2026-01-19 17:33 | app: add AppConfig validation helper | triesap | 2 | +14 | -2 |
| 2026-01-19 17:30 | app: add keystore key map placeholder | triesap | 2 | +18 | -2 |
| 2026-01-19 17:26 | app: validate key maps during init | triesap | 1 | +9 | -1 |
| 2026-01-19 17:24 | app: add key map validation helpers | triesap | 2 | +64 | -0 |
| 2026-01-19 17:20 | app: use default key maps in config | triesap | 1 | +12 | -1 |
| 2026-01-19 17:17 | app: add datastore key map fixtures | triesap | 2 | +67 | -0 |
| 2026-01-19 17:14 | app: use datastore config during init | triesap | 1 | +1 | -1 |
| 2026-01-19 17:12 | app: add datastore config builder | triesap | 2 | +35 | -5 |
| 2026-01-19 17:08 | app: add keystore config wiring | triesap | 3 | +33 | -2 |
| 2026-01-19 17:05 | app: thread app config into init | triesap | 2 | +9 | -3 |
| 2026-01-19 17:01 | app: add app config default helpers | triesap | 2 | +38 | -1 |
| 2026-01-19 16:58 | app: add app key map types | triesap | 2 | +46 | -0 |
| 2026-01-19 16:49 | app: add app context helper for init signals | triesap | 2 | +55 | -0 |
| 2026-01-19 16:45 | app: mark init completion after setup | triesap | 1 | +2 | -0 |
| 2026-01-19 16:44 | app: track init state in app context | triesap | 1 | +40 | -4 |
| 2026-01-19 16:37 | app: add init stage and state types | triesap | 2 | +82 | -1 |
| 2026-01-19 16:28 | app: add init completion storage helpers | triesap | 3 | +59 | -0 |
| 2026-01-19 15:38 | app: wire idb init into root component | triesap | 1 | +15 | -0 |
| 2026-01-19 15:11 | app: fix app init test without Debug bound | triesap | 1 | +4 | -2 |
| 2026-01-19 15:05 | app: add idb bootstrap init for app backends | triesap | 4 | +48 | -4 |
| 2026-01-19 14:59 | app: bootstrap init types and wasm web fixes | triesap | 15 | +133 | -33 |
| 2026-01-19 08:05 | app-lib: add file helpers | triesap | 5 | +219 | -3 |
| 2026-01-19 08:01 | app-lib: add dom helpers | triesap | 3 | +95 | -0 |
| 2026-01-19 07:59 | app-lib: add theme helpers | triesap | 3 | +132 | -0 |
| 2026-01-19 07:57 | app-lib: add locale helper | triesap | 2 | +64 | -0 |
| 2026-01-19 07:56 | app-lib: add query encoding helpers | triesap | 4 | +77 | -0 |
| 2026-01-19 07:55 | app-lib: add storage key helpers | triesap | 2 | +67 | -0 |
| 2026-01-19 07:53 | app-lib: add path helpers | triesap | 2 | +52 | -0 |
| 2026-01-19 07:53 | app-lib: add symbols and sleep helpers | triesap | 5 | +87 | -0 |
| 2026-01-19 07:51 | app-lib: add fetch json helper | triesap | 4 | +174 | -0 |
| 2026-01-19 07:45 | app-lib: add geolocation helpers | triesap | 2 | +33 | -0 |
| 2026-01-19 07:37 | app-lib: add browser platform helper | triesap | 4 | +149 | -0 |
| 2026-01-19 07:33 | app-lib: scaffold shared app crate | triesap | 4 | +18 | -0 |
| 2026-01-19 07:30 | app-utils: add resolve error helper | triesap | 2 | +17 | -5 |
| 2026-01-19 07:28 | app-utils: add model query builder | triesap | 2 | +173 | -5 |
| 2026-01-19 07:26 | app-utils: add model helper types | triesap | 2 | +182 | -0 |
| 2026-01-19 07:25 | app-utils: add asset cache helpers | triesap | 5 | +235 | -0 |
| 2026-01-19 07:21 | app-utils: add media helpers | triesap | 2 | +42 | -0 |
| 2026-01-19 07:21 | app-utils: add currency helpers | triesap | 4 | +133 | -0 |
| 2026-01-19 07:19 | app-utils: add validation schema helpers | triesap | 3 | +138 | -0 |
| 2026-01-19 07:18 | app-utils: add validation regex helpers | triesap | 7 | +482 | -2 |
| 2026-01-19 07:14 | app-utils: add unit helpers | triesap | 2 | +145 | -0 |
| 2026-01-19 07:13 | app-utils: add idb config types | triesap | 2 | +26 | -5 |
| 2026-01-19 07:12 | app-utils: add file path types | triesap | 2 | +53 | -4 |
| 2026-01-19 07:11 | app-utils: add result wrapper types | triesap | 2 | +59 | -2 |
| 2026-01-19 07:10 | app-utils: add id helpers | triesap | 5 | +62 | -0 |
| 2026-01-19 07:09 | app-utils: add async iteration helper | triesap | 5 | +85 | -0 |
| 2026-01-19 07:07 | app-utils: add object helpers | triesap | 4 | +84 | -0 |
| 2026-01-19 07:06 | app-utils: add array buffer helper | triesap | 2 | +34 | -0 |
| 2026-01-19 07:05 | app-utils: add interval range helper | triesap | 4 | +75 | -2 |
| 2026-01-19 06:55 | app-utils: add path resolution helpers | triesap | 2 | +108 | -0 |
| 2026-01-19 06:53 | app-utils: add num_str helper | triesap | 2 | +11 | -2 |
| 2026-01-19 06:53 | app-utils: add parse number helpers | triesap | 2 | +36 | -0 |
| 2026-01-19 06:51 | app-utils: add time helpers | triesap | 2 | +33 | -0 |
| 2026-01-19 06:49 | app-utils: add str_cap_words helper | triesap | 2 | +34 | -2 |
| 2026-01-19 06:49 | app-utils: add str_cap helper | triesap | 2 | +25 | -2 |
| 2026-01-19 06:48 | app-utils: add text encoding helpers | triesap | 2 | +18 | -2 |
| 2026-01-19 06:46 | app-utils: add root symbol constant | triesap | 2 | +15 | -0 |
| 2026-01-19 06:44 | app-utils: add handle_err helper | triesap | 2 | +26 | -2 |
| 2026-01-19 06:42 | app-utils: add throw_err helper | triesap | 2 | +54 | -4 |
| 2026-01-19 06:42 | app-utils: add err_msg helper | triesap | 5 | +38 | -0 |
| 2026-01-19 06:40 | app-utils: add resolve result types | triesap | 2 | +52 | -0 |
| 2026-01-19 06:39 | app-utils: add utils error type | triesap | 1 | +50 | -0 |
| 2026-01-19 06:38 | app-utils: scaffold utils crate | triesap | 4 | +18 | -1 |
| 2026-01-19 04:43 | app-core: add tangle client | triesap | 6 | +1854 | -1 |
| 2026-01-19 04:21 | app-core: add radroots web client | triesap | 5 | +391 | -0 |
| 2026-01-19 04:15 | app-core: add web sql engine | triesap | 7 | +646 | -2 |
| 2026-01-19 02:46 | app-core: add web geolocation adapter | triesap | 3 | +183 | -0 |
| 2026-01-19 02:44 | app-core: add web notifications adapter | triesap | 3 | +338 | -0 |
| 2026-01-19 02:29 | app-core: add web nostr keystore | triesap | 6 | +529 | -2 |
| 2026-01-19 02:07 | app-core: add web keystore implementation | triesap | 3 | +264 | -0 |
| 2026-01-19 02:02 | app-core: add web datastore implementation | triesap | 2 | +522 | -0 |
| 2026-01-19 01:57 | app-core: add encrypted store helper | triesap | 2 | +120 | -0 |
| 2026-01-19 01:55 | app-core: add web crypto service | triesap | 2 | +631 | -0 |
| 2026-01-19 01:45 | app-core: add device key material provider | triesap | 2 | +65 | -0 |
| 2026-01-19 01:44 | app-core: add crypto registry storage | triesap | 5 | +432 | -0 |
| 2026-01-19 01:40 | app-core: add idb keyval helpers | triesap | 4 | +226 | -1 |
| 2026-01-19 01:37 | app-core: add idb store helpers | triesap | 4 | +370 | -1 |
| 2026-01-19 01:32 | app-core: add idb value helper | triesap | 4 | +38 | -0 |
| 2026-01-19 01:28 | app-core: add backup bundle builders | triesap | 4 | +453 | -0 |
| 2026-01-19 01:17 | app-core: add backup codec helpers | triesap | 7 | +235 | -18 |
| 2026-01-19 01:09 | app-core: add crypto kdf helpers | triesap | 2 | +149 | -0 |
| 2026-01-19 01:07 | app-core: add wasm crypto key helpers | triesap | 5 | +163 | -2 |
| 2026-01-19 01:03 | app-core: add crypto random utilities | triesap | 6 | +100 | -2 |
| 2026-01-19 00:59 | app-core: add crypto envelope codec | triesap | 2 | +183 | -0 |
| 2026-01-19 00:57 | app-core: add radroots client types | triesap | 2 | +84 | -0 |
| 2026-01-19 00:56 | app-core: add sql engine types | triesap | 5 | +114 | -0 |
| 2026-01-19 00:53 | app-core: add geolocation types | triesap | 2 | +49 | -0 |
| 2026-01-19 00:52 | app-core: add notifications types | triesap | 2 | +153 | -0 |
| 2026-01-19 00:50 | app-core: add filesystem types and trait | triesap | 2 | +68 | -0 |
| 2026-01-19 00:50 | app-core: add keystore traits | triesap | 2 | +53 | -0 |
| 2026-01-19 00:48 | app-core: add datastore types and trait | triesap | 5 | +94 | -0 |
| 2026-01-19 00:45 | app-core: add cipher trait and config types | triesap | 2 | +50 | -0 |
| 2026-01-19 00:41 | app-core: add backup bundle types | triesap | 2 | +228 | -0 |
| 2026-01-19 00:33 | app-core: add crypto types and traits | triesap | 4 | +197 | -0 |
| 2026-01-19 00:25 | app-core: add idb config constants | triesap | 4 | +112 | -0 |
| 2026-01-19 00:16 | app-core: add tangle error mapping | triesap | 3 | +77 | -0 |
| 2026-01-18 23:54 | app-core: add client sql error map | triesap | 3 | +42 | -0 |
| 2026-01-18 23:52 | app-core: add client radroots error map | triesap | 3 | +63 | -0 |
| 2026-01-18 23:49 | app-core: add client notifications error map | triesap | 3 | +57 | -0 |
| 2026-01-18 23:43 | app-core: add client keystore error map | triesap | 3 | +73 | -0 |
| 2026-01-18 23:40 | app-core: add client geolocation error map | triesap | 3 | +89 | -0 |
| 2026-01-18 23:38 | app-core: add client fs error map | triesap | 3 | +53 | -0 |
| 2026-01-18 23:33 | app-core: add client datastore error map | triesap | 3 | +53 | -0 |
| 2026-01-18 23:30 | app-core: add client backup error map | triesap | 3 | +71 | -0 |
| 2026-01-18 23:27 | app-core: add client cipher error map | triesap | 3 | +65 | -0 |
| 2026-01-18 23:24 | app-core: add client crypto error map | triesap | 7 | +135 | -3 |
| 2026-01-18 19:20 | build: add wasm-release cargo profile | triesap | 2 | +15 | -1 |
| 2026-01-18 18:35 | chore: initialize leptos app | triesap | 12 | +2087 | -48 |
| 2026-01-18 17:24 | chore: initialize rust workspace | triesap | 50 | +7 | -14015 |
| 2026-01-18 16:49 | setup: add farm bootstrap carousel step | triesap | 1 | +178 | -4 |
| 2026-01-13 14:08 | setup: replace role picker with farm/business prompts | triesap | 1 | +97 | -13 |
| 2026-01-13 13:48 | app: unify asset caching and update build graph | triesap | 4 | +56 | -20 |
| 2025-12-28 19:57 | settings: reset init state and sync Nostr before DB export | triesap | 4 | +126 | -37 |
| 2025-12-28 17:02 | backup: switch tangle db backup to json and add export UI | triesap | 3 | +78 | -5 |
| 2025-12-28 15:10 | cfg: add init progress UI and migrate tangle db bindings | triesap | 12 | +328 | -880 |
| 2025-12-27 20:49 | app: centralize startup flow and cache external assets | triesap | 17 | +235 | -56 |
| 2025-12-27 15:55 | build: remove static submodules and consolidate app styles | triesap | 7 | +2 | -32 |
| 2025-12-27 15:06 | app: harden startup flows and expand PWA caching | triesap | 17 | +963 | -653 |
| 2025-12-25 03:12 | nostr: migrate app from NDK to radroots nostr stack | triesap | 13 | +215 | -222 |
| 2025-12-22 21:53 | workspace: migrate to pnpm workspace layout | triesap | 25 | +9924 | -6273 |
| 2025-12-21 04:20 | Embed app name, version, and git hash into the runtime, enrich HTTP initialization, and reinstate farm location conversion. | triesap | 4 | +29 | -11 |
| 2025-12-21 01:37 | Standardized code directives, added media configuration, refreshed dependencies, optimized localization access, enabled dynamic titles, revamped profile photo uploads. | triesap | 11 | +167 | -85 |
| 2025-11-21 03:36 | Update `/settings` with new view component integrated from `@radroots/apps-lib-pwa`. | triesap | 2 | +38 | -0 |
| 2025-11-21 03:00 | Update `/profile/edit` with new view component integrated from `@radroots/apps-lib-pwa`. | triesap | 1 | +88 | -5 |
| 2025-11-21 02:33 | Update `/profile` with new view component integrated from `@radroots/apps-lib-pwa`, upgrade configuration bootstrap to use persisted active key, standardize error guards and farms view typing. | triesap | 8 | +181 | -12 |
| 2025-11-21 01:39 | Initialize database and Nostr session on layout mount, loading user keys, resolving profile relays, connecting the client, and establishing the active user context. | triesap | 1 | +42 | -0 |
| 2025-11-21 01:14 | Upgrade environment configuration, wire API and default relay settings across the app, persist the NIP-05 key into state, and disable service worker precaching. | triesap | 8 | +79 | -32 |
| 2025-11-20 16:52 | Add geolocation field mapping with farm creation and location linking, refactor app utilities and localisations, update `/farms/add` with new view component integrated from `@radroots/apps-lib-pwa`. | triesap | 20 | +372 | -172 |
| 2025-11-20 15:56 | Update `/farms` with new view component integrated from `@radroots/apps-lib-pwa`. | triesap | 5 | +102 | -1 |
| 2025-11-20 15:12 | Migrate application to consume compiled Rust WASM/JS artifacts from external crates, removing local sources. | triesap | 106 | +8364 | -14366 |
| 2025-11-04 00:27 | Add `wasm` crate with modularized `core` and `model` crates, implementing browser-based keystore persistence and WASM SQLite executor. Refactor storage abstraction to support localStorage on web targets, integrate workspace dependency management, and remove legacy modules. | triesap | 116 | +1485 | -11132 |
| 2025-04-29 05:14 | Fix locale keys, update packages. | triesap | 1 | +1 | -1 |
| 2025-04-29 04:58 | Add lib context to root layout. Add `/farms/products/add`, edit farms routes. Refactor callback utils. Add/edit styles, utils. | triesap | 14 | +202 | -136 |
| 2025-04-28 18:26 | Add `/farms/details` page, edit routes, utils. | triesap | 4 | +116 | -28 |
| 2025-04-28 04:06 | Edit `model` crate adding `farm` and `farm_location` models, edit `tangle` crate adding models handlers. Refactor `location_gcs` table fields. Edit farms routes. | triesap | 25 | +506 | -16 |
| 2025-04-27 20:48 | Update `tangle` dependencies using local paths for tauri plugins. Add `/farms/add` page, edit routes, utils, styles. | triesap | 16 | +1235 | -1219 |
| 2025-04-27 04:55 | Add `/farms`, add callback utils, add/edit routes, utils. | triesap | 10 | +275 | -238 |
| 2025-04-27 03:56 | Add `radroots-common` crate, update `tangle_core` and `tangle_model` crate names. Add/edit utils, routes, styles. | triesap | 41 | +710 | -309 |
| 2025-04-10 23:53 | Add/edit nostr sync and poll relay utils. Edit (app) layout subscribers. Edit `/init` client logic, styles. Edit `tangle` set tauri http permissions to all http/https addresses. | triesap | 7 | +142 | -28 |
| 2025-04-10 22:12 | Edit `core` keystore utils and `tangle` keys nostr commands. Edit `/init` refactor client logic, fix use existing nostr key configuration option, fix error messages. Add library config, stores. Add/edit routes, styles, utils. | triesap | 125 | +1211 | -1116 |
| 2025-04-04 14:46 | Add CONTRIBUTING.md | triesap | 1 | +119 | -0 |
| 2025-04-04 14:34 | Add radroots nostr public key to source code. | triesap | 2 | +4 | -3 |
| 2025-04-04 13:20 | Update README.md | triesap | 1 | +57 | -1 |
| 2025-04-04 13:02 | Add `docs` folder and setup screen image for iOS device. | triesap | 0 | +0 | -0 |
| 2025-04-04 11:40 | Add .gitmodules tracking branches. Update packages. | triesap | 5 | +993 | -30 |
| 2025-03-08 00:11 | Edit `model` crate adding update method result pass return types. Add app client nostr sync util. Edit profile views, layouts. | triesap | 12 | +347 | -132 |
| 2025-03-07 13:49 | Add `/profile` page basis. Add nostr sync service. Edit `/init` handlers. Edit utils, styles. | triesap | 8 | +129 | -9 |
| 2025-03-07 09:59 | Update app client to use locale messages from `@radroots/locales`, refactor library components, edit utils. | triesap | 14 | +206 | -398 |
| 2025-03-05 07:08 | Add `@radroots/locales` | triesap | 2 | +4 | -0 |
| 2025-03-04 15:56 | Edit `model` crate, add database update handlers and interfaces. | triesap | 6 | +108 | -18 |
| 2025-03-04 08:17 | Edit `/init`, fix missing config role selection, edit handlers. | triesap | 1 | +2 | -5 |
| 2025-03-04 08:15 | Edit `app` removing key_nostr store and nostr sync utils. | triesap | 4 | +19 | -148 |
| 2025-03-04 07:53 | Add `@radroots/nostr-util`, edit app layouts and utils, update imports/packages. | triesap | 10 | +84 | -28 |
| 2025-02-10 12:35 | Add `model` crate with tables/database utils. Edit `core` adding keystore and nostr key utils. Edit `tauri` refactoring commands, utils, adding nostr key handlers. Refactor app client for svelte version 5, implement `@radroots/lib-app` view based routes. | triesap | 235 | +16461 | -14204 |
| 2025-01-02 05:54 | Update working tree | triesap | 0 | +0 | -0 |
| 2024-12-09 17:16 | Edit `/settings/profile` layout, styles. | triesap | 1 | +55 | -49 |
| 2024-12-09 16:32 | Edit styles | triesap | 5 | +21 | -26 |
| 2024-12-09 16:25 | Edit `/settings/profile/edit` styles. | triesap | 1 | +4 | -4 |
| 2024-12-09 16:23 | Edit `/settings/profile/edit` add keydown submit handlers. Edit `/settings/profile` fix debugging additions. Edit `/cfg/init` styles. Edit components. | triesap | 4 | +12 | -42 |
| 2024-12-09 07:01 | Add `/notifications` page basis. Edit routes, components, utils. | triesap | 11 | +115 | -84 |
| 2024-12-09 06:46 | Edit `/search` add tabs float. | triesap | 2 | +2 | -22 |
| 2024-12-09 06:36 | Add `/search` page basis with search service. Add/edit components, conf. | triesap | 4 | +339 | -0 |
| 2024-12-09 02:06 | Add `/farm/land/edit` page basis. Edit components, routes. | triesap | 3 | +97 | -10 |
| 2024-12-09 01:51 | Edit `/farm/land` and `/farm/land/add` page handlers, styles. | triesap | 2 | +16 | -5 |
| 2024-12-09 01:42 | Edit `/farm/land/add` add submit handler, edit page handlers. Edit `/farm/land` add display column for models. Add map point display component. Add/edit utils. | triesap | 6 | +172 | -26 |
| 2024-12-08 08:51 | Edit async functions add error catch handler. Add app icons. | triesap | 69 | +264 | -269 |
| 2024-12-07 23:50 | Edit `/farm/land/add` modify local coordinates to geolocation position type, add bind values to field inputs, add label select options for area and elevation units. Edit conf, routes. | triesap | 9 | +164 | -38 |
| 2024-12-07 22:32 | Edit crate `core` update model `location_gcs` handlers, `tauri` update `location_gcs` SQL up migration. Edit `/cfg/init` localised strings, styles. | triesap | 3 | +43 | -16 |
| 2024-12-07 22:01 | Add `/farm/land` and `/farm/land/add` routes. Edit `/settings` layout. Add map point select component. Add/edit styles. | triesap | 6 | +471 | -51 |
| 2024-12-07 19:28 | Update localised string translation function. Edit `/settings/profile` layout, styles. | triesap | 25 | +537 | -519 |
| 2024-12-07 18:51 | Edit app root add tabs float. Edit `/settings/profile` add tabs float. Edit `/models/location-gcs` load page handler. | triesap | 3 | +7 | -8 |
| 2024-12-07 18:02 | Edit `/cfg/init` add logo circle, edit features, styles. Edit `/settings/profile` add profile detail layout, nostr sync metadata lifecycle. Add `/settings/profile/edit` with handlers to update nostr profile based on url param rkey, nostr sync metadata lifecycle. Edit app home adding logo circle. Edit components, conf, routes, layouts. | triesap | 13 | +586 | -217 |
| 2024-12-06 06:07 | Remove client map | triesap | 1 | +1 | -2 |
| 2024-12-06 06:02 | Add `/settings/profile`, edit `/settings/nostr`. Add image upload add photo component. Edit home page. Add/edit styles. | triesap | 6 | +305 | -4 |
| 2024-12-06 01:50 | Edit crate `core` add `log_error` model, edit `media_uploads` add file path query bind value, edit `trade_product` add category field. Edit `tauri` crate add `log_error` model handlers, add/edit SQL up migrations. Edit `/cfg/init` add button styles, move fetch methods to utils. Edit `/models/trade-product/add` add kv init, edit styles. Edit root layout add init app handler. Edit app layout add nostr ndk init to app nostr key subscriber. Add models media uploads, error utils. Add/edit fetch utils. Edit lib components. Edit routes. Add/edit conf, types, styles. | triesap | 44 | +1065 | -873 |
| 2024-11-20 12:54 | Edit config add nostr client, add/edit utils. | triesap | 3 | +44 | -55 |
| 2024-11-17 08:35 | Add nostr relay document polling subscriber and document fetch util. Add database nostr sync util for nip-99 events. Edit layout subscribers. Add/edit env, conf, types. | triesap | 11 | +336 | -23 |
| 2024-11-17 04:19 | Edit trade product list card add scroll handlers on media upload image elements. Add conf scroll into view params. | triesap | 4 | +84 | -68 |
| 2024-11-16 09:01 | Edit crates `core` add `media_upload` and `trade_product_media` models, `tauri` add models handlers, SQL up migrations. Edit `/models/trade-product/add` update submit handler to save media upload models, set trade product media relation, upload media files via hosting endpoint. Edit `/models/trade-product` update load data handler for media upload model. Add nostr event sign attest util to pass serialized \"X-Nostr-Event\" fetch request header. Edit routes. Edit lib components, types, utils. Add/edit styles. | triesap | 22 | +848 | -221 |
| 2024-11-15 09:35 | Edit `/models/trade-product/add` add photo upload utils. Edit app layout store subscriptions. Edit `/settings/nostr` select options. Add fetch utils. Edit routes styles. | triesap | 6 | +165 | -22 |
| 2024-11-15 01:31 | Edit trade product list card styles. | triesap | 1 | +23 | -17 |
| 2024-11-15 01:02 | Fix trade product list card focus position. | triesap | 1 | +17 | -7 |
| 2024-11-15 00:51 | Add `/models/trade-product/view`. Edit `models/trade-product` add list card responsive styles. Edit components, routes, styles. | triesap | 11 | +324 | -195 |
| 2024-11-14 23:37 | Edit `/models/trade-product` add list card and line entry components. Edit `/models/trade-product/add` handlers. Add/edit types, utils. | triesap | 8 | +342 | -66 |
| 2024-11-14 19:28 | Edit `core` crate add models get method queries, edit sort statements, add SQL alias, update model table relations SQL, utils. Edit `tauri` crate update model table relation handlers. Edit `/models/` routes. Add logger init/unlisten to root layout. Edit component styles. | triesap | 19 | +1440 | -1080 |
| 2024-11-13 17:26 | Edit `/models/trade-product/add` fix image upload edit envelope, allow post without photo requirement. Edit image upload control. Edit routes. | triesap | 7 | +457 | -426 |
| 2024-11-13 16:16 | Add `/settings/nostr` route with photo hosting option select basis. Edit `/settings` add trellis option select to control color mode. Edit models routes. Add/edit styles. | triesap | 6 | +252 | -60 |
| 2024-11-13 09:41 | Edit `core` add `trade_product_location` model, `tauri` add model handlers, SQL up migration. Update `core` models, `tauri` SQL up migrations. Edit `/models/trade-product/add` add trellis elements, add map envelope, update handlers, add/edit styles. Edit routes. Remove locale defaults. Add/edit components, conf, utils, styles. | triesap | 30 | +1658 | -298 |
| 2024-11-10 06:58 | Edit `models/trade-product/add` add model fields input and select elements, add map location point selection envelope. | triesap | 3 | +561 | -178 |
| 2024-11-10 05:03 | Edit `nostr_profile_relay` model fields. Edit `/models/trade-product/add` update photo upload component, add photo upload handlers. Update `/cfg/init` components. Edit map components. Add geocode uitls. Add/edit styles, utils. | triesap | 17 | +746 | -1131 |
| 2024-11-02 11:02 | Edit `nostr_profile_relay` SQL up migration | triesap | 1 | +4 | -4 |
| 2024-11-02 10:55 | Edit `core` and `tauri` crates adding model `nostr_profile_relay` lib functions, command handlers, SQL up migration. Update `/cfg/init` database client. Edit root layout load. Edit home page envelope. Edit models routes. Edit image upload components. Edit map components. Add numbers config. Edit kv utils. Add trade product utils. Edit @layer base, font css imports. Add/edit styles. | triesap | 28 | +381 | -209 |
| 2024-10-28 03:28 | Edit `models/trade-product/add` rewrite prior page adding writable stores, photo upload feature, simplified views, page param, handler functions. Add image upload display and image upload row components. Add validate fields util for `trade_product`. Add global.d.ts. Add/edit styles. | triesap | 9 | +852 | -1258 |
| 2024-10-26 19:33 | Edit `/cfg/init` update entry components, add superellipse styles. Fix `/models/nostr-profile` select menu element. Add styles. | triesap | 4 | +13 | -9 |
| 2024-10-26 19:17 | Edit `models/trade-product/add` update entry components, add rendering logic, add styles. Add superellipse css/js. Add styles. Add client file system module. | triesap | 15 | +306 | -220 |
| 2024-10-25 11:48 | Edit `/models/trade-product/add` update choose location mapping feature, edit page view handlers, edit error handling, edit styles. Update carousel increment and decrement utils. Update Glyph elements. Add styles. | triesap | 10 | +374 | -308 |
| 2024-10-24 22:22 | Edit `/cfg/init` add confirm dialog to skip profile selection. | triesap | 5 | +19 | -12 |
| 2024-10-24 21:41 | Edit `/models/nostr-profile` trellis styles. Edit reset device util. | triesap | 4 | +159 | -124 |
| 2024-10-24 21:23 | Edit `/cfg/init` add default nostr relay configuration to submit handler. Add reset device util. | triesap | 3 | +351 | -329 |
| 2024-10-24 19:40 | Edit `/models/nostr-profile/` routes, add profiles list page trellis and handler utils, edit profile view page layout and display logic, edit profile field edit page submit handler. Edit (app) home page and layout. Add keystore reset to `/cfg/init` submit handler. | triesap | 6 | +346 | -181 |
| 2024-10-24 13:09 | Edit `/cfg/init` add fetch handlers to create nip-05 profiles, add check for existing configuration keypair, add/edit page error handling, utils, add locales. Edit root, (app), (cfg) layout load functions. Edit `/models/` routes add load data logic and page error handling. Edit `/` add conditional render for app_cfg_type, add/edit styles. Edit page layouts. Add/edit conf, utils, styles, types. Update rust/js packages. | triesap | 29 | +1982 | -1933 |
| 2024-10-18 00:14 | Edit `/conf/init` handlers to check and register nip 05 profile names, update error handling, add localized strings | triesap | 3 | +107 | -51 |
| 2024-10-16 22:24 | Add `core` and `tauri` crates, refactor application adding tauri framework to compile native binaries. Edit `/conf/init` adding mutli-view options for device configuration and EULA. Edit `/models/` routes improving client logic, error handling, and adding localized text. Edit layouts for root, (conf), (app) scopes. Edit lib client, components, config, stores, types, utils. Add styles. | triesap | 174 | +10896 | -5239 |
| 2024-10-11 09:44 | Edit `/conf/init` adding views and updated device configurations options, edit root layout, edit (app) layout, edit (conf) layout, add styles | triesap | 6 | +306 | -68 |
| 2024-10-08 09:12 | Edit build script | triesap | 1 | +1 | -1 |
| 2024-10-08 05:03 | Edit `/conf/init`, edit (conf) routes, add radroots website url to .env, edit styles | triesap | 7 | +491 | -504 |
| 2024-10-07 05:22 | Edit `/models/trade-product/add`, move stores to `@radroots/svelte-lib`, edit components, utils | triesap | 16 | +109 | -126 |
| 2024-10-07 04:26 | Refactor error/response handling logic, add map components, edit conf, edit stores, add styles | triesap | 25 | +611 | -413 |
| 2024-10-06 16:17 | Add `@radroots/geocoder`, add geocoder database connect to root layout, update location gcs add utils, update types, add sql wasm file to static assets, update dependencies | triesap | 8 | +37 | -18 |
| 2024-10-06 15:17 | Add `geonames` submodule | triesap | 2 | +5 | -0 |
| 2024-10-06 15:16 | Update `stylesheets` submodule | triesap | 0 | +0 | -0 |
| 2024-10-06 10:28 | Edit `/models/trade-product/add` adding page views and input fields for updated `trade_product` model, edit root layout adding nostr sync, edit models nostr profile routes, edit models nostr relay routes, edit nostr routes, add nostr utils, edit trade product utils, edit app.css imports, add styles, update package.json dependencies | triesap | 21 | +1434 | -924 |
| 2024-10-03 14:11 | Add `/map/choose-location` route, remove (map) layout and move map routes into (app), move nostr subscribers from root layout to (app) layout, add nostr ndk configured subscriber, edit trade products add route adding choose from map option for location gcs model | triesap | 8 | +397 | -234 |
| 2024-10-03 12:23 | Add nostr relay document polling counter, edit nostr relay routes | triesap | 4 | +83 | -34 |
| 2024-10-03 08:50 | Edit nostr relay view route, edit styles | triesap | 2 | +15 | -7 |
| 2024-10-03 08:43 | Add `/models/nostr-relay/view` route, edit nostr relay routes, add styles | triesap | 4 | +322 | -2 |
| 2024-10-03 07:23 | Edit nostr relay document polling subscriber adding recursive fetch request, edit models nostr relay route, update IClient | triesap | 6 | +162 | -69 |
| 2024-09-27 19:24 | Edit `/models/nostr-relay/`, update routes using nav option swap labels, add css, edit routes, styles | triesap | 6 | +171 | -24 |
| 2024-09-27 15:11 | Update routes previously modifing tabs component stores, update root tabs component | triesap | 6 | +71 | -58 |
| 2024-09-27 14:05 | Add `nostr_relay` model, edit nostr relay connection logic, add default relays as models in (conf) `/init` configure device function, edit utils | triesap | 5 | +127 | -46 |
| 2024-09-27 08:13 | Add `models/nostr-profile/edit` and `models/nostr-profile/view`, edit (conf/app) layout functions, edit routes, edit lib components, conf, utils, styles. | triesap | 30 | +1113 | -329 |
| 2024-09-26 06:06 | Add `@radroots/models`, add `nostr_profile` model, edit (conf) `/init` logic, update package scripts, edit _conf, styles, utils | triesap | 22 | +334 | -86 |
| 2024-09-23 12:10 | Add nostr keys button on home screen, edit styles. | triesap | 2 | +7 | -6 |
| 2024-09-22 08:32 | Edit models routes | triesap | 2 | +24 | -3 |
| 2024-09-22 08:09 | Edit (conf) `/init`, edit models routes, add envelope lower component | triesap | 6 | +110 | -87 |
| 2024-09-21 12:37 | Edit (conf) `/init` route. Edit scope layout functions. Edit conf, styles, utils. Add root layout alert dialog command. | triesap | 10 | +474 | -40 |
| 2024-09-16 13:43 | Build app | triesap | 1 | +2 | -2 |
| 2024-09-16 13:09 | Edit imports | triesap | 1 | +1 | -4 |
| 2024-09-16 12:53 | Add `stylesheets` submodule, edit package.json scripts, update environment variables | triesap | 15 | +38 | -365 |
| 2024-09-15 15:26 | Add .env.example | triesap | 1 | +6 | -0 |
| 2024-09-15 14:26 | Update packages | triesap | 1 | +0 | -1 |
| 2024-09-15 12:50 | Edit root layout, add AppConfig | triesap | 1 | +29 | -50 |
| 2024-09-15 12:40 | Move lib components and stores to `svelte-lib` | triesap | 22 | +72 | -226 |
| 2024-09-13 11:40 | Update ndk packages | triesap | 1 | +2 | -2 |
| 2024-09-13 07:16 | Edit `/models/trade-product/add/preview`, edit models routes, edit trade product utils, add Magda Text font, edit/add css | triesap | 8 | +550 | -69 |
| 2024-09-11 17:23 | Edit `/models/trade-product/add`, edit components, edit utils | triesap | 3 | +172 | -50 |
| 2024-09-11 16:08 | Add `models/trade-product/add` quantity field, edit models routes, edit lib utils | triesap | 4 | +119 | -62 |
| 2024-09-11 11:46 | Edit `/models/trade-product` routes, update model routes, edit nostr routes, add `trade_product` utils, add/edit lib components and types, add/edit css | triesap | 22 | +548 | -601 |
| 2024-09-07 09:56 | Migrate nav component and stores to `svelte-lib`, update imports | triesap | 20 | +231 | -170 |
| 2024-09-07 09:17 | Add app css font-face imports, edit tailwind config | triesap | 3 | +4 | -2 |
| 2024-09-07 09:13 | Add `phosphor-icons` submodule | triesap | 2 | +4 | -0 |
| 2024-09-07 09:12 | Add `webfonts` submodule | triesap | 2 | +4 | -0 |
| 2024-09-07 09:11 | Fix app css import | triesap | 2 | +0 | -3 |
| 2024-09-07 08:58 | Edit (map) layout and add testing map controls, edit models routes, edit nostr routes, edit app css removing font-face styles, edit tailwind config, add maplibre gl css, edit lib components | triesap | 29 | +453 | -241 |
| 2024-09-01 16:45 | Build app | triesap | 1 | +2 | -2 |
| 2024-09-01 16:44 | Add `/map` using svelte maplibre-gl component | triesap | 13 | +115 | -17 |
| 2024-09-01 14:48 | Build app | triesap | 1 | +2 | -2 |
| 2024-09-01 14:47 | Update model location_gcs routes, update model trade_product routes, edit models utils, edit conf | triesap | 11 | +165 | -102 |
| 2024-09-01 12:43 | Build app | triesap | 1 | +2 | -2 |
| 2024-09-01 12:42 | Update model trade product routes, add document head metadata, add error page, add css | triesap | 9 | +226 | -137 |
| 2024-09-01 10:14 | Build app | triesap | 1 | +2 | -2 |
| 2024-09-01 10:13 | Add `models/trade-product`, edit app root page, edit models routes, edit nostr routes, add css | triesap | 19 | +671 | -173 |
| 2024-08-31 17:15 | Build app | triesap | 1 | +2 | -2 |
| 2024-08-31 17:14 | Add routing parameter to restart() util, update (conf) | triesap | 2 | +11 | -8 |
| 2024-08-31 16:34 | Build app | triesap | 1 | +2 | -2 |
| 2024-08-31 16:33 | Edit (conf) splash screen bug during initial key creation | triesap | 1 | +1 | -2 |
| 2024-08-31 16:23 | Build app | triesap | 1 | +2 | -2 |
| 2024-08-31 16:22 | Update `/models/location-gcs`, minor changes to nostr routes, add css | triesap | 8 | +61 | -37 |
| 2024-08-31 13:50 | Build app | triesap | 1 | +2 | -2 |
| 2024-08-31 13:50 | Use svelte version 4, add `/nostr/keys`, add css, update nostr routes, update dependencies | triesap | 30 | +1036 | -271 |
| 2024-08-31 09:59 | Update `/settings` reset device util, add error log, minor edits | triesap | 5 | +33 | -24 |
| 2024-08-30 21:39 | Update nav with basis params, edit `/nostr/notes`, edit `/nostr/profile`, add utils | triesap | 16 | +313 | -353 |
| 2024-08-30 14:46 | Edit nav stores separating previous and title, add test nostr features for metadata and text notes | triesap | 17 | +466 | -84 |
| 2024-08-30 10:33 | Add nostr configuration to root layout, test function for kind 0 metadata | triesap | 4 | +59 | -12 |
| 2024-08-30 09:16 | Update `/models/location-gcs`, update layour trellis | triesap | 3 | +112 | -112 |
| 2024-08-30 09:07 | Update nav component, update nav stores, edit styles | triesap | 10 | +75 | -135 |
| 2024-08-29 11:21 | Add nav, add layout view, edit layout trellis | triesap | 8 | +504 | -350 |
| 2024-08-29 10:39 | Edit tabs, use updated dynamic components | triesap | 1 | +4 | -5 |
| 2024-08-29 10:36 | Add tabs component, edit app_layout store | triesap | 7 | +115 | -11 |
| 2024-08-29 09:55 | Edit `/models/location-gcs` adding a test suite to create and list saved location_gcs models using device geolocation | triesap | 9 | +150 | -90 |
| 2024-08-28 09:46 | Add `/models` and location gcs test methods, update root layout with app_sql subscription | triesap | 5 | +120 | -2 |
| 2024-08-28 09:08 | Add browser test method, add status bar color mode control | triesap | 7 | +35 | -33 |
| 2024-08-28 08:57 | Add wifi test methods (non-functional) | triesap | 8 | +45 | -4 |
| 2024-08-28 08:09 | Build app | triesap | 9 | +31 | -51 |
| 2024-08-27 21:02 | Add InfoPlist.xcstrings strings catalog, add current geolocation test method | triesap | 9 | +90 | -1 |
| 2024-08-27 17:34 | Update `/settings` with test methods, add share, modify stores and root layout | triesap | 8 | +309 | -55 |
| 2024-08-26 15:41 | Add layout trellis component | triesap | 2 | +13 | -2 |
| 2024-08-26 15:34 | Add `/settings` with color mode toggle | triesap | 6 | +154 | -0 |
| 2024-08-26 13:48 | Update (conf) adding simple nostr key management, add splash screen control to root layout, temporarily move stores to local lib | triesap | 11 | +80 | -45 |
| 2024-08-25 12:36 | Build ios app | triesap | 1 | +2 | -2 |
| 2024-08-25 12:33 | Add keystore/preferences nostr key persistence and /conf routes | triesap | 5 | +95 | -13 |
| 2024-08-25 12:08 | Add preferences | triesap | 7 | +20 | -3 |
| 2024-08-25 11:46 | Add keystore | triesap | 6 | +23 | -2 |
| 2024-08-25 09:34 | Add sqlite database and app layout configuration | triesap | 16 | +207 | -64 |
| 2024-08-23 14:31 | Build mobile app | triesap | 80 | +1740 | -10 |
| 2024-08-23 09:32 | Add `@radroots/client` | triesap | 3 | +14 | -0 |
| 2024-08-22 01:03 | Initial commit | triesap | 16 | +961 | -0 |