Commit graph

326 commits

Author SHA1 Message Date
Fedor Indutnyy
0e31659682 Merge https://github.com/signalapp/Signal-Desktop/pull/5788 2022-03-17 09:36:51 -07:00
Josh Perez
3620309f22
Show story replies in the timeline 2022-03-16 10:30:14 -07:00
Fedor Indutny
36ce4f27a2
Optimize profile avatar uploads and sync urls 2022-03-15 17:14:20 -07:00
Scott Nonnenberg
703bb8a3a3
Introduce new 'Block request' button in timeline 2022-03-15 17:11:28 -07:00
Dimitris Apostolou
718d0a7046
Fix typos 2022-03-13 11:10:17 +02:00
Evan Hahn
72c6c57186
If not enough messages are loaded (on tall screens), fix jankiness 2022-03-11 14:31:21 -08:00
Fedor Indutny
4a00ea46bc
Allow requesting profile without profileKey 2022-03-09 12:23:21 -08:00
Evan Hahn
effe5aae6f
Assume everyone is GV2-capable 2022-03-04 13:48:44 -06:00
Evan Hahn
0c31ad25ef
Remove React Virtualized from <Timeline> 2022-03-03 14:23:10 -06:00
Evan Hahn
cfa0711909
Put "is speaking?" threshold in remote config; lower default 2022-03-01 17:39:09 -06:00
Scott Nonnenberg
fcb96bf92a
Simplify OutgoingIdentityKeyError, use it in getKeysForIdentifier 2022-02-25 15:39:24 -08:00
Fedor Indutny
033b4830d1
Use checkAccountExistence 2022-02-25 15:20:48 -08:00
Evan Hahn
41b4cce6ec
Show local speaking indicator for group calls 2022-02-25 09:24:05 -06:00
Jon Chambers
45289f519a
Accept HTTP/429 as a "rate-limited" status code 2022-02-24 16:26:58 -08:00
Fedor Indutny
5453d10572
Improve conversion between typed arrays 2022-02-22 17:05:53 -08:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Fedor Indutny
0174687542
Use esbuild 2022-02-11 13:38:52 -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
Scott Nonnenberg
397753bbfe
sendContentMessageToGroup: Comprehensive error check before failover 2022-01-31 13:51:24 -08:00
Evan Hahn
a34291f9dc
Two CI tweaks 2022-01-27 16:28:41 -08:00
Evan Hahn
1e1cb26f08
Update badge placement on 52x52 avatars 2022-01-24 15:59:55 -06:00
Scott Nonnenberg
06165cb742
Include sender keys in SignalProtocolStore zones 2022-01-07 18:12:13 -08:00
Evan Hahn
f8bbf5c998
Group calls: mute in the lobby if joining a large call 2022-01-07 12:01:23 -06:00
Fedor Indutny
f5312b9463
Fix getUnreadReactionsAndMarkRead 2021-12-21 21:01:09 +01:00
Scott Nonnenberg
60a53656af
Optimize a few queries 2021-12-20 22:04:02 +01:00
Fedor Indutny
71ca3c0764
Drop old unprocessed envelopes 2021-12-13 17:25:44 -08:00
Scott Nonnenberg
34fd945f83
No Backbone in data layer; server/client interfaces are now similar 2021-12-10 16:51:54 -06: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
fdc9885baa
Migration and data access functions for stories 2021-12-08 20:52:46 +01:00
Evan Hahn
c88cb62464
Hide "delete for everyone" button for pending messages 2021-12-02 13:28:19 -08: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
Scott Nonnenberg
563f016245
When you send a message, scroll it into view 2021-11-30 12:25:24 +01:00
Fedor Indutny
a52530262f
Revert "When you send a message, scroll it into view"
This reverts commit a3525c16ef.
2021-11-23 14:09:07 +01:00
Evan Hahn
d8b230e348
Tweak avatar badge sizing/placement 2021-11-20 09:41:48 -06:00
Scott Nonnenberg
a3525c16ef
When you send a message, scroll it into view 2021-11-19 09:19:55 -08:00
Evan Hahn
4dd9232c36
Add badges to @-mentions picker 2021-11-17 19:38:52 +01:00
Scott Nonnenberg
cbae7f8ee9
Search for username in compose mode 2021-11-11 17:17:29 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Evan Hahn
9ce8acc846
Update avatar badge placements to match designs 2021-11-09 21:34:47 +01:00
Fedor Indutny
519ca05911
Update electron to 15.3.0 2021-11-08 22:43:37 +01:00
Evan Hahn
8256170066
Fix ConversationController load race condition 2021-11-04 14:11:47 -07:00
Evan Hahn
d6ffb08a63
Disable class-methods-use-this lint rule 2021-11-04 16:04:51 -05:00
Scott Nonnenberg
5bd7eda124
Scroll to bottom of conversation on message send 2021-11-02 19:00:54 -07:00
Evan Hahn
f647c4e053
Display user badges 2021-11-02 16:01:13 -07:00
Scott Nonnenberg
3190f95fac
Usernames: Create/update/delete in profile editor 2021-11-01 12:13:35 -07:00
Evan Hahn
8670a4d864
Retry outbound reactions for up to a day 2021-10-29 18:19:44 -05:00
Fedor Indutny
76d8b5e375
Get rid of electron.remote 2021-10-27 10:54:16 -07: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
Scott Nonnenberg
da9df293c6
linkPreviewFetch: Increase maximum HTML we'll process to 1000*1024 bytes 2021-10-14 11:53:53 -07:00
Fedor Indutny
27573e6dce
Use non-throttled timeouts for websockets 2021-10-07 11:18:22 -07:00
Evan Hahn
942ce16610
In prerelease, enable background throttling when not on a call 2021-09-28 14:00:22 -05:00
Evan Hahn
ed222fee9a
Poll for devices when joining a group call 2021-09-28 11:35:40 -05:00
Scott Nonnenberg
cf4c81b11c
Clear stale sender certificates 2021-09-27 10:31:34 -07:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Josh Perez
829e42ca6e
Move i18n setup to TypeScript 2021-09-17 20:30:08 -04:00
Josh Perez
7b5faa1cc1
Permissions popup context iso 2021-09-17 18:24:21 -04:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Evan Hahn
3e18a8a337
Don't ring large groups 2021-09-02 15:34:38 -07:00
Evan Hahn
f82012f129
Strip Exif data without Sharp 2021-09-02 08:59:42 -07:00
Fedor Indutny
6f3191117f
Batch deleteSentProtoRecipient queries 2021-08-31 14:35:01 -07:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Evan Hahn
f86f753df9
Add durations utility for computing durations 2021-08-26 09:10:58 -05:00
Fedor Indutny
fff4e9e97f
Simplify envelope drop due to stopped processing 2021-08-25 16:10:09 -07: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
347f542ac0
Derive default conversation color from storage 2021-08-24 17:15:12 -07:00
Fedor Indutny
b7ccd12245
Run resumed zone jobs concurrently 2021-08-24 14:07:40 -07:00
Evan Hahn
48cc2b5f11
Preserve blob content type when stripping EXIF data 2021-08-24 14:38:20 -05:00
Evan Hahn
79c976668b
Receive rings for group calls 2021-08-20 09:06:15 -07:00
Evan Hahn
b054802758
Make isEditingAvatar impossible unless you're on the right step 2021-08-16 09:33:27 -05:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Josh Perez
9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Scott Nonnenberg
a78d30cb5a
Simplify signed prekey handling - always save for 30 days, always save five 2021-08-03 15:26:00 -07:00
Evan Hahn
1891375c6c
Remove "delete for everyone" option from failed messages 2021-08-02 12:26:48 -07:00
Scott Nonnenberg
9fb8114691
Sender Key: Track registrationIds in senderKeyState 2021-07-30 11:35:25 -07:00
Fedor Indutny
1c1d0e2da0
Move to websocket for requests to signal server 2021-07-28 14:37:09 -07:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages 2021-07-27 10:42:25 -05:00
Evan Hahn
18140c4a9d
Retry outbound read syncs for up to 24 hours 2021-07-23 15:02:36 -07: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
Evan Hahn
2c59c71872
Show read/viewed even after read receipts disabled 2021-07-21 12:21:16 -07:00
Fedor Indutny
886e8966ff
Drop support for signaling key 2021-07-19 18:11:07 -07:00
Fedor Indutny
31989a7706
Translate errors before rejecting in SendMessage 2021-07-19 18:10:09 -07:00
Evan Hahn
c4a09b7507
Refactor outbound delivery state, take 2
This reverts commit ad217c808d.
2021-07-19 17:44:49 -05:00
Scott Nonnenberg
7761d83055
Update timers whenever we mark messages read 2021-07-19 13:45:18 -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
ad217c808d
Revert "Refactor outbound delivery state"
This reverts commit 9c48a95eb5.
2021-07-12 16:51:45 -07:00
Evan Hahn
9c48a95eb5
Refactor outbound delivery state 2021-07-09 16:38:51 -05:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Evan Hahn
da27a6ac64
Add array-type TypeScript ESLint rule 2021-07-08 14:55:48 -07:00
Evan Hahn
7efa4f1a8a
Speed up a link preview fetch test 2021-07-07 17:11:44 -07:00
Evan Hahn
4cd3da8f5b
Convert ConversationModel tests to TypeScript 2021-07-02 13:40:36 -07:00
Fedor Indutny
299fe2af36
More protobufjs use 2021-07-02 14:21:24 -05:00
Evan Hahn
56933192ba
Clean up "can reply" logic, add tests 2021-07-01 16:57:10 -07:00
Fedor Indutny
71572db7a9
Get native theme through IPC not remote 2021-06-30 11:57:43 -07:00
Evan Hahn
65ad608aa7
Move message selector tests to the right place 2021-06-29 17:51:57 -07:00
Fedor Indutny
2cd4160422
Unify audio playback under App component 2021-06-29 12:58:29 -07:00
Fedor Indutny
cd28e71bc6
Default disappearing message timeout fixes 2021-06-25 16:52:56 -07:00
Josh Perez
01eabf9ec6
Option to send photos as high quality 2021-06-25 11:08:16 -05:00
Evan Hahn
b990204bce
Clean up MessageModel group_update 2021-06-23 09:14:11 -07:00
Evan Hahn
9db19283ac
MessageController: return all messages by sent at, not just 1 2021-06-22 16:05:05 -07:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Scott Nonnenberg
1520c80013
Remove messageCollection from Conversation model 2021-06-15 17:44:14 -07:00
Fedor Indutny
584cedecff
Wrap all websocket errors, reconnect earlier 2021-06-14 17:12:58 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Fedor Indutny
df0aadc8a4
Update electron to 13.1.2 2021-06-10 13:53:43 -07:00
Fedor Indutny
17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Evan Hahn
6642652bdb
Fix link preview race condition 2021-06-02 17:19:40 -07:00
Josh Perez
bd46e3afd6
Fixes global chat color setting 2021-06-02 14:05:09 -07:00
Evan Hahn
36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Fedor Indutny
fcaa34d67a
Fix session transaction issue 2021-05-28 16:09:17 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Josh Perez
28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Evan Hahn
20e501d9f1
Remove 4 unused database functions 2021-05-27 08:45:45 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Fedor Indutny
4a6132933c
Fix race condition in session transactions 2021-05-24 15:59:36 -07:00
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Fedor Indutny
7418a5c663 Rename locks to zones 2021-05-20 17:37:18 -07:00
Fedor Indutny
1f0119a7ac Reuse global locks, handle empty envelopes 2021-05-20 17:37:17 -07:00
Fedor Indutny
94d2c56ab9 Introduce in-memory transactions for sessions 2021-05-20 17:37:09 -07:00
Scott Nonnenberg
e6bab06510 Receive support for Sender Key
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2021-05-20 17:37:08 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Evan Hahn
736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -07:00
Evan Hahn
bbd7fd3854
Initial support for job queue 2021-04-29 18:02:27 -05:00
Evan Hahn
bf6487c5b9 Don't mark conversations as unregistered unless there's no UUID 2021-04-29 14:27:37 -07:00
Scott Nonnenberg
76dd2026e2 Add test for calculateAgreement 2021-04-29 14:27:37 -07:00
Evan Hahn
e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Scott Nonnenberg
86d2a4b5dd decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript 2021-04-29 14:27:35 -07:00
Josh Perez
5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Evan Hahn
a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Sasha Chedygov
e8fb835857
Prefer higher resolution link preview images
See [#5000][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5000
2021-04-02 15:32:45 -05:00
Jost Schulte
9823eb2201
Fix typos in TypeScript and SCSS files
See [#5136][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5136
2021-04-02 15:28:07 -05:00
Evan Hahn
b725ed2ffb Refresh profiles on app start (at most every 12 hours) 2021-03-19 16:57:36 -04:00
Evan Hahn
b81a52bbdd New Group administration: Add users 2021-03-19 16:57:35 -04:00
Evan Hahn
80e3582d01 Trim group titles when creating or editing
* Trim group titles when creating or editing

* Trim title in more places
2021-03-19 16:57:35 -04:00
Evan Hahn
9f5335b854 New Group administration: update title and avatar 2021-03-19 16:57:35 -04:00
Evan Hahn
729d808f62 macOS: make conversation and main header draggable 2021-03-19 16:57:35 -04:00
Evan Hahn
934e0fa415 In <ContactPills>, use new "scrollToBottom" helper 2021-03-19 16:57:35 -04:00
Josh Perez
d82ce07942 Improve cold start performance 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
c9ffb7c014 Move SecretSessionCipher to TypeScript 2021-03-19 16:57:35 -04:00
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Scott Nonnenberg
d0e3a2ce29 background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS 2021-03-19 16:53:51 -04:00
Evan Hahn
06fb4fd0bc Add "new conversation" composer for direct messages 2021-03-19 16:53:51 -04:00
Josh Perez
a096220990
Do not download media if in call 2021-01-29 14:58:28 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00
Evan Hahn
b281420a40 Group calling: add speaker view 2021-01-25 18:28:59 -08:00
Scott Nonnenberg
cbc6c29479 Finish in-redux conversation lookups, getPropsForSearchResult moved 2021-01-25 18:28:58 -08:00
Evan Hahn
fff95d1262 Fix CI by updating license years and fixing a type error 2021-01-25 18:28:58 -08:00
Evan Hahn
1b5e229f95 Simplify stubs in Quill tests 2021-01-25 18:28:58 -08:00
Evan Hahn
8ace4b6321 Improve window activity detection, improving notification delivery 2021-01-25 18:28:57 -08:00
Evan Hahn
172598b354
Fix link previews for YouTube Music 2021-01-11 13:43:44 -08:00
Evan Hahn
dc918aea1d
Check leaks in Mocha 2021-01-11 12:17:09 -08:00
Evan Hahn
db0ebc5779
Update group membership for a group call when it changes 2020-12-09 15:21:34 -08:00
Josh Perez
318013e83d
Handles safety number changes while in a call 2020-12-08 14:37:04 -05:00
Evan Hahn
0c039bf431
Add group calling events to the message timeline 2020-12-07 14:43:19 -06:00
Scott Nonnenberg
6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing 2020-12-04 14:41:40 -06:00
Evan Hahn
c85ea814b1
Group calling participants refactor 2020-12-02 10:14:03 -08:00
Evan Hahn
be99bbe87a
Calling selectors are now based on the root state 2020-12-02 10:11:54 -08:00
Evan Hahn
6d53cb1740 Group calling: Peek into a group call 2020-11-23 14:49:32 -05:00
Josh Perez
1f0c091e13 Group calling enhancements 2020-11-23 14:45:44 -05:00
Evan Hahn
022c4bd0f4 Initial group calling support 2020-11-23 14:45:44 -05:00
Evan Hahn
3468de255d
Redux state: Allow multiple calls to be stored 2020-11-06 09:36:37 -08:00
Evan Hahn
e9642ae66f Test calling's toggle actions, run tests in Electron 2020-11-04 13:03:13 -06:00
Evan Hahn
8bfaf598af Add license headers across the project 2020-11-04 13:03:13 -06:00
Evan Hahn
cb9a7f79d1 Rewrite Message model tests in TypeScript 2020-11-04 13:00:41 -06:00
Evan Hahn
1d548d10ba Add timeout to a link previews test for Windows CI 2020-11-02 14:49:32 -08:00
Evan Hahn
dd57963dab Outbound link previews: more lenient loading
Signed-off-by: Josh Perez <josh.p@signal.org>
2020-10-15 14:34:45 -04:00
Evan Hahn
6e1a83ae4e Reject HTTP URLs when loading link previews 2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774 Outbound link previews 2020-10-12 18:10:08 -04:00