Commit graph

2585 commits

Author SHA1 Message Date
Evan Hahn
944d60f40b
On conversation open, scroll to unread indicator if present 2022-03-08 14:05:05 -06:00
Evan Hahn
efee887135
Don't try generating link previews for debuglogs.org 2022-03-08 14:04:44 -06:00
Josh Perez
4e48d7792b
Use a hook for the ever-updating now 2022-03-08 13:11:11 -06:00
Evan Hahn
c527de0a8d
Collapse message bubbles when applicable 2022-03-08 08:32:42 -06:00
Evan Hahn
0c28561473
Move link preview and MIME tests to TypeScript 2022-03-07 15:20:04 -08:00
Scott Nonnenberg
114316745d
Don't increment totalUnread count for sends or database loads 2022-03-04 20:39:40 -08:00
Scott Nonnenberg
4be2a33be5
Populate dataMessage on CallbackResultType when sending 1:1 messages 2022-03-04 17:39:37 -08:00
Scott Nonnenberg
78fd36e880
Ensure that only messages with storyId have a StoryContext 2022-03-04 15:20:47 -08:00
Josh Perez
eb91eb6fec
Process incoming story messages 2022-03-04 13:14:52 -08:00
Fedor Indutny
df7cdfacc7
Don't mkdir restore dir in updater 2022-03-04 11:59:47 -08:00
Evan Hahn
effe5aae6f
Assume everyone is GV2-capable 2022-03-04 13:48:44 -06:00
Scott Nonnenberg
0a52318be6
Delete for everyone: Track sends and show failure states 2022-03-04 11:22:31 -08:00
Fedor Indutny
51759a64f9
Unescape link preview description 2022-03-04 11:02:36 -08:00
Evan Hahn
a3b1b696db
<MessageTimestamp>: make timestamp prop required 2022-03-03 20:35:59 -08:00
Fedor Indutny
26100ea562
Make updates atomic again 2022-03-03 14:34:51 -08:00
Fedor Indutny
c87cb59676
Update electron-builder to 23.0.1 2022-03-03 14:16:44 -08:00
Evan Hahn
0c31ad25ef
Remove React Virtualized from <Timeline> 2022-03-03 14:23:10 -06:00
Josh Perez
11895cdd19
Release notes for v5.35.x 2022-03-02 19:40:56 -05:00
Fedor Indutny
8cc3605637
Fix generation of reaction ids 2022-03-02 15:39:51 -08:00
Fedor Indutny
3b4106d9dd
Change order of syncs during linking 2022-03-02 14:53:47 -08:00
Fedor Indutny
fe9cdfbed9
Fix error handling during piping in updater 2022-03-02 11:48:07 -08:00
Josh Perez
34eb6a541d
Japanese specific fonts 2022-03-02 13:41:16 -05:00
Josh Perez
0872afba3d
Fallback for the SafetyNumberViewer 2022-03-02 10:24:28 -08:00
Fedor Indutny
da7a76e03f
Pass go headers through in updater/differential 2022-03-02 10:06:58 -08:00
Jim Gustafson
637b67d9a5
Update to RingRTC v2.19.0
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2022-03-02 11:28:29 -06:00
Fedor Indutny
e7b4b9015c
Update TypeScript to 4.6.2 2022-03-02 10:55:35 -06:00
Scott Nonnenberg
71b2b6e30a
Conversation Queue: Fix conversationId added to untrusted list 2022-03-01 17:04:19 -08:00
Scott Nonnenberg
1656b61a82
Group Migration: Don't bump to top of list if we're not in group 2022-03-01 16:13:17 -08:00
Evan Hahn
cfa0711909
Put "is speaking?" threshold in remote config; lower default 2022-03-01 17:39:09 -06:00
Fedor Indutny
2b0c98f943
Handle PNI keys from ProvisionMessage 2022-03-01 15:01:21 -08:00
Fedor Indutny
19441cd3f3
Optimize number of range requests in updater 2022-03-01 14:44:29 -08:00
Fedor Indutny
1a751c07fc
Remove warn log when no account record is fetched 2022-02-28 18:43:45 -08:00
Fedor Indutny
524f0cfaea
Update mock server and drop /etc/hosts requirement 2022-02-28 17:46:32 -06:00
Scott Nonnenberg
dbed3cbd2b
Migrate and add migration/removed events if GV2 migration removed us 2022-02-28 14:32:50 -08:00
Evan Hahn
9b269cb43f
<Message>: avoid state change when cleaning up reaction root elements 2022-02-28 13:42:51 -08:00
Evan Hahn
e4be12bced
Remove as any workaround from smart components 2022-02-25 17:59:43 -06:00
Scott Nonnenberg
fcb96bf92a
Simplify OutgoingIdentityKeyError, use it in getKeysForIdentifier 2022-02-25 15:39:24 -08:00
Evan Hahn
e4b4a0cd1e
Clean up Element#scrollIntoViewIfNeeded type 2022-02-25 15:35:53 -08:00
Fedor Indutny
033b4830d1
Use checkAccountExistence 2022-02-25 15:20:48 -08:00
Fedor Indutny
163777f751
Move assert to a different Updater method 2022-02-25 11:02:09 -08:00
Fedor Indutny
29c2f77d40
Display differential download size in UI 2022-02-25 10:44:03 -08:00
Evan Hahn
052a8e65e2
Add "clean up timer if necessary" utility 2022-02-25 10:37:15 -08:00
Evan Hahn
c2a65306e2
Add option to auto-remove unused lint-deps exceptions 2022-02-25 09:24:21 -06:00
Evan Hahn
41b4cce6ec
Show local speaking indicator for group calls 2022-02-25 09:24:05 -06:00
Scott Nonnenberg
fc62fd4564
Don't send to blocked users 2022-02-24 18:40:56 -08:00
Scott Nonnenberg
de942e1af2
sendToGroup: Combine into final send result even in error scenarios 2022-02-24 17:22:19 -08:00
Fedor Indutny
1d89ffcc2d
Update mock-server, upload ci logs on failure 2022-02-24 17:21:56 -08:00
Jon Chambers
45289f519a
Accept HTTP/429 as a "rate-limited" status code 2022-02-24 16:26:58 -08:00
Scott Nonnenberg
7431f151b2
applyMessageRequestResponse: Don't leaveGroup in 1:1 conversations 2022-02-24 15:58:48 -08:00
Fedor Indutny
112de16d06
Fix clear button in AvatarEditor 2022-02-24 15:57:16 -08:00
Fedor Indutny
f58d1332c4
Differential updates 2022-02-24 13:01:41 -08:00
Fedor Indutny
c11e9350d5
Notarize in afterSign step instead of afterPack 2022-02-24 12:24:48 -08:00
Fedor Indutny
ebd1ca5895
Always use profile keys from group state 2022-02-24 12:00:30 -08:00
Fedor Indutny
5e113f8975
Run notarization in afterPack script 2022-02-24 11:39:26 -08:00
Fedor Indutny
eebd252b81
Change location of copied language packs 2022-02-24 11:28:46 -08:00
Evan Hahn
d57cf86ffd
Media Editor: reset object position and rotation 2022-02-24 12:26:40 -06:00
Fedor Indutnyy
d637985796 v5.34.0-beta.1 2022-02-23 18:09:27 -08:00
Fedor Indutny
31d2cce309
Prune frameworks folder before zipping release 2022-02-23 15:34:51 -08:00
Scott Nonnenberg
4763831d3e
background.ts: Introduce types for redux initialState 2022-02-23 12:48:40 -06:00
Scott Nonnenberg
3673b6d101
updateGroup: Update group attributes last, after notifications are added 2022-02-23 10:36:44 -08:00
Evan Hahn
1f191401aa
Use browser time formatting instead of Moment 2022-02-23 12:15:15 -06:00
Fedor Indutny
3ad6ff7f05
Remove setup menu items after QR code linking 2022-02-22 17:35:34 -08:00
Scott Nonnenberg
4ea709f2e4
Don't fetch profiles on conversation open if we've left group 2022-02-22 17:06:19 -08:00
Fedor Indutny
5453d10572
Improve conversion between typed arrays 2022-02-22 17:05:53 -08:00
Fedor Indutny
5d035dff86
Drop GV1 records when GV2 records are present 2022-02-22 14:30:59 -08:00
Scott Nonnenberg
b33b5d2a30
profileKey: Check length of incoming values, clear on failed send/fetch 2022-02-22 14:34:57 -06:00
Evan Hahn
b96c7e90fe
Remove <Timeline> logging when row count is 0 2022-02-22 14:32:47 -06:00
Scott Nonnenberg
a1639f111e
envelopeTypeToCiphertextType: Handle all envelope types 2022-02-22 14:32:25 -06:00
Scott Nonnenberg
2de45a341b
hangup: Hang up all calls, warn if we can't find intended call 2022-02-18 10:27:15 -06:00
Evan Hahn
aad371525a
Fix typo in Storybook action name
Co-authored-by: Ted Timmons <ted@perljam.net>

