Skip to content

1.0.22

Pre-release
Pre-release

Choose a tag to compare

@NotThatKindOfDrLiz NotThatKindOfDrLiz released this 22 Aug 13:16
· 48 commits to main since this release
c6b70eb

What's Changed

  • fix(badges): let recipients get rid of unwanted badges by @hm21 in #7640
  • test(a11y): add guideline checks for critical UI surfaces by @realmeylisdev in #7655
  • fix(l10n): localize the database bootstrap failure screen by @realmeylisdev in #7711
  • fix(clips): recover and prevent recordings hidden under the wrong owner by @hm21 in #7737
  • fix(video-editor): resolve the audio in-point to one frame per pixel by @hm21 in #7735
  • fix(nostr_sdk): handle temp relay auth fire-and-forget publishes by @NotThatKindOfDrLiz in #7718
  • fix(c2pa): stop failed signing from leaving debris or destroying the recording by @hm21 in #7740
  • fix(c2pa): remove stale signing debris by @NotThatKindOfDrLiz in #7764
  • feat(api): send platform and app version in Funnelcake User-Agent by @dcadenas in #7746
  • ci(shorebird): move code push to the Divine org and wire it into Codemagic by @NotThatKindOfDrLiz in #7202
  • docs(profile): trim _SessionExpiredPromptTrigger class documentation by @NotThatKindOfDrLiz in #7779
  • ci(shorebird): reject patches that do not match their store release by @NotThatKindOfDrLiz in #7783
  • fix(a11y): label the auth-flow icon buttons and localize the password toggle by @realmeylisdev in #7759
  • refactor(profile): fold banner dismissal into a store by @realmeylisdev in #7753
  • fix(text): close the remaining unsanitized UTF-16 surfaces by @hm21 in #7745
  • fix(notifications): keep an invalid-pubkey follow-back out of Crashlytics by @hm21 in #7792
  • ci(ios): let every Shorebird build reach internal testers without entering review by @NotThatKindOfDrLiz in #7801
  • fix(ui): stop dialog and sheet buttons from closing the wrong screen or filing fake crashes by @hm21 in #7795
  • fix(l10n): give 22 countable ARB keys ICU plural forms by @realmeylisdev in #7763
  • fix(library): drop the grid-size button from the editor clip picker by @hm21 in #7790
  • docs(android): record the measured field cost of the Impeller switch by @hm21 in #7794
  • feat(video-player): log why playback stops by @hm21 in #7863
  • test(profile): pin the single isOwnProfile flag behind the followers stat by @hm21 in #7873
  • fix(close_guard): add emitIfOpen/addIfOpen guards to priority files by @NotThatKindOfDrLiz in #7797
  • fix(dm): keep removed conversations from returning by @NotThatKindOfDrLiz in #7811
  • ci(shorebird): keep emergency patches isolated from ongoing development by @NotThatKindOfDrLiz in #7844
  • fix(notifications): stop notifications about another creator's video from opening nothing by @NotThatKindOfDrLiz in #7817
  • fix(dm): avoid retrying terminal NIP-04 duplicates by @NotThatKindOfDrLiz in #7891
  • feat(settings): link Divine Family and Divine Kids from Support Center by @NotThatKindOfDrLiz in #7846
  • fix(observability): report which source resolved a video route id by @rabble in #7856
  • fix(feed): keep progressing video downloads alive by @NotThatKindOfDrLiz in #7893
  • fix(observability): stop reporting aborted media downloads as fatal by @hm21 in #7870
  • fix(auth): keep email verification usable with the keyboard up by @hm21 in #7865
  • fix(profile): open verified accounts on their public profiles by @NotThatKindOfDrLiz in #7890
  • fix(dm): drop a conversation's queued reactions when it is removed by @realmeylisdev in #7878
  • docs(shorebird): name the internal TestFlight group and verify delivery by @NotThatKindOfDrLiz in #7918
  • fix(age-gate): stop verified viewers being prompted again at startup by @NotThatKindOfDrLiz in #7818
  • fix(account): explain and recover from rejected deletion requests by @NotThatKindOfDrLiz in #7815
  • docs(shorebird): record the two patch-line gotchas the drill hit by @NotThatKindOfDrLiz in #7917
  • refactor(inbox,dm): optimize ProfileRepository re-binding and document exception by @NotThatKindOfDrLiz in #7928
  • ci(shorebird): pass both signing keys to the patch commands by @NotThatKindOfDrLiz in #7936
  • fix(inbox): keep the filter-chips header from blanking the Messages pane by @realmeylisdev in #7855
  • fix(brand): write the product name as Divine in user-facing copy by @realmeylisdev in #7915
  • fix(account): send the bearer token first when deleting the Keycast account by @hm21 in #7867
  • fix(l10n): localize the app bar back button and remaining hardcoded strings by @realmeylisdev in #7708
  • fix(feed): revalidate the home feed on start instead of trusting the cache by @rabble in #7722
  • fix(camera): stop the iOS editor from playing clips with the recorder's audio settings by @hm21 in #7877
  • docs(l10n): define per-locale tone, dialect, and translation review rules by @realmeylisdev in #7902
  • fix(divine_ui): drop the text listener when DivineAuthTextField disposes by @realmeylisdev in #7948
  • fix(video-editor): insert a duplicated clip next to its source by @hm21 in #7955
  • docs(bookmark-toggle): clarify publishDidNotComplete failure doc by @NotThatKindOfDrLiz in #7720
  • refactor(dm-restriction): pin Keycast fail directions (#7584) by @NotThatKindOfDrLiz in #7583
  • fix(subtitles): use playback fallback sources in editor by @NotThatKindOfDrLiz in #7566
  • chore(agents): commit build-artifact purge hook, fix hook timeout units by @NotThatKindOfDrLiz in #7274
  • test(auth): clean up services after each test by @rabble in #7944
  • feat(ui): paint the green heart emoji in Divine green by @rabble in #7731
  • fix(feed): keep the New feed chronological by @rabble in #7859
  • fix(l10n): correct the inbox strings from the PR #6286 translation pass by @realmeylisdev in #7953
  • fix(ios): socket errors and passive auth retry logging by @NotThatKindOfDrLiz in #7543
  • fix(relay): stop sign-out from leaving a relay connection open forever by @hm21 in #7957
  • fix(camera): let iOS record music without the speech cleanup by @hm21 in #7967
  • refactor(router): make extra-bearing routes resolvable from their URL by @realmeylisdev in #7972
  • fix(feed): stop hashtag pagination dropping every video by @realmeylisdev in #7966
  • refactor(startup): own app-wide side-effect activation in one place by @realmeylisdev in #7969
  • fix(editor): stop imported Vines from ending early with the music still playing by @hm21 in #7959
  • feat(dm): honest remove/decline copy and a block action for requests by @mbradley in #7916
  • chore(l10n): delete 261 orphaned ARB keys and ratchet the rest by @realmeylisdev in #7963
  • fix(account): stop telling users nothing was deleted after a server failure by @hm21 in #7964
  • chore(release): open the 1.0.22 version train by @NotThatKindOfDrLiz in #7981
  • fix(auth): route Secure account key conflict to recovery, not a dead end by @mbradley in #7840
  • ci(shorebird): precache Android engine artifacts before Shorebird builds by @NotThatKindOfDrLiz in #7988
  • test(profile): re-enable profile router URL sync tests by @realmeylisdev in #7650
  • fix(ios): release App Attest assertion state after timeout by @NotThatKindOfDrLiz in #7710
  • feat(badges): let an issuer revoke a badge from one recipient by @hm21 in #7876
  • feat(library): stop archiving a clip from emptying it out of its category by @hm21 in #7958
  • fix(nip46): stop sign-out from leaving the signer connected forever by @hm21 in #7973
  • fix(nostr): log full Nostr identifiers and freeze truncation at zero by @realmeylisdev in #7965
  • fix(ci): always descend past a variable declaration, and drop safeSubstring by @realmeylisdev in #7997
  • fix(explore): say sponsored by on featured collections by @NotThatKindOfDrLiz in #7994
  • feat(shorebird): bind release provenance to the patch signing key by @NotThatKindOfDrLiz in #7996
  • feat(safety): filter on hosting and provenance, and explain a filtered video by @rabble in #7945
  • fix(build): stop staging installs from replacing the production app by @rabble in #8003
  • feat(analytics): send private product events from mobile by @rabble in #7938
  • feat(divine_video_player): export audio overlay failures in bug reports by @NotThatKindOfDrLiz in #7935
  • feat(share): let people send Divine to friends from Settings by @NotThatKindOfDrLiz in #8004
  • fix(drafts): keep draft audio playable after an iOS app update by @hm21 in #7970
  • fix(analytics): separate first login identity by @rabble in #8008
  • fix(account): make username release recoverable by @NotThatKindOfDrLiz in #7845
  • fix(nostr): release subscription slots after bounded reads by @NotThatKindOfDrLiz in #8007
  • feat(profile): add OG Beta Tester badge by @rabble in #7950
  • fix(dm): bound a NIP-04 DM's created_at so it cannot freeze the unread badge by @realmeylisdev in #8005
  • chore(camera): record why a clip's audio starts where it does by @hm21 in #8015
  • feat(video-editor): duplicate stop-motion frames and fix their block drag by @hm21 in #8009
  • docs(rules): require deliberate text-field input traits by @hm21 in #8017
  • fix(sounds): keep saved My Sounds audio playable after an iOS app update by @hm21 in #8011
  • fix(account): confirm a successful account deletion instead of crashing by @hm21 in #8020
  • fix(maintainability): make oversized-file warnings reflect each pull request by @NotThatKindOfDrLiz in #8028
  • fix(account): keep account deletion recoverable while the server finishes by @NotThatKindOfDrLiz in #8027
  • fix(download): stop saved videos playing as slow motion in the camera roll by @hm21 in #8030
  • feat(shorebird): validate a staged patch from developer options by @NotThatKindOfDrLiz in #7995
  • fix(lists): stop a deleted list returning on the next relay sync by @rabble in #8034
  • fix(safety): fetch real profiles for blocked users by @rabble in #8038
  • fix(account): keep interrupted deletion recovery safe by @NotThatKindOfDrLiz in #8045
  • fix(supporters): recover paid purchases on app launch by @rabble in #8043
  • feat(inbox): surface pending badge awards as a Badges tab by @rabble in #8046
  • test(structure): group every flat test file and freeze the shape by @realmeylisdev in #7695
  • fix(video): preserve provenance when editing REST-loaded videos by @NotThatKindOfDrLiz in #8051
  • fix(lists): keep private lists private during relay sync by @NotThatKindOfDrLiz in #8054
  • fix(account): stop implying deletion during startup by @NotThatKindOfDrLiz in #8059

Full Changelog: 1.0.20...1.0.22