Commit graph

478 commits

Author SHA1 Message Date
Fedor Indutny
d6d53f9d18
Optimize loading stories 2022-11-28 09:19:48 -08:00
Alvaro
4294429bc2
Made StoryDataType sourceDevice required 2022-11-23 12:52:36 -08:00
Alvaro
896b36c301
Story replies indicator 2022-11-22 20:05:33 -08:00
Fedor Indutny
991580a1ed
Improve error handling during group sends 2022-11-22 10:43:43 -08:00
Fedor Indutny
b26f60d2fc
Better handling of calling messages 2022-11-19 00:31:31 -08:00
Jim Gustafson
c8fb43a846
Check media permissions for incoming group ring 2022-11-17 15:26:13 -08:00
Evan Hahn
a88243f26d
Better handle group call ring race conditions 2022-11-16 18:52:04 -08:00
Fedor Indutny
6be69a7ba8
Use DurationInSeconds for expireTimer 2022-11-16 13:18:02 -07:00
Alvaro
45069673ce
Fixed all connections count and renamed MY_STORIES_ID and EditMyStoriesPrivacyModal 2022-11-10 08:51:39 -07:00
Josh Perez
4a5da95c1d
Fixes storybook 2022-11-09 13:11:45 -08:00
Fedor Indutny
d7a2669b49
Wrap eventHandlerQueue jobs with task with timeout 2022-11-09 10:59:32 -08:00
Josh Perez
19a42ed719
Onboarding story 2022-11-08 21:38:19 -05:00
Fedor Indutny
9ce8d5e68f
Fix storage service handling of contact status 2022-11-07 15:21:12 -08:00
Fedor Indutny
8f62442822
Allow link-only stories, download previews 2022-10-31 14:28:28 -07:00
Fedor Indutny
3702a67975
Story view receipts setting 2022-10-25 15:18:42 -07:00
Josh Perez
471a9e2e98
Show group replies icon for stories with replies 2022-10-22 02:26:16 -04:00
Fedor Indutny
00f82a6d39
Discriminator in username 2022-10-18 10:12:02 -07:00
Jamie Kyle
25bc16300c
Notify story creator for replies 2022-10-11 10:59:02 -07:00
Fedor Indutny
95bee1c881
Sync group stories through storage service 2022-10-07 17:19:02 -07:00
Fedor Indutny
b950480d36
Support url-only link previews in stories 2022-10-06 13:22:59 -07:00
Fedor Indutny
ebafc933b9
Use X-Signal-Receive-Stories header 2022-10-04 17:48:25 -07:00
Fedor Indutny
8b705d3b55
Sync storiesDisabled flag on AccountRecord 2022-10-04 10:53:36 -07:00
Fedor Indutny
ffac571dd8
systemGivenName/systemFamilyName in ContactPill 2022-09-27 17:07:00 -06:00
Josh Perez
af5a496994
Sort stories when they were read at 2022-09-21 17:54:48 -06:00
Fedor Indutny
59da9c7ae5
Stop using deprecated PniCredential 2022-09-21 09:18:48 -07:00
Fedor Indutny
f9453c64dd
Test rate-limiting, stories in mock server 2022-09-19 15:08:55 -07:00
Fedor Indutny
62647a357f
Support unregisteredAtTimestamp in storage service 2022-09-19 11:47:49 -07:00
Alvaro
6cfe2a09df
Consecutive playback and per-conversation playback rate 2022-09-15 14:10:46 -06:00
Jamie Kyle
eb10aafd7c
tsc:allowUnreachableCode, eslint:no-unreachable, assert->assertDev 2022-09-15 13:17:15 -06:00
Jamie Kyle
0086216c9d
Add eqeqeq rule but require == for null 2022-09-14 14:40:44 -07:00
jamiebuilds-signal
64a4d2e717
Improved reliability of strictAssert 2022-09-14 09:40:50 -07:00
Scott Nonnenberg
8899ca9724
Improve logging in handleDataMessage and contact sync 2022-09-12 17:52:55 -07:00
Alvaro
383a0fd17f
Added the time remaining for disappearing messages and stories 2022-09-09 11:35:00 -07:00
Fedor Indutny
ae01ad4276 Persist hasSetMyStoriesPrivacy in storage service 2022-09-07 14:17:09 -07:00
Fedor Indutny
55a5c51236 Provide speakerHeight to ringrtc 2022-09-07 14:17:08 -07:00
Jordan Rose
618a7725fe Simplify logging 2022-09-07 14:17:03 -07:00
Scott Nonnenberg
56ffd7bc3f
Expire Timer: If we generated change, don't mark unread 2022-09-06 17:52:07 -06:00
Scott Nonnenberg
8bbd892693
Contact Sync: Consider undefined value as a disabled expire timer 2022-09-01 11:26:10 -07:00
Jim Gustafson
9e02a57d77
Update to RingRTC v2.21.0 2022-08-31 09:12:28 -07:00
Fedor Indutny
c42df6312e
contactSync should depend on syncMessage.complete 2022-08-26 15:26:38 -07:00
Fedor Indutny
7ce4beb270
Refactor contact sync processing 2022-08-24 22:04:42 -07:00
Josh Perez
0fb45f045d
Handle Safety Number changes while sending a story 2022-08-19 14:05:31 -04:00
Fedor Indutny
15714f35ef
Rename remote config flag 2022-08-17 15:06:17 -07:00
Josh Perez
5ec78374d1
Use just the timestamp for story expiration 2022-08-17 10:56:41 -07:00
Josh Perez
936ce91b2e
Move getUntrustedContacts out of conversation_view 2022-08-16 16:59:11 -07:00
Fedor Indutny
96c4cc4bcf
Introduce desktop.pnp.storageService flag 2022-08-16 16:58:17 -07:00
Fedor Indutny
5a3c04d630
Additional logging for calling service 2022-08-16 16:52:09 -07:00
Scott Nonnenberg
932043c58f
Make attachments more resilient, decrease websocket keepalive 2022-08-16 16:49:47 -07:00
Fedor Indutny
d0264c844f
Fix handling of STICKER_PACK unknown records 2022-08-16 00:05:09 -07:00
Scott Nonnenberg
7399086939
Group Credentials: Request six days of data to account for clock skew 2022-08-15 09:34:27 -07:00
Fedor Indutny
0a299ec7e5
Fix assertion in mergeStickerPackRecord 2022-08-12 15:44:09 -04:00
Josh Perez
0a81376ca0
Do not accept stories without a name and no deletedAtTimestamp 2022-08-11 18:03:22 -04:00
Josh Perez
7126cbd5e4
Do not allow MyStories to be deleted 2022-08-11 12:18:48 -07:00
Scott Nonnenberg
269d170275
A number of additional merging fixes 2022-08-10 11:39:04 -07:00
Scott Nonnenberg
faf6c41332
Early preparations for PNP Contact Merging 2022-08-09 14:39:00 -07:00
Josh Perez
782838c591
Sync MyStories using the ID not the name 2022-08-03 20:10:05 -04:00
Fedor Indutny
b47a906211
Stickers in storage service 2022-08-03 10:10:49 -07:00
Fedor Indutny
79b48115e6 Handle PniChangeNumber 2022-07-28 14:50:10 -04:00
Scott Nonnenberg
1062126077 Request our PNI along with group credential fetch 2022-07-25 13:25:43 -07:00
Josh Perez
e321e1fea8
Edit distribution lists via story settings menu 2022-07-20 20:07:09 -04:00
Fedor Indutny
5c2016ec40
Refresh PNI on startup 2022-07-18 15:32:00 -07:00
Fedor Indutny
a4cf2e0948
Always refetch profile key credential if expired 2022-07-18 13:05:41 -07:00
Scott Nonnenberg
bfc56dd175
Introduce new Profile Fetch service, with centralized queueing 2022-07-13 17:46:46 -07:00
Fedor Indutny
a450e13a99
Fetch PNI group credentials 2022-07-08 13:46:25 -07:00
Fedor Indutny
565425c8b6
Correct identifier for story records 2022-07-06 17:34:13 -07:00
Fedor Indutny
f92be05b15
Titlebar fixes 2022-07-05 09:44:53 -07:00
Scott Nonnenberg
06190b1434
Introduce new urgent property for outgoing messages 2022-07-01 09:55:13 -07:00
Josh Perez
9155784d56
Sync my stories with primary device 2022-06-30 20:52:03 -04:00
Josh Perez
0a0a25498d
Repair old unexpired stories 2022-06-23 16:36:11 -04:00
Scott Nonnenberg
b8d6a591d5
Reintroduce 'expired' event, simplify handling of View Once media 2022-06-22 17:21:38 -07:00
Scott Nonnenberg
d547ef362e
Fetch latest group data on unblock of a group 2022-06-20 11:55:34 -07:00
Josh Perez
d970d427f8
Create text stories 2022-06-16 17:48:57 -07:00
Scott Nonnenberg
2464e0a9c1
Convert signal.js and preload.js to Typescript 2022-06-13 14:39:35 -07:00
Evan Hahn
2a2f44a73a
Convert message cleanup services to TypeScript 2022-05-31 16:53:14 -07:00
Fedor Indutny
7138daf5ef
Support keepMutedChatsArchived flag 2022-05-25 13:44:05 -07:00
Fedor Indutny
fcc60202c2
Populate sourceDevice field of ManifestRecord 2022-05-25 12:20:45 -07:00
Fedor Indutny
e6223b6a11
Dynamic audio level indicator 2022-05-18 23:28:51 -04:00
Scott Nonnenberg
dfd1190e8b
Groups: Show in left pane more often, proper join message 2022-05-16 07:53:54 -07:00
Josh Perez
253ab7517d
Always repair unexpired stories 2022-05-11 14:02:26 -07:00
Scott Nonnenberg
e078a2ae54
Ensure that seenStatus is always updated along with readStatus 2022-04-29 16:42:47 -07:00
Josh Perez
6d576ed901
Allow multiple reactions to stories 2022-04-28 18:06:28 -04:00
Josh Perez
2f44e33c9c
Move link notification to the conversation hero 2022-04-25 14:03:24 -07:00
Fedor Indutny
7821a872bd
Drop ContactRecords for our own ACI/PNI 2022-04-19 20:10:10 -07:00
Josh Perez
e3d537cbd3
Render group stories 2022-04-14 20:08:46 -04:00
Josh Perez
b550f64a4b Merge signalapp/Signal-Desktop#5633 2022-04-14 13:04:19 -04:00
Fedor Indutny
610ebdd1e3
Batch storage item read requests 2022-04-12 17:50:17 -07:00
Josh Perez
9f7ee9ae79
Force set expirationStartTimestamp on story messages 2022-04-11 14:28:01 -07:00
Fedor Indutny
5fdda012cd
Raise voice note time limit to one hour 2022-04-06 14:39:54 -07:00
Scott Nonnenberg
85989fda3c
More peeking of group calls to prevent out-of-date member info 2022-03-31 18:06:56 -07:00
Josh Perez
3b5cc26fec
Adds logic around downloading stories 2022-03-28 18:10:08 -07:00
Jordan Rose
5a107e1bc3
Update for @signalapp/libsignal-client rename 2022-03-24 14:47:21 -07:00
Fedor Indutny
2eaacac151
Use --force-long with pbjs 2022-03-23 13:49:27 -07:00
Fedor Indutny
f536421390
Better merging for changed keys in storage service 2022-03-21 15:06:34 -07:00
Fedor Indutny
0923cc6cb8
Do not reopen the last notification on reconnect 2022-03-16 17:51:19 -07:00
Fedor Indutny
36ce4f27a2
Optimize profile avatar uploads and sync urls 2022-03-15 17:14:20 -07:00
Fedor Indutny
f7b71eecee
Use valid uuid as a fallback in calling 2022-03-14 15:14:14 -07:00
Fedor Indutny
4a00ea46bc
Allow requesting profile without profileKey 2022-03-09 12:23:21 -08:00
Fedor Indutny
a72cf075ef
Optimize initial storage service fetch 2022-03-09 10:22:34 -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
Fedor Indutny
3b4106d9dd
Change order of syncs during linking 2022-03-02 14:53:47 -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
Evan Hahn
cfa0711909
Put "is speaking?" threshold in remote config; lower default 2022-03-01 17:39:09 -06:00
Fedor Indutny
1a751c07fc
Remove warn log when no account record is fetched 2022-02-28 18:43:45 -08:00
Evan Hahn
052a8e65e2
Add "clean up timer if necessary" utility 2022-02-25 10:37:15 -08:00
Evan Hahn
41b4cce6ec
Show local speaking indicator for group calls 2022-02-25 09:24:05 -06: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
Scott Nonnenberg
2de45a341b
hangup: Hang up all calls, warn if we can't find intended call 2022-02-18 10:27:15 -06:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Fedor Indutny
a0b05f41e3
Dropped storage keys should not cause upload 2022-02-14 11:36:32 -08:00
Fedor Indutny
e0205ffff8
Drop invalid storage service keys 2022-02-11 13:05:24 -08: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
Fedor Indutny
bbe56e0811
Erase storage service state on key change 2022-02-02 16:15:39 -05:00
Fedor Indutny
b6287f4839
Properly propagate 204 to fetchManifest 2022-01-31 11:58:20 -08:00
Jim Gustafson
ab9d33cf1a
Update to RingRTC v2.17.2 2022-01-28 13:55:36 -06:00
Josh Perez
0fa069f260
Trim profile names when setting them 2022-01-26 13:58:00 -08:00
Scott Nonnenberg
68a458ec4a
Honor preferContactAvatars field on AccountRecord 2022-01-25 09:44:45 -08:00
Fedor Indutny
8cd557ff91
Add extra logging for change phone number 2022-01-20 14:44:25 -08:00
Jim Gustafson
d8c071dca6
Update to RingRTC v2.17.0 2022-01-15 20:59:01 -06:00
Scott Nonnenberg
90356d4c0f
Move a number of sync messages to jobs for retry 2022-01-14 13:34:52 -08:00
Evan Hahn
f8bbf5c998
Group calls: mute in the lobby if joining a large call 2022-01-07 12:01:23 -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
Fedor Indutny
14861aff50
Process manifest before persisting its version 2022-01-04 09:22:48 -06:00
Fedor Indutny
2d596ac8b2
Switch SQL to main process on disconnect 2022-01-03 13:44:04 -08:00
Evan Hahn
770c80b9ee
Remove several @ts-ignores 2021-12-16 17:14:21 -08:00
Scott Nonnenberg
a023fc1bb0
Usernames: Fetch own username from /whoami not /profile 2021-12-15 12:02:55 -08:00
Scott Nonnenberg
161b0e5379
Refactor sender key sends to allow distribution lists 2021-12-09 18:15:59 -08:00
Fedor Indutny
bbc13d058e
Update electron to 16.0.4 2021-12-09 09:06:04 +01:00
Scott Nonnenberg
e8a2d1f2c9
Tell Chromium not to change gain during recording 2021-12-07 09:21:55 +01:00
Josh Perez
978f57f076
Add some logging around setting preferred reaction emojis 2021-12-06 11:39:48 -05:00
Jim Gustafson
38cdb9b289
Update to RingRTC v2.16.0 2021-12-03 14:22:58 -06:00
Jordan Rose
ee8d0196b1
Don't show a notification for non-ringing calls in muted groups 2021-12-02 14:49:31 -06:00
Fedor Indutny
348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +01:00
Evan Hahn
67b17ec317
Hide "become a sustainer" button if you're already a sustainer 2021-11-30 17:29:57 +01:00
Jordan Rose
7edf3763a8
Hang up any active calls when quitting 2021-11-30 09:36:20 -06:00
Evan Hahn
03631481e1 Format code with prettier 2021-11-11 17:13:46 -06:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Fedor Indutny
f204784afe
Prune invalid conversations from storage service 2021-11-11 13:38:02 -08:00
Jordan Rose
983713003d
Update to libsignal-client v0.10.1 with zkgroup included 2021-11-11 16:24:28 +01:00
David Sanders
50dc534164 Simplify permissions popup IPC 2021-11-09 07:35:31 -08:00
Fedor Indutny
519ca05911
Update electron to 15.3.0 2021-11-08 22:43:37 +01:00
Evan Hahn
3bd3207e18
Add feature flag for ADM2 on Windows 2021-11-04 16:50:34 -05:00
Evan Hahn
d6ffb08a63
Disable class-methods-use-this lint rule 2021-11-04 16:04:51 -05:00
Scott Nonnenberg
3190f95fac
Usernames: Create/update/delete in profile editor 2021-11-01 12:13:35 -07:00
David Sanders
79b3b6408e Fix microphone permission checking for audio recording
See [#5580][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5580
2021-10-27 11:16:09 -05:00
Fedor Indutny
63fcdbe787
Use UUIDs in group database schema 2021-10-26 15:59:08 -07:00
Evan Hahn
74fde10ff5
Prefer import type when importing types 2021-10-26 14:15:33 -05:00
Josh Perez
ab1c31b64f
Release microphone immediately when cancelling recording 2021-10-15 14:51:33 -04:00
Evan Hahn
aec3b76117
Add additional logging in notification service 2021-10-12 10:19:07 -05:00
Josh Perez
75dab30367
Use SignalContext instead of SignalWindow 2021-10-07 19:28:47 -04:00
Fedor Indutny
a537204fc0
Remove ts/services/timers.ts 2021-10-06 14:59:34 -07:00
Evan Hahn
3c91dce993
Don't show group call start notifications more than once 2021-10-05 16:11:40 -05:00
Evan Hahn
3eff5b73d2
Enable storage service for everyone 2021-10-05 12:04:28 -05:00
Josh Perez
bfe5a5edae
Do not process records if there are none to process 2021-10-01 20:01:30 -04:00
Josh Perez
31d1f25b18
Adds error dialog when voice recorder cannot start 2021-09-30 13:13:47 -07:00
Fedor Indutny
3e31a7405b Use physical keys+layout for shortcuts 2021-09-29 14:21:15 -07:00
Evan Hahn
fc066e05df
Don't show "group call started" notifications for muted conversations 2021-09-29 15:29:40 -05:00
Josh Perez
603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Evan Hahn
64fc234490
Use new audio device module in alpha and beta 2021-09-29 13:30:42 -05:00
Evan Hahn
e32503eed4
Import AudioDevice and VideoFrameSource directly from RingRTC 2021-09-28 11:37:03 -05:00
Evan Hahn
ed222fee9a
Poll for devices when joining a group call 2021-09-28 11:35:40 -05:00
Fedor Indutny
8d1ab9fd69
Consistent scheduling of sendToGroup 2021-09-27 11:29:06 -07:00
Scott Nonnenberg
cf4c81b11c
Clear stale sender certificates 2021-09-27 10:31:34 -07:00
Evan Hahn
47634acc3d
Fix inversion of audio notification preference 2021-09-24 15:11:16 -05:00
Evan Hahn
f81f61af4e
Draw attention even if notifications are otherwise disabled 2021-09-24 14:01:29 -05:00
Evan Hahn
7adfd1a4e7
Fix compile error: use bytesToUuid in calling service 2021-09-24 09:32:01 -07:00
Evan Hahn
9aa0de5b6c
When a group call starts, show an OS notification 2021-09-24 09:01:01 -05:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Evan Hahn
d2ef82686d
Notification improvements 2021-09-23 13:16:09 -05:00
Evan Hahn
04a4e6e5ff
Upgrade RingRTC to v2.13.1 2021-09-23 08:49:33 -07:00
Fedor Indutny
b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Josh Perez
0f9b72d1db
Ensure single upload for storage service 2021-09-16 18:25:49 -04:00
Evan Hahn
fda21edd23
Remove unnecessary disables of consistent-return lint rule 2021-09-16 15:25:55 -05:00
Fedor Indutny
f937eba94e
Update socket status more eagerly 2021-09-16 13:18:42 -07:00
Evan Hahn
20be8a11fe
Read and write preferred reactions to storage 2021-09-15 11:59:51 -07:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Evan Hahn
cc52a94c76
Make sure RingRTC has our UUID 2021-09-07 09:21:17 -07:00
Evan Hahn
3e18a8a337
Don't ring large groups 2021-09-02 15:34:38 -07:00
Josh Perez
c6b4f14f3b
Fixes no group description unless admin 2021-08-26 16:12:07 -05:00
Evan Hahn
f86f753df9
Add durations utility for computing durations 2021-08-26 09:10:58 -05:00
Evan Hahn
0e7f641dc1
Let users ring members when starting a group call
Co-Authored-By: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2021-08-25 16:42:51 -05:00
Josh Perez
4371996362
Reduce the amount of storage service conflicts 2021-08-23 19:17:36 -04:00
Evan Hahn
79c976668b
Receive rings for group calls 2021-08-20 09:06:15 -07:00
Josh Perez
e9308bbafb
New option for control over update downloads 2021-08-19 15:56:29 -07:00
Fedor Indutny
1cc7c5dc2d
Move getAlwaysRelayCalls to window.Events 2021-08-19 11:41:24 -07:00
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Fedor Indutny
cc5da98565
Ignore empty e164 in storage service 2021-08-06 11:20:11 -07:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Fedor Indutny
a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Evan Hahn
6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Evan Hahn
d0bf9f929b
Remove unused getExpiresAt function 2021-07-30 14:54:34 -05:00
Fedor Indutny
fdec47d637
Use single WebAPI instance across the app 2021-07-23 10:23:50 -07:00
Josh Perez
d9e90e9ea8
Improvements to shared library components 2021-07-21 13:45:41 -07:00
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Scott Nonnenberg
a42c41ed01
Message Send Log to enable comprehensive resend 2021-07-15 16:48:09 -07:00
Fedor Indutny
570fb182d4
Fully move to protobufjs 2021-07-13 11:54:53 -07:00