docs(agents): require reading the source Zendesk ticket, and keep it out of this repo by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8371
fix(local_stack): start invite service on Apple Silicon by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8373
fix(dm): say which request the bulk sweep kept by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8349
chore(legal): show Shorebird updater licenses in the app by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8374
ci(tests): make shared-channel leaks fail the test that caused them by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8364
fix(a11y): give the feed-mode selector a 48dp tap target by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8367
ci(tests): keep unrelated test files in stable shards by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8376
fix(dm): derive the live DM since: window in the clock the relay filters by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8361
test(helpers): keep auth fixture state consistent by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8383
fix(dm): bind an incoming reaction to the last e/p tag per NIP-25 by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8379
fix(minor-review): show the 15-day response deadline by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8381
fix(account): stop failed signer recovery from delaying startup by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8375
fix(dm): enforce moderation-notice removal at the repository boundary by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8400
fix(dm): avoid generated handles while profiles load by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8394
fix(dm): stop offline sweeps burning the reaction retry budget by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8387
fix(profile): show real counts in the message request preview by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8405
fix(likes): bind a reaction to the last e tag per NIP-25 by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8397
feat(dm): publish the kind-10050 DM inbox list so NIP-17 senders can reach divine users by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8378
test(dm): drop two inherited stubs and strengthen account-switch coverage by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8410
fix(dm): name a group conversation for the room, not one of its members by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8395
test(dm): declare each DM decision stub where its decision is made by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8412
test(dm): freeze shared-setUp stub counts so the shape cannot regrow by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8414
fix(dm): stop the startup dedup pass from erasing a group conversation by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8401
fix(nostr_sdk): send reads only to requested relays by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8417
fix(dm): source the conversation header's follower count from ProfileStats by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8416
test(dm): cover transaction rollback and membership on the DM persist paths by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8425
test(widgets): scope positional finders that feed a decoration cast by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8423
fix(dm): publish the sender's self-wrap to their own kind-10050 inbox relays by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8435
fix(dm): keep vanished accounts from flashing generated handles by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8384
fix(dm): route gift-wrapped DM reactions to the recipient's kind-10050 inbox by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8437
docs(nostr_sdk): replace the settle window's latency basis with measured data by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8440
fix(observability): report the real memory peak, pressure events, and stop crowding the log by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8445
fix(dm): recover group conversations erased by the startup dedup pass by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8426
fix(dm): make the forced recovery drain actually reach the window it was bumped for by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8442
fix(avatar): decode avatars at their slot size instead of full resolution by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8447
fix(dm): stop scoring a fallback-pool OK as delivery on an unreadable inbox by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8436
ci(tests): publish a failing shard's seed and replay recipe by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8419
fix(dm): bound the send segments that sit outside the publish backstop by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8448
fix(analytics): stop leaking into the background activity registry by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8402
refactor(async): pay down production Future.delayed sites and fix the ratchet by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8333
fix(release): keep Zapstore icon aligned with iOS by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8469
fix(dm): tell the user when a resend failed again by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8463
fix(reporting): refuse self-reports before they publish (#8352) by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8454
fix(privacy): redact filesystem paths from bug report diagnostics by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8470
test(enforcement): restore the guard against rendering a moderation reason by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8479
docs(dm): record the retired moderation key as unrecovered by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8477
feat(l10n): make Divine available in Telugu by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8478
test(dm): prove relays silently omit late gift wraps (#8439) by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8504
fix(settings): guide profile-less users from NIP-05 by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8496
fix(profile): keep failed batch lookups indeterminate by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8513
fix(observability): stop reporting image decode allocation failures as fatal by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8480
fix(dm): stop showing a DM reaction as sent when the recipient's inbox could not be read by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8514
fix(dm): close the three retired-thread writes the composer notice missed by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8490
fix(dm): make every NIP-04 dual-send failure observable by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8502
fix(dm): carry the reply tag on the NIP-04 twin, when it resolves by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8509
fix(media-cache): stop SafeCacheInfoRepository mutating FlutterError.onError by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8482
refactor(async): replace AsyncUtils timer-backed waits with cancellable coordination by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8489
fix(dm): clear the nip04 latch when the peer proves they speak NIP-17 by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8505
feat(lists): rebuild the list detail screen to the new design by @Chardot in https://github.com/divinevideo/divine-mobile/pull/8453
feat(support): add a Clear Logs action to Support Center by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8494
fix(dm): guard the unscoped DmRepository reads and writes when the owner is unknown by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8525
fix(dm): resolve DM send-target peers through the shared naming chain by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8533
fix(dm): read the NIP-44 extended length prefix and bound oversized DMs by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8529
fix(logging): export log timestamps in UTC by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8520
fix(profile): resolve people-picker and shared-row identity through the vanished step by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8536
chore(tooling): add lnav log formats for app exports and CI logs by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8521
fix(dm): stop scoring a delete-for-everyone as sent when the recipient's inbox could not be read by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8532
fix(dm): unlatch a one-way thread from the peer's advertised inbox by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8524
ci(android): send release builds to internal testing first by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8549
fix(playback): play new uploads while renditions are processing by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8559
fix(explore): require 18+ verification for restricted featured tabs by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8541
fix(notifications): request Inbox refresh after foreground push by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8552
fix(profile): keep newly published videos in the profile grid by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8560
docs(agent): restore shared safety and delivery rules by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8579
fix(dm): make message restore recover when the relay pool has gone idle by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8554
fix(db): keep rollback journals with their databases by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8567
fix(search): keep avatar failures private by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8582
fix(video-metadata): keep lower options reachable while typing by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8577
fix(moderation): scope adult-content verification to the active account by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8538
fix(dm): keep a refused delete-for-everyone visible, replayable, and announced by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8206
fix(search): cancel superseded query work by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8581
fix(search): put exact account matches first by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8578
fix(db): recover hot rollback journals during startup by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8568
fix(dm): close four ways a direct message is lost silently by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8597
fix(video-editor): stop a stuck export from disabling Post forever with no explanation by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8592
fix(dm): keep loading old messages fast after a brief signer hiccup by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8585
fix(follow): order the contact list by created_at, not by p-tag count by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8555
fix(reporting): surface dropped image insertions in the content report field by @mbradley in https://github.com/divinevideo/divine-mobile/pull/8511
fix(push): keep notifications registered across account switches by @dcadenas in https://github.com/divinevideo/divine-mobile/pull/8562
fix(dm): let each local account keep its own copy of a group message by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8586
test(dm): guarantee a resent direct message still arrives as one message by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/8589
fix(settings): resume NIP-05 setup after profile creation by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8613
refactor(search): keep people-search cancellation always active by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8603
fix(testing): stop conversation-list tests failing on slow runners by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8606
fix(testing): stop font loading order from changing layout tests by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8607
fix(dm): keep failed appeals visible after moderation rotation by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8611
fix(observability): keep shared log exports within device limits by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/8609