Original release notes
What's Changed
- fix(video-metadata): relabel C2PA "Post anyway" to "Skip" by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6303
- fix(router): skip router refresh on routing-identical review-status refetch by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6301
- docs(content-warnings): document and guard the age-gate by @mbradley in https://github.com/divinevideo/divine-mobile/pull/6237
- feat(captions): add caption_generator package for on-device CC generation by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6307
- fix(support): unblock self-custody DMs by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6319
- fix(splash): bound launch wordmark size by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6316
- fix(support): clarify restricted video errors by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6324
- fix(video-feed): show blurhash behind dead-media error card by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6254
- fix(branding): finish the Divine icon set - web icons, brand colours, app naming by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6309
- fix(branding): guard the sign-in Divine wordmark against brand-mark drift by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6306
- test(branding): pin the loading spinner to the current Divine brand mark by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6310
- feat(clip-reuse): preserve imported clip provenance by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6321
- fix(clips): render a placeholder when a clip thumbnail file is missing by @rabble in https://github.com/divinevideo/divine-mobile/pull/6295
- fix(dm): route fully-followed group chats to the inbox, not message requests by @rabble in https://github.com/divinevideo/divine-mobile/pull/6294
- test(auth): settle the wordmark SVG before asserting image semantics by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6333
- fix(audio): gate original-sound reuse on the creator's sharing preference by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6330
- feat(profile): long-press own video tile for edit/delete actions by @rabble in https://github.com/divinevideo/divine-mobile/pull/6325
- docs: update divine-context template to include PR review rules by @dcadenas in https://github.com/divinevideo/divine-mobile/pull/6338
- fix(feed): guard tuning-undo against unmounted context by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6353
- fix(support): clarify account deletion copy by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6363
- feat(dm): messages UX revision - unread emphasis, filters, search, error state by @rabble in https://github.com/divinevideo/divine-mobile/pull/6286
- feat(auth): in-app PIN entry fallback for email verification by @dcadenas in https://github.com/divinevideo/divine-mobile/pull/5694
- fix(nostr): auth awaited relay publishes by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6362
- feat(profile): link creator sites from profiles by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6329
- perf(test): stop upload-draft failure tests sleeping 62s of real backoff by @rabble in https://github.com/divinevideo/divine-mobile/pull/6371
- chore(git): ignore zcode session files by @rabble in https://github.com/divinevideo/divine-mobile/pull/6339
- ci(mobile): consolidate generated-file ratchet fetches by @rabble in https://github.com/divinevideo/divine-mobile/pull/6352
- fix(notifications): keep bech32 npub tokens intact in reply/comment previews by @rabble in https://github.com/divinevideo/divine-mobile/pull/6345
- feat(ios): automated App Store screenshot pipeline by @rabble in https://github.com/divinevideo/divine-mobile/pull/6355
- chore(deps): bump pro_image_editor to 13.2.3 for layer-align fix by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6382
- feat(account): rebuild multi-account switching on an account-scoped container by @rabble in https://github.com/divinevideo/divine-mobile/pull/6342
- fix(video-editor): recover from export encoder-init failures by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6384
- fix(support): resolve root-anchored comment notifications by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6393
- fix(lists): preserve addressable video tags by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6394
- fix(news-feed): ignore iOS back swipe for tuning by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6395
- perf(ci): shard the Mobile CI test job across four runners by @rabble in https://github.com/divinevideo/divine-mobile/pull/6375
- feat(review): prompt engaged store-installed creators to rate the app by @rabble in https://github.com/divinevideo/divine-mobile/pull/6399
- fix(bluesky): stop repeated username setup prompt by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6402
- fix(support): consume observed video deletions by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6364
- perf(dev): add
mise run testso local runs match CI by @rabble in https://github.com/divinevideo/divine-mobile/pull/6376 - feat(mobile): add manual video crossposting by @rabble in https://github.com/divinevideo/divine-mobile/pull/6347
- fix(video-editor): preserve draft metadata mode by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6396
- fix(dm): harden NIP-17 against unauthenticated rumor fields and unsigned seals by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6368
- perf(ci): add a wall-clock budget guard so the CI wins can't erode by @rabble in https://github.com/divinevideo/divine-mobile/pull/6380
- perf(ci): cut 23s of full-history clone and 42s of apt off Mobile CI by @rabble in https://github.com/divinevideo/divine-mobile/pull/6372
- feat(notifications): render video-sourced mentions by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6299
- fix(video): refresh profile grid after delete by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6407
- fix(follow): self-heal invalid cached pubkeys by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6408
- fix(support): gate internal feature flags by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6409
- chore(deps): upgrade pro_video_editor to 2.9.0 by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6419
- fix(dm): resolve four cases where DMs go missing with no loader by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6431
- revert(profile): remove the divine.space creator-site CTA by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6440
- fix(blocklist): deliver a lifted block to the person who was blocked by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6434
- chore(release): bump app version to 1.0.18 by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6444
- feat(dm): pin a Divine Moderation support row at the top of the inbox by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6388
- fix(account): refuse to start account deletion that cannot finish by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6417
- fix(sound-publishing): keep sound attribution on published posts by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6422
- feat(settings): surface account deletion from the Support Center by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6449
- chore(deps): correct the c2pa_flutter pin's removal condition by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6451
- fix(comments): keep composer buttons visible above the keyboard by @rabble in https://github.com/divinevideo/divine-mobile/pull/6454
- fix(support): count live creator analytics engagement by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6448
- fix(video-editor): keep stop-motion audio covering the composition by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6415
- fix(view-events): publish self-view events by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6406
- fix(profile): avoid disposed refs in profile streams by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6405
- fix(l10n): use root context for publish snackbar by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6403
- docs: record CI timing budget shard coverage design by @rabble in https://github.com/divinevideo/divine-mobile/pull/6425
- fix(video-player): seek fresh Darwin players to start time too by @rabble in https://github.com/divinevideo/divine-mobile/pull/6461
- fix(models): map top-level proof fields on REST video stats rows by @rabble in https://github.com/divinevideo/divine-mobile/pull/6457
- feat(supporter): enforce server-verified subscriptions by @rabble in https://github.com/divinevideo/divine-mobile/pull/6413
- fix(feed): cap playback length with native clipping by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6429
- fix(video-player): loop where both tracks still have content by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6430
- chore(release): bump app version to 1.0.19 by @rabble in https://github.com/divinevideo/divine-mobile/pull/6462
- fix(stop-motion): steady the first editor open after a capture by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6465
- fix(video-editor): give a recorded clip its media's length by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6439
- feat(video-editor): captions with burn-in presets and CC overlay publish by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6313
- fix(notifications): fetch category tabs independently by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6446
- fix(nostr): let a relay CLOSED frame terminate its pending query by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6452
- fix(profile): stop rendering accounts that requested deletion by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6464
- fix(attestation): run iOS App Attest off the main thread by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6487
- fix(people-lists): keep the app-shell bloc on a live repository by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6482
- chore(infinite-video-feed): delete the loop seek nothing calls by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6489
- fix(profile): close vanished account leaks by @NotThatKindOfDrLiz in https://github.com/divinevideo/divine-mobile/pull/6488
- fix(feature-flags): stop the curated-lists toggle from popping the screen by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6476
- fix(publish): stop a video from publishing under the wrong account by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6478
- fix(video-player): stop the loop restart being audible or visible by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6469
- feat(video-editor): add a per-clip chroma key (green screen) by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6483
- fix(profile): stop the publish seed from erasing Kind 0 fields by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6500
- fix(comments): make flag-content report sheet scrollable so Submit is reachable by @mbradley in https://github.com/divinevideo/divine-mobile/pull/6312
- fix(people-lists): stop background sync when curated lists turns off by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6502
- chore(deps): upgrade pro_video_editor to 2.11.1 by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6505
- refactor(theme): migrate UI to semantic color tokens for light mode by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6467
- fix(profile): sanitize display text against malformed UTF-16 by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6515
- feat(settings): add crossposting connections and modes by @rabble in https://github.com/divinevideo/divine-mobile/pull/6350
- fix(settings): restore crossposting tile after the token rename by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6534
- chore(feed): delete the dead _LoadingIndicator by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6559
- fix(feed): randomize the home Classics feed like Discover by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6537
- fix(lists): stop the delete-list dialog reporting a fatal on a dead route by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6513
- fix(snackbar): stop actions that outlive their screen reading a dead context by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6521
- fix(theme): finish the light-mode contrast pass #6467 left open by @realmeylisdev in https://github.com/divinevideo/divine-mobile/pull/6530
- perf(upload): ~32% faster publishing by taking the thumbnail off the critical path by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6554
- fix(test): wait for the save result before asserting the stop-motion cleanup by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6558
- fix(library): render draft overlays instead of hiding the post action by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6549
- fix(media-cache): suspend downloads on a background launch by @hm21 in https://github.com/divinevideo/divine-mobile/pull/6543
- feat(l10n): add Vietnamese, Urdu, Chinese, and Malay language support by @rabble in https://github.com/divinevideo/divine-mobile/pull/6495