See [#5646][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5646
2022-02-16 12:43:45 -06:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Evan Hahn
fd81d38931
Call details screen disable call buttons if call is active 2022-02-16 10:33:52 -08:00
Evan Hahn
e39c5006b4
Update release notes for v5.33.0-beta.1 release 2022-02-16 10:11:03 -08:00
Scott Nonnenberg
0bb0e6e9fc
MessageReceiver: Extract cipherTextBytes/Type from non-sealed messages 2022-02-16 11:41:28 -06:00
dependabot[bot]
ec3a3bd7b2
Upgrade vm2 (a subdependency) to 3.9.7
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2022-02-16 09:53:07 -06:00
Evan Hahn
2c848d85bc
Don't mark messages read if a call is fullscreen 2022-02-15 17:00:47 -06:00
Evan Hahn
ae5fc1df86
Fix group creation when clicking create button 2022-02-14 14:31:37 -08:00
Fedor Indutny
a0b05f41e3
Dropped storage keys should not cause upload 2022-02-14 11:36:32 -08:00
Josh Perez
67209d8881
Consolidates the search inputs 2022-02-14 12:57:11 -05:00
Fedor Indutny
1b352531ca
Our conversation doesn't require profile sharing 2022-02-11 17:04:07 -08:00
Fedor Indutny
6281d52ec6
Storage service tests and benches in ts/test-mock 2022-02-11 14:32:51 -08:00
Evan Hahn
48137a498c
Timeline: Add alternate height measurement cache 2022-02-11 16:28:28 -06:00
Fedor Indutny
0174687542
Use esbuild 2022-02-11 13:38:52 -08:00
Scott Nonnenberg
3c1ccce9bd
Sender Key: Use sender key expire duration from remote config 2022-02-11 13:09:35 -08:00
Fedor Indutny
e0205ffff8
Drop invalid storage service keys 2022-02-11 13:05:24 -08:00
Josh Perez
138580fedb
Do not attach files while voice recording in progress 2022-02-11 12:18:04 -08:00
Evan Hahn
eed3e8e316
Disable "Call Again" if already on a call 2022-02-11 12:21:45 -06:00
Evan Hahn
ae3b12bea8
Switch from deprecated node-sass to sass 2022-02-11 10:59:24 -06:00
Scott Nonnenberg
0828d315c0 Add release notes for 5.32.x 2022-02-10 14:07:45 -08:00
Evan Hahn
7ff0aeacb8
Log if <Timeline> row count is 0 2022-02-10 13:35:05 -06:00
Evan Hahn
4e707c1b9a
Remove duplicated react-virtualized type 2022-02-10 12:59:09 -06:00
Fedor Indutny
bd9483ddee
Fetch profiles for pending members 2022-02-09 10:34:24 -08:00
Fedor Indutny
4d21e1e22b
Update storage service when sharing profile key 2022-02-09 10:29:33 -08:00
Evan Hahn
f5a4cd9ce8
Peek group calls when opening conversations and leaving calls 2022-02-08 13:18:51 -06:00
Evan Hahn
5ce26eb91a
Speaking indicator for group calls
Co-authored-by: Peter Thatcher <peter@signal.org>
Co-authored-by: Jim Gustafson <jim@signal.org>
Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2022-02-08 12:30:33 -06:00
Fedor Indutny
cb5131420f
Update storageService logging 2022-02-08 10:00:18 -08:00
Scott Nonnenberg
0a18cc50bd
New queue for view once syncs, handleRetry improvements 2022-02-08 09:30:42 -08:00
Evan Hahn
fc3f8220df
Fix timeline scrolling bug 2022-02-07 15:00:04 -08:00
Scott Nonnenberg
59d323d815
Expiration start timestamp cleanup: Cancel update when missing our UUID 2022-02-07 16:26:20 -06:00
Evan Hahn
45393b1ca5
Fix timeline crash when deleting the oldest visible message 2022-02-07 10:54:15 -08:00
Fedor Indutny
6de2710841
Use new server params for group log fetch 2022-02-04 13:42:20 -08:00
Fedor Indutny
0d19f9131b
Drop legacy feature flags 2022-02-04 13:33:09 -08:00
Fedor Indutny
abcfa3cc35
Do not reset active_at after group fetch 2022-02-04 13:23:30 -08:00
Fedor Indutny
e37c6e68ec
Sort conversations by active_at 2022-02-04 11:01:09 -08:00
Fedor Indutny
65e107fba5
Copy missing locale paks on build 2022-02-04 10:24:49 -08:00
Fedor Indutny
891e72a260
Make sure isPinned is in sync with storage service 2022-02-02 17:21:02 -08:00
Fedor Indutny
fdbb2bfb36
Normalize UUID in ConversationModel.initialize 2022-02-02 13:41:29 -08:00
Josh Perez
40191f88da
Release notes for v5.31.x 2022-02-02 16:15:54 -05:00
Fedor Indutny
bbe56e0811
Erase storage service state on key change 2022-02-02 16:15:39 -05:00
Josh Perez
4de30786ec
Allow retry when cannot update 2022-02-02 16:13:56 -05:00
Josh Perez
909453b20b
Allow reactions in announcement only groups 2022-02-02 15:01:22 -05:00
Evan Hahn
60d348e7cb
Open all Signal links in app 2022-02-02 10:29:01 -08:00
Evan Hahn
07968ea42b
Use isSameDay and isToday utilities 2022-02-02 10:27:44 -08:00
Josh Perez
a0c61e5b4a
Only show image editing icon in composition area 2022-02-02 09:31:16 -06:00
Josh Perez
e79fb9d2e5
Fix lost focus when typing in archived message while searching 2022-02-02 09:30:39 -06:00
Fedor Indutny
089116d069
Use identity key from storage service 2022-02-01 18:26:23 -08:00
Evan Hahn
85ae41eb1c
Remove duplicate helper function from missingCaseError 2022-02-01 16:57:31 -08:00
Josh Perez
b38590a4ac
Lightbox: Fix clicks outside of zoomable area 2022-02-01 15:49:36 -08:00
Evan Hahn
04c08a624b
Fix left pane timestamps not updating 2022-01-31 16:45:56 -06:00
Fedor Indutny
c931102d12
First storage service test 2022-01-31 14:01:34 -08:00
Evan Hahn
c5ad020de7
Fix "mark conversation read" optimization 2022-01-31 13:52:09 -08:00
Scott Nonnenberg
397753bbfe
sendContentMessageToGroup: Comprehensive error check before failover 2022-01-31 13:51:24 -08:00
Evan Hahn
05e5786883
Increase fallback Retry-After time to 1 minute 2022-01-31 15:09:58 -06:00
Fedor Indutny
b6287f4839
Properly propagate 204 to fetchManifest 2022-01-31 11:58:20 -08:00
Josh Perez
c857250b12
Left pane design tweaks 2022-01-31 09:45:04 -06:00
Evan Hahn
1c43e7501c
Simplify spellcheck download URL, disable spellcheck in most windows 2022-01-28 16:27:18 -06:00
Jim Gustafson
ab9d33cf1a
Update to RingRTC v2.17.2 2022-01-28 13:55:36 -06:00
Evan Hahn
bd41bdf3cb
Tweaks to floating date header fading 2022-01-28 12:31:20 -06:00
Evan Hahn
a34291f9dc
Two CI tweaks 2022-01-27 16:28:41 -08:00
Josh Perez
bf45182a39
New left pane search design 2022-01-27 16:12:26 -06:00
Evan Hahn
babd61377b
Remove floating date header remote config flags 2022-01-27 13:50:01 -08:00
Fedor Indutny
53a27d022f
Create contacts during processing of group updates 2022-01-27 13:46:31 -08:00
Fedor Indutny
6578679166
Improve performance of isEmojiOnlyText 2022-01-27 13:28:04 -08:00
Evan Hahn
8fa4cd68d5
Fix timeline item sizing bug, and test timeline logic 2022-01-27 12:10:24 -08:00
Fedor Indutny
437ef2d3a7
Fetch joinedAtVersion before change log fetch for new groups 2022-01-26 16:02:23 -08:00
Scott Nonnenberg
2603d53891
Improve storage service migration to new field understanding 2022-01-26 15:39:25 -08:00
Evan Hahn
f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Josh Perez
0fa069f260
Trim profile names when setting them 2022-01-26 13:58:00 -08:00
Scott Nonnenberg
5f34ece87c
TaskWithTimeout: After suspend, don't start timers for new tasks 2022-01-26 12:39:24 -08:00
Scott Nonnenberg
68a458ec4a
Honor preferContactAvatars field on AccountRecord 2022-01-25 09:44:45 -08:00
Evan Hahn
f5eb17e0d1
Fix stuck safety number modal overlay 2022-01-24 17:39:18 -08:00
Fedor Indutny
3aa488c3d5
Avoid calling tray.destroy() when quitting 2022-01-24 16:18:53 -08:00
Fedor Indutny
dff941adc7
Don't let unidentifiedStatus change e164 2022-01-24 15:54:12 -08:00
Fedor Indutny
3c836908aa
Revert "MessageReceiver: Pause processing of new messages on suspend"
This reverts commit d74424a3b8.
2022-01-24 15:50:32 -08:00
Fedor Indutny
a2a9500728
Fix logging overflow 2022-01-24 15:36:05 -08:00
Evan Hahn
1e1cb26f08
Update badge placement on 52x52 avatars 2022-01-24 15:59:55 -06:00
Fedor Indutny
3bdb6977e6
Fix typo in unknownContact 2022-01-24 13:38:55 -08:00
Scott Nonnenberg
1c67df8b22
Fix incorrect translation key: unknownUser -> unnkownContact 2022-01-24 12:38:16 -08:00
Josh Perez
44bfb77635
Hang up call when screen is locked 2022-01-24 12:32:09 -08:00
Evan Hahn
884bfc0594
Properly handle read syncs while offline 2022-01-21 17:04:30 -08:00
Josh Perez
7fb23a1f6d
Fixes media editor text color selection prior to entering text 2022-01-21 16:46:07 -06:00
Fedor Indutny
9f0ea1cbf7
Use message.groupV2.revision during first fetch 2022-01-21 14:34:32 -08:00
Josh Perez
24c77b48bd
Disallow paste/drop images when there is a link preview 2022-01-21 15:46:05 -06:00
Evan Hahn
b9adee918f
Removed "received at" from message details for outbound messages 2022-01-21 11:51:40 -06:00
Scott Nonnenberg
fb31a02d88
MessateReceiver.maybeUpdateTimestamp: Annotate group identifier for log 2022-01-20 18:09:03 -08:00
Fedor Indutnyy
329d4335ef Add release notes 2022-01-20 15:23:22 -08:00
Scott Nonnenberg
d74424a3b8
MessageReceiver: Pause processing of new messages on suspend 2022-01-20 14:47:06 -08:00
Fedor Indutny
8cd557ff91
Add extra logging for change phone number 2022-01-20 14:44:25 -08:00
Peter Thatcher
bcd9f961ad
Allow screenshare video frames to be more stale 2022-01-20 12:43:58 -06:00
Fedor Indutny
26421b8c18
Log conversation open time 2022-01-19 16:40:29 -08:00
Scott Nonnenberg
f1586578ff
Properly handle groupIds in incoming block sync 2022-01-19 16:39:27 -08:00
Josh Perez
3eddd06e5c
Lightbox zoom improvements 2022-01-19 12:21:12 -08:00
Evan Hahn
c1e3e87b99
Prohibit Chai expect or should; prefer assert 2022-01-19 11:19:08 -08:00
Fedor Indutny
885b4d4d2e
Trigger EnvelopeEvent for unsealed envelopes 2022-01-18 17:10:53 -08:00
Jim Gustafson
d8c071dca6
Update to RingRTC v2.17.0 2022-01-15 20:59:01 -06:00
Fedor Indutny
145d9287d9
Add tentative prefix to crash report uploads 2022-01-14 13:50:45 -08:00
Scott Nonnenberg
90356d4c0f
Move a number of sync messages to jobs for retry 2022-01-14 13:34:52 -08:00
Evan Hahn
eba8d8d4b8
Render QR code with SVG, not canvas 2022-01-14 10:45:05 -06:00
Scott Nonnenberg
7a2cd61955
Calling Lobby: Ensure participant list can be dismissed 2022-01-14 10:16:07 -06:00
Evan Hahn
f9faf9b759
Fix disabling spellcheck with <Input> 2022-01-13 15:27:14 -08:00
Evan Hahn
393b740fe6
Fix crash when changing your username 2022-01-13 13:25:20 -08:00
Fedor Indutny
48836d5761
Update @react-spring/web to 9.4.1 2022-01-13 10:31:13 -08:00
Fedor Indutny
31c6a2fc0d
More frequent message cleanup 2022-01-13 10:30:51 -08:00
Scott Nonnenberg
b1c48b6c34 Add release notes for 5.29 2022-01-12 14:52:33 -08:00
Fedor Indutny
e5111c4565
Fix flaky test-release test 2022-01-12 11:15:58 -08:00
Evan Hahn
0a90380ac8
Remove "can resize left pane" flags 2022-01-12 11:35:47 -06:00
Evan Hahn
a5a73e869c
Convert remaining main process tests to TypeScript 2022-01-11 17:10:35 -08:00
Evan Hahn
0c12607e79
Fix "did reaction fully send?" logic 2022-01-11 16:50:11 -08:00
Evan Hahn
2dded88081
Add comments explaining Fabric listeners 2022-01-11 17:18:19 -06:00
Evan Hahn
3a463d3bfc
Use durations utility in parseRetryAfter 2022-01-11 17:17:41 -06:00
Fedor Indutny
91f1b62bc7
Detect startup after recent crashes 2022-01-11 12:02:46 -08:00
Scott Nonnenberg
02a732c511
getProfiles: Fetch a maximum of three profiles at at a time 2022-01-11 11:40:20 -08:00
Evan Hahn
d9b951bfcb
Update base config logging, removal, and tests 2022-01-11 11:12:55 -08:00
Evan Hahn
206f461370
Move menu tests to TypeScript 2022-01-11 09:28:04 -08:00
Jordan Rose
a014337e72
In non-production builds, copy the linking QR code on double-click 2022-01-10 13:32:32 -06:00
Scott Nonnenberg
06165cb742
Include sender keys in SignalProtocolStore zones 2022-01-07 18:12:13 -08:00
Scott Nonnenberg
a17e157e7b
Fix messages_unread index 2022-01-07 12:51:19 -08:00
Fedor Indutny
fa8ff2ae4c
Fix messages_preview index 2022-01-07 11:51:41 -08:00
Fedor Indutny
f49df88877
Update last conversation message after loading 2022-01-07 10:20:29 -08:00
Evan Hahn
f8bbf5c998
Group calls: mute in the lobby if joining a large call 2022-01-07 12:01:23 -06:00
Evan Hahn
577d9a41cc
Log read sync and view sync timestamps 2022-01-06 16:14:16 -06:00
Evan Hahn
5eee11e89c
Respect changing PPI during screen share 2022-01-06 16:00:11 -06:00
Fedor Indutny
e98b281644
Use serverTimestamp for delivery receipts 2022-01-06 12:12:53 -08:00
Evan Hahn
b7c2e6d3e8
Remove M1 support from 5.28 release notes 2022-01-06 11:24:46 -08:00
Scott Nonnenberg
7d397167cd
updateSharedGroups: Make one database query, check for membership, sort 2022-01-06 09:20:54 -06:00
Evan Hahn
fc3ebe40a7
Switch to low QR code error correction 2022-01-05 18:08:28 -06:00
Evan Hahn
eb8687bd81
Add "Need help?" link to link screen 2022-01-05 16:13:33 -06:00
Scott Nonnenberg
62e9a1570a
Enable notifications for disappearing messages on macOS 12.0.1 and above 2022-01-05 13:52:06 -08:00
Evan Hahn
c8d32f0327
Switch to qrcode-generator library 2022-01-05 09:59:59 -08:00
Evan Hahn
ea5571b025
Update release notes for 5.28 release 2022-01-04 17:44:26 -06:00