Commit graph

237 commits

Author SHA1 Message Date
Jordan Rose
983713003d
Update to libsignal-client v0.10.1 with zkgroup included 2021-11-11 16:24:28 +01: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
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Fedor Indutny
299fe2af36
More protobufjs use 2021-07-02 14:21:24 -05:00
Scott Nonnenberg
615ae1ccf7
Refactor SendMessage.ts to named parameters 2021-07-02 13:34:17 -05:00
Fedor Indutny
d11283f0f1
Update RingRTC to v2.10.6 2021-06-29 09:39:53 -05:00
Fedor Indutny
9f0c630574
Move to protobufjs in ts/groups.ts 2021-06-22 09:46:42 -05:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Evan Hahn
03a187097f
Disappearing message cleanups 2021-06-16 17:20:17 -05:00
Fedor Indutny
562ab5a5a5
Fix syncing of "Off" setting for default timer 2021-06-15 10:06:53 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Fedor Indutny
17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Scott Nonnenberg
bff3f0c74a
Sender Key: Prepare for production 2021-06-08 14:51:58 -07:00
Josh Perez
d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model 2021-06-07 09:39:13 -07:00
Scott Nonnenberg
e0d613f1b6
Use correct timestamps for failed call events 2021-06-03 15:19:14 -05:00
Fedor Indutny
5b18bb8563
Fix storybook for calling sources modal 2021-06-03 12:52:11 -07:00
Fedor Indutny
56f0e1ba46
Make sure screen name is internationalized 2021-06-03 11:42:30 -07:00
Josh Perez
38d4595e3b
Fix camera setting when stopping screenshare 2021-06-02 13:41:28 -05:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Evan Hahn
d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Fedor Indutny
80da8bb47b Display SMS/MMS disclaimer in empty search results 2021-05-20 17:37:17 -07:00
Josh Perez
e0c324e4ba
Send/Receive support for reaction read syncs 2021-05-06 21:15:25 -04:00
Evan Hahn
8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Evan Hahn
bbd7fd3854
Initial support for job queue 2021-04-29 18:02:27 -05:00
Scott Nonnenberg
86d2a4b5dd decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript 2021-04-29 14:27:35 -07:00
Josh Perez
808c7dfb2d
Fixes storage service validation where id already ArrayBuffer 2021-04-28 15:01:29 -04:00
Josh Perez
5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Evan Hahn
ea6562b7ac Merge branch 'hiqua-no_lower_limit_query' into next-beta 2021-04-14 14:14:57 -07:00
Josh Perez
a2a361f0bf
Extra validations for storage service 2021-04-09 16:12:05 -04:00
Josh Perez
6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05:00
Evan Hahn
a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Josh Perez
9438b7b3fe
Fixes pinned conversations sync 2021-04-08 15:27:20 -04:00
Josh Perez
e4db9358cf
Storage service logging same 2021-04-06 15:54:47 -07:00
Evan Hahn
a7c78b3b23 Storage service: save new AccountRecord fields to disk 2021-04-05 18:08:50 -04:00
AsamK
ea7a5449f1
Fix race condition which often prevented sending group call started message
The group call update message after starting a group call is currently only
sent in the onLocalDeviceStateChanged callback. But often the peekInfo is
not available yet when the connection state changes to Joined, effectively
preventing the group call update message to be sent.

This commit also sends the message in the onPeekChanged callback. It is still
only sent at most once, which is ensured by the updateMessageState check.

See [#5001][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5001
2021-04-02 15:32:04 -05:00
Josh Perez
1264e6da2b Retain protections on gv1 records that match gv2 ids 2021-03-30 20:40:48 -04:00
Evan Hahn
b725ed2ffb Refresh profiles on app start (at most every 12 hours) 2021-03-19 16:57:36 -04:00
Fedor Indutny
11bcbded64 Storage Service fixes to prevent crashes on Android
* Merge report v1 group settings into local v2 group

The invariants of Storage Service mandate that the remote data always
takes precendence over the local data. We have to updated
blocked/whitelisted/... of the v2 group even if the record is for the v2
group. After doing such update - sync the manifest back to the Storage
Service with correct v2 record for the group.

* Repair errored records before uploading manifest

Fetch and re-attempt to merge errored records before uploading the
manifest. This is useful in the cases where we were not aware of the V1
group when the remote manifest was fetched, and became aware of it
before the new manifest is generated. In such scenario, we should fetch
the records for things we have failed on last time and attempt to merge
them with our data. If they are merged - we should not let their
storageIDs hang in the new manifest, which would cause group duplicates
and crashes on other clients.

* Create v1 group for storage service record

If we receive storage service record with v1 group that we didn't sync
yet (or just don't have for any other reason) - create it instead of
pushing it to `storage-service-error-records`.
2021-03-19 16:57:36 -04:00
Josh Perez
8dc8a64229 Storage sync before writing 2021-03-19 16:57:35 -04:00
Josh Perez
0fd0fac262 Check for conversation conflicts before writing 2021-03-19 16:57:35 -04:00