Commit graph

2006 commits

Author SHA1 Message Date
Fedor Indutny
287abd241d
Fix performance of debug logs view 2021-06-02 15:13:33 -05:00
Fedor Indutny
4ee46cb490
Fix typo in SQL migration logs 2021-06-02 13:43:54 -05:00
Josh Perez
38d4595e3b
Fix camera setting when stopping screenshare 2021-06-02 13:41:28 -05:00
Josh Perez
36617c2e5a
Gradient dial knob improvements 2021-06-02 13:39:30 -05:00
Peter Thatcher
94f3f208d5
Send screnshare even in an audio call 2021-06-02 10:42:41 -07:00
Evan Hahn
23b0a5698f
Fix error in <Timeline> stories 2021-06-02 10:27:12 -07:00
Evan Hahn
6c6eed0b1e
Don't show name collisions for system contacts 2021-06-02 10:24:22 -07:00
Evan Hahn
84be8288e9
Typing bubble avatar should not use cursor: pointer 2021-06-02 09:45:24 -07:00
Fedor Indutny
b009967a83
Display proper text when quoting view once message 2021-06-02 09:42:19 -07:00
Scott Nonnenberg
9705f464be
Group Description: Edit/Receive 2021-06-01 20:24:28 -04:00
Josh Perez
6d7849e6c7
Colors update contact name colors 2021-06-01 16:37:12 -07:00
Evan Hahn
36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Fedor Indutny
51b45ab275
Add extension to uploaded debug log 2021-06-01 17:16:10 -05:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -07:00
Fedor Indutny
c63871d71b
Fix storybook errors 2021-06-01 13:40:55 -07:00
Fedor Indutny
6e19383a7d
Fix SMS-only check for unregistered convo 2021-06-01 13:10:19 -07:00
Josh Perez
373ffe4663
Screen sharing improvements 2021-06-01 12:47:55 -07:00
Scott Nonnenberg
5a4fc5e425
Sender Key: Disable capability and bug fixes 2021-06-01 12:40:09 -07:00
Fedor Indutny
33595646c1
Add user path to logging exceptions 2021-06-01 11:15:23 -07:00
Fedor Indutny
8841de17a5
Add action for automated backports 2021-06-01 11:04:56 -07:00
Fedor Indutny
e4d7e1e9c8
Simplify attachment jobs SQL query 2021-06-01 10:13:10 -07:00
Fedor Indutny
fcaa34d67a
Fix session transaction issue 2021-05-28 16:09:17 -07:00
Fedor Indutny
87c9151d70
Change color of "delete" button 2021-05-28 12:14:15 -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
Scott Nonnenberg
b63d8e908c
Properly unpad incoming sender key messages 2021-05-28 09:06:09 -07:00
Scott Nonnenberg
ee41e4f71d
A few small bugfixes 2021-05-27 13:47:39 -07:00
Evan Hahn
d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -07:00
Evan Hahn
20e501d9f1
Remove 4 unused database functions 2021-05-27 08:45:45 -07:00
Evan Hahn
05f9224273
Update Babel dependencies to allow import type 2021-05-27 08:44:06 -07:00
Evan Hahn
7038a3f3ab
Fix <Modal> footers with long-text or lots of buttons 2021-05-27 08:43:39 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Fedor Indutny
d8417e562b
Do not display call buttons for SMS-only convo 2021-05-25 15:30:57 -07:00
Josh Perez
07a0a6da22
Enable screensharing flag for beta users 2021-05-25 15:20:33 -07:00
Scott Nonnenberg
07c1505782
Force load of newer/older messages if, on load, all messages visible 2021-05-25 11:34:34 -07:00
Fedor Indutny
9693700dd2
Switch to WAL after cipher migration 2021-05-25 11:13:37 -07:00
Fedor Indutny
4a6132933c
Fix race condition in session transactions 2021-05-24 15:59:36 -07:00
Fedor Indutny
227f532ec2
Fix processing of cached envelopes 2021-05-24 14:30:56 -07:00
Fedor Indutny
25f4154cde
Add checks for unregistering message receiver 2021-05-24 12:01:45 -07:00
Scott Nonnenberg
e76252d3b2
Fixes for Sender Key: Receive 2021-05-24 11:59:45 -07:00
Scott Nonnenberg
09ef4d85e0
onChange: Emit changed event even if changed set is empty 2021-05-24 11:51:47 -07:00
Fedor Indutny
79a90802c0
Use websocket queue for queueAllCached() 2021-05-24 11:00:53 -07:00
Fedor Indutny
05306c2d3d
Handle durationchange events in MessageAudio 2021-05-24 09:30:50 -07:00
Fedor Indutny
d605daa04f
Fix performance issue for quote rendering 2021-05-21 18:33:54 -07:00
Scott Nonnenberg
bbd611b189
Revert "Fix typo in method name"
This reverts commit 95baa3e02e.
2021-05-21 14:27:17 -07:00
Evan Hahn
95d404c70b
Improve UI performance for no-op profile fetches 2021-05-21 12:53:05 -07:00
Scott Nonnenberg
e859fcd4b4
Partially revert "Clean up inviteLink handling, harden compose input" 2021-05-21 11:32:10 -07:00
Scott Nonnenberg
f6bc4dfe25
Enable click on draft quotes, fetch groups from contact modal 2021-05-21 10:27:28 -07:00
Fedor Indutny
b878cad625
Fix session transactions for archive sessions 2021-05-21 09:03:01 -07:00
Fedor Indutny
6323dd6492
Go back to main process before delayed processing 2021-05-21 09:51:27 -05:00
Fedor Indutny
7b164fdf91 Further improve in-memory transactions in MessageReceiver 2021-05-20 17:37:26 -07:00
Fedor Indutny
7c07fdd589 Fix in-memory transactions in MessageReceiver 2021-05-20 17:37:19 -07:00
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Evan Hahn
7c7f7ee5a0 Add concat iterable utility 2021-05-20 17:37:19 -07:00
Evan Hahn
d07996e910 Add type to WebAPI error message 2021-05-20 17:37:18 -07:00
Fedor Indutny
bc146a54af await goBackToMainProcess in sticker-creator 2021-05-20 17:37:18 -07:00
Scott Nonnenberg
be087c3498 Ensure that context is always provided for error logs 2021-05-20 17:37:18 -07:00
Fedor Indutny
7418a5c663 Rename locks to zones 2021-05-20 17:37:18 -07:00
Evan Hahn
8f0731d498 Remove unsupported auto-launch setting on Linux 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
Josh Perez
25f271e61c Always render dialogs in left pane 2021-05-20 17:37:17 -07:00
Evan Hahn
f3e207d0b0 Use timestamp instead of full model for tap-to-view age outs 2021-05-20 17:37:17 -07:00
Fedor Indutny
80da8bb47b Display SMS/MMS disclaimer in empty search results 2021-05-20 17:37:17 -07:00
Scott Nonnenberg
bcaca1ebd5 View Once: Allow for missing sender; only require senderUuid 2021-05-20 17:37:17 -07:00
Evan Hahn
392822372b Iterables: add and use filter 2021-05-20 17:37:17 -07:00
Fedor Indutny
2abc331058 Fix in-memory transactions while accessing sessions 2021-05-20 17:37:10 -07:00
Evan Hahn
6ccf97b5d0 getMessageById query should only select necessary field 2021-05-20 17:37:10 -07:00
Scott Nonnenberg
38f9aef2af On 401 response from Signal server, reconnect websocket 2021-05-20 17:37:09 -07:00
Scott Nonnenberg
4ce4569afb Upgrade a number of sub-dependencies 2021-05-20 17:37:09 -07:00
Fedor Indutny
94d2c56ab9 Introduce in-memory transactions for sessions 2021-05-20 17:37:09 -07:00
Scott Nonnenberg
403b3c5fc6 getSendOptions: Disable sealed sender whenever sending to own account 2021-05-20 17:37:09 -07:00
Josh Perez
215d90fbe8 Always update unreadCount for conversations 2021-05-20 17:37:09 -07:00
Evan Hahn
794d910d4e Remove useless set of message recipients 2021-05-20 17:37:09 -07:00
Fedor Indutny
41a4643380 Use synchronous methods in transactions 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
e5f9c0db28 Fix crash when quickly closing debug log window 2021-05-20 17:37:08 -07:00
Scott Nonnenberg
4c249ce5dc Don't reset session if sealed sender wrapper is invalid 2021-05-20 17:37:08 -07:00
Fedor Indutny
8fa5ea6b2b Add outlines for MessageAudio buttons 2021-05-20 17:37:08 -07:00
Fedor Indutny
7fa730531a Improve experience for contacts without signal accounts 2021-05-20 17:37:08 -07:00
Fedor Indutny
fe505a7f2f Fix hanging "Clear All Data" on Windows 2021-05-20 17:37:08 -07:00
Fedor Indutny
03eaa9eb3e Apply reactions optimistically 2021-05-20 17:37:08 -07:00
Evan Hahn
18abe93022 Remove many instances of deprecated url.parse 2021-05-20 17:37:07 -07:00
David Sanders
95baa3e02e Fix typo in method name
See [#5233][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5233
2021-05-20 17:37:07 -07:00
Evan Hahn
a8346c490e Fix inaccurate numbers on group details screen 2021-05-20 17:37:07 -07:00
Fedor Indutny
b1d49f7b3e
Do not compute waveform for a long audio 2021-05-12 12:18:02 -07:00
Jacob Kiesel
75d54e7737 Add launch-on login option
See [#5244][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5244
2021-05-11 15:59:21 -05:00
Evan Hahn
b41dab2704
Fix "open conversation menu" keyboard shortcut 2021-05-11 13:40:36 -05:00
Fedor Indutny
e51260a23f
Batch and de-duplicate profile key updates 2021-05-11 13:26:44 -05:00
Fedor Indutny
c2a0072fa1
Apply reactions to messages in "Notes to Self" 2021-05-11 10:06:19 -07:00
Evan Hahn
09d7a253af
Fix non-default disappearing message timers on group details screen 2021-05-11 12:05:02 -05:00
Josh Perez
24b7790829
One SearchInput to rule them all 2021-05-10 20:50:43 -04:00
Scott Nonnenberg
c62b5a900e
Update proxy-agent to v4.0.1 2021-05-10 15:38:39 -07:00
Scott Nonnenberg
efaaafa370
A few small bug fixes 2021-05-10 15:38:18 -07:00
Josh Perez
887b2c1db1
Get the correct unread count for a conversation 2021-05-10 11:49:13 -07:00
Evan Hahn
c68d65ea0b
Center non-square avatar pictures 2021-05-10 12:50:04 -05:00
Fedor Indutny
4b566e0a19
Use fake timers in challenge_test.ts 2021-05-07 17:34:50 -07:00
Fedor Indutny
a3693a7f4a
Fix further flakiness in challenge tests on CI 2021-05-07 15:36:28 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Josh Perez
1276368f94
Optimize read messages query 2021-05-07 17:50:14 -04:00
Fedor Indutny
0ccc607100
Fix race conditions in challenge test 2021-05-07 13:59:46 -07:00
dependabot-preview[bot]
bfc1524b49
Upgrade bl to v1.2.3 2021-05-07 13:19:30 -07:00
Fedor Indutny
98894ab121
Let group update happen on relink 2021-05-07 15:07:24 -05:00
dependabot-preview[bot]
16034f9358
Upgrade underscore to v1.12.1 2021-05-07 12:04:05 -07:00
Fedor Indutny
470eab8352
Fix race condition in challenge test 2021-05-07 09:10:40 -07:00
Josh Perez
a1e4820cb7
Upgrade to moment@2.29.1 2021-05-07 10:44:41 -05:00
Evan Hahn
cd61d8464d
Upgrade Lodash to latest version, v4.17.21 2021-05-07 09:46:09 -05:00
Josh Perez
e0c324e4ba
Send/Receive support for reaction read syncs 2021-05-06 21:15:25 -04:00
Evan Hahn
f71f789c94
Upgrade Grunt to v1.4.0 2021-05-06 17:07:11 -05:00
Evan Hahn
4cf3d5f14c
lint-deps should skip storybook-static/ 2021-05-06 16:28:40 -05:00
Evan Hahn
3da97268d7
<SmartTimeline> doesn't need to "filter" 3 of its smart components 2021-05-06 12:15:04 -07:00
Scott Nonnenberg
fc12d02a8d
Clean up inviteLink handling, harden compose input 2021-05-06 12:06:20 -07:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn
7afbbb3a4c
Fix render loop in <ConversationHero> 2021-05-05 17:35:32 -05:00
Evan Hahn
8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Scott Nonnenberg
18c86898d1
OutgoingMessage: Use enqueueSessionJob for all encrypts 2021-05-04 18:03:03 -07:00
Evan Hahn
7c2f233384
Fix blurred avatars in message details 2021-05-04 16:19:36 -07:00
Scott Nonnenberg
c5c667ab1b
Left pane: Ensure pinned conversations show only once 2021-05-04 17:16:59 -05:00
Evan Hahn
b9bc957299
Fix sendToIdentifier error message 2021-05-04 09:44:17 -07:00
Evan Hahn
36d8ef9678
Remove lineNumber from lint exceptions 2021-05-04 09:41:59 -07:00
Scott Nonnenberg
fb00464033
Fine-tuning of conversation lists (compose, forward, left pane) 2021-05-04 09:17:32 -07:00
Scott Nonnenberg
f0b3c43313
Fix a number visual bugs with message forwarding 2021-05-04 09:57:14 -05:00
Evan Hahn
736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -07:00
Evan Hahn
c1730e055f
Remove 25 trivial WhatIsThis types 2021-05-03 09:38:20 -07:00
Evan Hahn
857a6ab50d
Main header: ensure that your avatar is unblurred 2021-04-30 16:06:18 -07:00
Scott Nonnenberg
cf1eb77ed8
Message Requests: Always open to top of conversation 2021-04-30 15:59:37 -07:00
Evan Hahn
fe772af251
Show "no groups in common" warning for relevant message requests 2021-04-30 15:58:57 -07:00
Evan Hahn
05703c2719
Blur avatars of unapproved conversations 2021-04-30 14:40:25 -05:00
Evan Hahn
bbd7fd3854
Initial support for job queue 2021-04-29 18:02:27 -05:00
Evan Hahn
1238cca538 Ensure group details screen has the latest data 2021-04-29 14:27:38 -07:00
Evan Hahn
bf6487c5b9 Don't mark conversations as unregistered unless there's no UUID 2021-04-29 14:27:37 -07:00
Fedor Indutny
caf1d4c4da GIF attachments 2021-04-29 14:27:37 -07:00
Evan Hahn
5f17d01f49 Take an author object in <Message> 2021-04-29 14:27:37 -07:00
Evan Hahn
bca664b5d9 Make <Avatar> blurrable 2021-04-29 14:27:37 -07:00
Scott Nonnenberg
76dd2026e2 Add test for calculateAgreement 2021-04-29 14:27:37 -07:00
Scott Nonnenberg
7ed54111e2 encryptCdsDiscoveryRequest: Reset offset after writing to array 2021-04-29 14:27:37 -07:00
Evan Hahn
86a01f289d <Message> shouldn't be a PureComponent. It re-renders every time 2021-04-29 14:27:37 -07:00
Evan Hahn
013923d3c1 Remove CDS feature flag 2021-04-29 14:27:36 -07:00
Evan Hahn
e77dcf7f85 Don't create an unnecessary array in conversation batcher 2021-04-29 14:27:36 -07:00
Evan Hahn
a5a64f354f Upgrade Prettier from v2.1.2 to v2.2.1 2021-04-29 14:27:36 -07:00
Evan Hahn
664865c9f1 Rename ConversationModel#getAvatarPath for clarity 2021-04-29 14:27:36 -07:00
Evan Hahn
1f5368742e Add type for ConversationModel profileAvatar 2021-04-29 14:27:36 -07:00
Evan Hahn
2bae019f1a Modernize <Avatar> component code, fix an overflow bug 2021-04-29 14:27:35 -07:00
Evan Hahn
e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Evan Hahn
814255c10e DRY up ConversationView callbacks 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
Evan Hahn
37ff4a1df4 Fix 1:1 message to/from in search results
See [#5161][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5161
2021-04-29 14:27:35 -07:00
Evan Hahn
885ff5fe42 Show common groups in contact modal 2021-04-29 14:27:35 -07:00
Fedor Indutny
8ac2d8fcec
Mark contact as registered when receiving message 2021-04-29 14:24:55 -07:00
Josh Perez
d91a4ef3a6
Allow forward of image attachment with no text 2021-04-28 15:23:04 -07:00
Fedor Indutny
a76534ed45
Fix FTS trigger for messages with NULL body 2021-04-28 15:22:33 -07:00
Josh Perez
6eba9350be
Do not filter body ranges if there are none 2021-04-28 14:48:52 -07:00
Fedor Indutny
965c635905
Fix z-index of AvatarPopup and limit max width 2021-04-28 15:50:42 -05:00
Josh Perez
353becffac
Various fixes for message forwarding 2021-04-28 15:44:48 -05:00
Scott Nonnenberg
3face767aa
Group settings: on block and leave, don't delete 2021-04-28 16:27:16 -04:00
Fedor Indutny
4978fae69c
Call serverTimestamp.toNumber() for unprocessed 2021-04-28 13:21:11 -07:00
Josh Perez
808c7dfb2d
Fixes storage service validation where id already ArrayBuffer 2021-04-28 15:01:29 -04:00
Josh Perez
d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04:00
Fedor Indutny
cd489a35fd
sql: use temporary tables for FTS results 2021-04-27 13:24:57 -07:00
Josh Perez
e75bba1c52
Replaces ConfirmationModal with ConfirmationDialog 2021-04-27 15:29:59 -04:00
Fedor Indutny
c9d74654bf
sql: don't update FTS when body didn't change 2021-04-26 17:31:15 -07:00
Fedor Indutny
dd173216ed
sql: speed up fts query, report slow queries 2021-04-26 15:01:22 -07:00
Josh Perez
26b90ba44a
Add return types for two MessageModel "getProps" methods 2021-04-22 09:20:01 -05:00
Josh Perez
5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Fedor Indutny
0b969f3f42
Improve MessageAudio peaks computation
There are two parts to this change:

1. The computation of peaks is moved from `MessageAudio` to the
   `GlobalAudioContext` and thus we can limit the concurrency of the
   computations (`p-queue`!) and de-duplicate the computations as well
2. While the peaks are computed the component has to display spinning
   animation instead of empty waveform and unclickable UI.
2021-04-15 14:02:24 -07:00
Fedor Indutny
2c3911cad0
Use bodyRanges from message whenever available 2021-04-15 13:46:09 -07:00
Quentin Hibon
773fe1521c fix 2021-04-15 21:40:19 +02:00
Quentin Hibon
4568e4904a
Update ts/test-both/state/selectors/search_test.ts
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>
2021-04-15 21:26:46 +02:00
Quentin Hibon
58d22048b9
Update ts/test-both/state/selectors/search_test.ts
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>
2021-04-15 21:26:39 +02:00
Fedor Indutny
1746d27b5e
Wait for appView to be there in onEmpty 2021-04-15 11:17:28 -07:00
Scott Nonnenberg
7d55421d8f
Quotes: Check message's conversationId 2021-04-14 15:15:57 -07:00
Evan Hahn
2ee5f57516 Ensure storage is ready before starting sender certificate service 2021-04-14 14:15:26 -07:00
Fedor Indutny
1ca121aef5 Bundle sql worker with webpack 2021-04-14 14:15:26 -07:00
Evan Hahn
31a777a130 Merge branch 'WhyNotHugo-python3' into next-beta 2021-04-14 14:15:24 -07:00
Evan Hahn
c0cc878a64 Merge branch 'hiqua-fix_hanging_search' into next-beta 2021-04-14 14:14:57 -07:00
Evan Hahn
ea6562b7ac Merge branch 'hiqua-no_lower_limit_query' into next-beta 2021-04-14 14:14:57 -07:00
Quentin Hibon
08905e1386 Allow one-character search queries
Related: #5180.
2021-04-14 14:14:56 -07:00
Evan Hahn
1366c93ed8 Fix getUnprocessedCount error message 2021-04-14 12:31:10 -05:00
Fedor Indutny
cb75e8b5f7
Add missing awaits in SQL logging 2021-04-14 10:50:45 -05:00
Fedor Indutny
25458be515
upgrade electron-builder to 22.10.5 2021-04-13 18:27:43 -07:00
Fedor Indutny
a4ff7ae240
Report more performance stats 2021-04-13 16:43:56 -07:00
Evan Hahn
842d7980a6
Remove old comment about await in loop 2021-04-13 15:22:28 -07:00
Josh Perez
ef781af0ce
Updates a11y dev deps 2021-04-13 17:33:24 -04:00
Evan Hahn
62f1a42c25
Add reusable <Modal> component, use with <Alert> 2021-04-13 09:20:02 -05:00
Quentin Hibon
38074374f4 Add test 2021-04-10 01:30:16 +02:00
Hugo Osvaldo Barrera
207c533de1 Use a node-gyp version which supports Python3
The currently pinned version of `node-gyp` requires Python 2.  Python 2
has reached its EOL a long time ago and is unsupported by upstream.

The requirement on Python 2 is also an unnecessary barrier for new
developers to contribute to Signal.

This changeset updates the required version of node-gyp to one
compatible with Python 3.

`CONTRIBUTING.md` remains unchanged, since this dependency was not
previously mentioned anyway.

Supersedes #4407
Fixes #4783
2021-04-09 22:13:11 +02:00
Josh Perez
a2a361f0bf
Extra validations for storage service 2021-04-09 16:12:05 -04:00
Scott Nonnenberg
e47b00a33c
Don't mark old messages as read on timer update 2021-04-09 13:11:36 -07:00
Fedor Indutny
9846fb8edf Cache GroupFields
Computing GroupFields is costly so cache them instead of doing the
derivation anew on every message.
2021-04-09 12:14:59 -07:00
Fedor Indutny
847cc3e055 Do not generate notification when disabled
Generating identicons for notifications is costly even if they are
cached. Avoid this extra load when notifications are not going to be
shown anyway.
2021-04-09 15:01:25 -04:00
Evan Hahn
23b3d34eef Upgrade Sharp to v0.28.1 2021-04-09 15:01:25 -04:00
Josh Perez
6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05:00
Fedor Indutny
15247e1c9a Fix addStickerPackReference 2021-04-09 00:06:46 -04:00
Fedor Indutny
207d05fd05 Run SQL initialize in parallel with createWindow 2021-04-09 00:06:46 -04:00
Fedor Indutny
af9e038add Optimize hot queries
`getLastConversationX()` is called from debounced function, but
depending on how fast the fetch from the server is the actual
invocations could happen for every other message. Prepare and optimize
queries to save time.
2021-04-09 00:06:46 -04:00
Scott Nonnenberg
e0415de893 Don't always show an error on manual contact sync 2021-04-09 00:06:46 -04:00
Evan Hahn
a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Fedor Indutny
6ff55914f0 Deduplicate conversations before passing to redux
Receiving a single message on conversations triggers ~4 updates.
However, since `.format()` is called on next tick - the value is going
to be the same regardless of which particular update triggered it. Batch
conversations and de-duplicate them before passing to redux to save
time.
2021-04-09 00:06:14 -04:00
Fedor Indutny
4fd3ed7242 Bundle preload.js 2021-04-09 00:06:14 -04:00
Fedor Indutny
eb6d1b7216 Fix StickerType in sql/Interface and fix query 2021-04-09 00:05:41 -04:00
Fedor Indutny
c609389aaf Update to Webpack 5 2021-04-09 00:05:41 -04:00
Evan Hahn
f615b1a75f Reject reactions with invalid number of graphemes 2021-04-08 23:53:18 -04:00
Evan Hahn
95482fbf31 Add affirmative and destructive secondary button variants 2021-04-08 23:53:18 -04:00
Fedor Indutny
0555ef0a1e Change primary key for messages table 2021-04-08 23:53:18 -04:00
Fedor Indutny
1fc7769f9f Optimize database and run quick check 2021-04-08 23:53:18 -04:00
Fedor Indutny
b9248e04ed Cache SQL statements used during startup 2021-04-08 23:53:18 -04:00
Evan Hahn
7ae25590e6 Add conversation hero to <Timeline> stories 2021-04-08 23:53:18 -04:00
Evan Hahn
b5269f4927 Remove unused isAccepted property from ConversationType 2021-04-08 23:53:18 -04:00
Fedor Indutny
37c8c1727f Types, better-sqlite3, and worker_threads for our sqlite 2021-04-08 23:53:18 -04:00
Fedor Indutny
fc3004a183 Make test-node report errors 2021-04-08 23:51:54 -04:00
Evan Hahn
8fe1be8678 Remove ability to set or read author E164 for new quotes 2021-04-08 23:51:54 -04:00
Evan Hahn
18ccda83ba Use UUID-only sender certificate when applicable 2021-04-08 23:51:54 -04:00
Fedor Indutny
a97abf718d Sort lint exceptions 2021-04-08 23:51:54 -04:00
Fedor Indutny
6e41009d74 Update zkgroup to the latest 2021-04-08 23:51:54 -04:00
Fedor Indutny
2796dfab23 Check charset types in linkPreviewFetch.ts 2021-04-08 23:51:53 -04:00
Scott Nonnenberg
bb412d61c2
Required profile sharing: Only activate for 1:1 and gv1 groups 2021-04-08 15:35:11 -04:00
Josh Perez
9438b7b3fe
Fixes pinned conversations sync 2021-04-08 15:27:20 -04:00
Quentin Hibon
8abd73fa4f Do not search if normalized query is empty
Fixes #5137
2021-04-08 12:32:44 +02:00
Quentin Hibon
5623bb5906 Fix enveloppe header in search results
Fixes #5158.
2021-04-08 12:02:56 +02:00
Scott Nonnenberg
987d3168e8
GroupV2: Always add profileKeys to newProfileKeys return value 2021-04-07 15:45:31 -07:00
Scott Nonnenberg
a1c534ec0c
Fix CDS fetches; use proper hashing mechanism 2021-04-07 14:27:40 -07:00
Josh Perez
e4db9358cf
Storage service logging same 2021-04-06 15:54:47 -07:00
Josh Perez
d6bb8ae35e
Adds axe-storybook-testing 2021-04-06 16:12:33 -04:00
Evan Hahn
c8dc8a7398 Don't let users leave groups if they're the only admin 2021-04-05 18:08:50 -04:00
Evan Hahn
a7c78b3b23 Storage service: save new AccountRecord fields to disk 2021-04-05 18:08:50 -04:00
Fedor Indutny
6cfb3c9867 Use synchronous crypto for sealed sender 2021-04-05 18:08:50 -04:00
Evan Hahn
d81aaf654f Improve left pane UI when loading search results 2021-04-05 18:08:50 -04:00
Evan Hahn
f05d45ac9b Pressing Esc in left pane composer menu should go back 2021-04-05 18:08:50 -04:00
Evan Hahn
2d35fa8f57 Fix replies to image-only messages 2021-04-05 18:08:50 -04:00
Evan Hahn
b95dd207ca Periodically refresh both sender certificates 2021-04-05 18:08:50 -04:00
Evan Hahn
99928ee831 Move refresh_sender_certificate.js to TypeScript 2021-04-05 18:08:50 -04:00
Evan Hahn
130dac527f Add types for <ConversationHeader>'s mute options 2021-04-05 18:08:50 -04:00
Fedor Indutny
cf50550936 Finish all renderer SQL queries switching to main
Don't switch to main process until all renderer SQL queries are
completed. If we switch while some of them are still running - we can
get SQL_BUSY from concurrent writes in main and renderer processes.
2021-04-05 18:08:50 -04:00
Evan Hahn
eb97c1194a Add Zod for runtime and compile-time type checking, use it in logging code 2021-04-05 18:08:50 -04:00
Evan Hahn
c711fbe0c0 In conversation hero, show “No group in common” if you have no common groups and no phone number 2021-04-05 18:08:50 -04:00
Evan Hahn
63ece2e9b4 Don't set or read reaction target phone number 2021-04-05 18:08:50 -04:00
Evan Hahn
1a9c6b9385 Clean up iterable utilities 2021-04-05 18:08:50 -04:00
Evan Hahn
bd48dea613 Add enum parser utility 2021-04-05 18:08:50 -04:00
Jost Schulte
73a8c3ff95
Fix pip sliding down on click (#5147)
* Fix pip sliding down on click

* Add top margin to PiP intial position

Co-authored-by: Jost Schulte <jost@jibble.io>
2021-04-05 18:06:11 -04:00
Kevin J. Sung
79c94dafd5
set positionFixed in emoji Popper to prevent flipping 2021-04-05 18:05:23 -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
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
Kasia Kosturek
d20cc59a26
getInitials: handle more cases
See [#5029]][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5029
2021-04-02 15:30:49 -05:00
rhklee
8b51f174d8
Remove backslash from search queries
Co-authored-by: Lee Randy <randy.lee@metronom.com>
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>

See [#5053][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5053
2021-04-02 15:29:54 -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
Josh Perez
1264e6da2b Retain protections on gv1 records that match gv2 ids 2021-03-30 20:40:48 -04:00
Fedor Indutny
5c8cb6b89b Decrease batcher wait time to speed up startup 2021-03-30 20:40:48 -04:00
Fedor Indutny
6f7ecb141f
filterAndSortContacts should tokenize 2021-03-29 17:19:59 -05:00
Fedor Indutny
79acb7513d
Fix delivery status overflow in sticker messages 2021-03-29 14:34:47 -07:00
Evan Hahn
f157ce2eec
Add "_test" suffix to environment test file 2021-03-29 16:26:49 -05:00
Evan Hahn
ecb76b64a3
Add BORDERLESS and GIF attachment flags to proto 2021-03-29 16:26:20 -05:00
Evan Hahn
902e48e308
Remove redundant listenTo calls in ConversationModel#fetchContacts 2021-03-29 13:43:31 -07:00
Scott Nonnenberg
7a3130a795
Re-render left pane and timeline items when group members change 2021-03-26 11:03:15 -07:00
Josh Perez
b31a44aa76
Do not continue writing after stream has closed 2021-03-26 09:48:46 -07:00
Evan Hahn
83593a3216
Add type to ConversationModel's contactCollection
Previously, this was `Backbone.Collection<WhatIsThis>`. Now, it's
`Backbone.Collection<ConversationModel>`.

A minor change, but an easy improvement that (luckily) had no
downstream effects.
2021-03-26 09:36:57 -07:00
Fedor Indutny
990e501850
First pass on CI support 2021-03-25 19:02:53 -07:00
Fedor Indutny
746e99b8c2
Flush all watchers on empty queue 2021-03-25 17:00:03 -07:00
Evan Hahn
de5943a5fb
Fix bug where we'd remove profileKeyCredentials incorrectly 2021-03-25 12:05:55 -07:00
Evan Hahn
afe135df0c
Hide long message attachments in quotes 2021-03-25 11:36:50 -07:00
Evan Hahn
6f404648d7
Prefer author ID to phone number for message menu trigger ID 2021-03-24 16:42:08 -07:00
Fedor Indutny
7a9a4a1404
Clicking first bars of the waveform should rewind
It is practically impossible to rewind audio prior to this commit. With
this commit - clicking first two bars will rewind the audio to its very
start instead of updating its current play time to a specific non-zero v
alue.
2021-03-24 16:08:57 -07:00
Evan Hahn
b44bf33256
Move audioPlayer duck test 2021-03-24 16:08:44 -07:00
Evan Hahn
77c306843d
Fix error on message details screen with audio messages 2021-03-24 15:06:12 -07:00
Fedor Indutny
5f9a75d9f4
journal_mode=WAL and synchronous=NORMAL for database 2021-03-24 14:35:06 -07:00
Scott Nonnenberg
2d8f237b76
Send to just-removed folks in groupv2 removal operations 2021-03-24 14:28:55 -07:00
Fedor Indutny
7c4e4c97e7
Cache identicons to avoid performance hit on app start 2021-03-24 08:59:56 -05:00
Fedor Indutny
919259c960
Use non-subtle crypto in libsignal-protocol 2021-03-23 17:50:02 -07:00
Scott Nonnenberg
2df7569389
saveMessages: Delete from messages_fts table even in insert case 2021-03-22 18:09:50 -07:00
Fedor Indutny
a75402d290
Add timestamp utilities with helpful names 2021-03-22 16:08:52 -05:00
Fedor Indutny
9fa3359477
Mark attachment as corrupted if audio load failed
Sending corrupted audio should not leave user with non-functional
UI. Mark attachment as corrupted and show generic attachment UI for it
instead.
2021-03-22 11:51:53 -07:00
Fedor Indutny
d6063d71e5
Change duration to countdown in MessageAudio
Message Audio UI should display remaining time not the duration of the
audio.
2021-03-22 11:15:59 -07:00
Josh Perez
e58975ec8b Fix for multiple at-mentions 2021-03-19 16:57:36 -04:00
Fedor Indutny
6fec6b2646 Fix attachments not loading for stickers/long messages 2021-03-19 16:57:36 -04:00
Fedor Indutny
d7ec22fb0b Save attachment button should download attachment if needed 2021-03-19 16:57:36 -04:00
Scott Nonnenberg
58cb9fba6b Ensure we don't supply undefined to SyncMessage.Read protobuf 2021-03-19 16:57:36 -04:00
Evan Hahn
850e759579 Keeping profile data around longer in the face of errors 2021-03-19 16:57:36 -04:00
Evan Hahn
c97bb0feee Auto-scroll the left pane less frequently 2021-03-19 16:57:36 -04:00
Evan Hahn
3d5f30560d Clean up isSearching selector 2021-03-19 16:57:36 -04:00
Evan Hahn
358838a6bc Style disabled <GroupTitleInput> 2021-03-19 16:57:36 -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
3eaa47ec72 Remove useless logic in MessageAudio
`isLoading` was initially used to avoid duplicate loads of the audio on
re-renders, but this has to be handled in GlobalAudioContext not in
MessageAudio.
2021-03-19 16:57:36 -04:00
Scott Nonnenberg
260d288fc2 groups/updateGroup: Fix use of incrementMessageCounter 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
Scott Nonnenberg
7ffc01f0b0 MessageReceiver: Restore queuing for in-order decryption 2021-03-19 16:57:36 -04:00
Scott Nonnenberg
0eec84391f MessageReceiver: Be resilient to failed updateCache call 2021-03-19 16:57:36 -04:00
Fedor Indutny
f41ffda3e0 Update types: attachments may not have url property 2021-03-19 16:57:36 -04:00
Fedor Indutny
05f59f3db1 Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
Fedor Indutny
f98c3cba8c Preliminary support for better performance testing 2021-03-19 16:57:36 -04:00
Fedor Indutny
fd8339e2ff Fix for UnregisteredUserError handling when fetching UUIDs 2021-03-19 16:57:36 -04:00
Fedor Indutny
529dd1a3cc Show download button for pending Link Preview images 2021-03-19 16:57:36 -04:00
Scott Nonnenberg
98c9992705 Fix out-of-order message changes; remove isGroupV2, and double-update 2021-03-19 16:57:36 -04:00
Evan Hahn
2d051e2390 Check for conflicts with group IDs 2021-03-19 16:57:35 -04:00
Fedor Indutny
3a94d2c75e Generate blurHash for outgoing link previews 2021-03-19 16:57:35 -04:00
Fedor Indutny
b93164a8c0 Reduce size of asar file and unpacked asar folder 2021-03-19 16:57:35 -04:00
Fedor Indutny
59d1159c06 Set attachmentDownloadQueue = undefined on empty 2021-03-19 16:57:35 -04:00
Josh Perez
62e04a1bbd Fix for unread syncs and ooo reactions 2021-03-19 16:57:35 -04:00
Evan Hahn
e09fb6cce4 Improve types in ConversationView#showConversationDetails 2021-03-19 16:57:35 -04:00
Fedor Indutny
021b54cb75 Fix sqlite3 threadpool exhaustion with db.serialize() on startup 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
246ca86319 Chat Session Refreshed: Include schemaVersion to prevent later upgrade 2021-03-19 16:57:35 -04:00
Evan Hahn
746e6781ae Fix styling for left pane: muted conversations and message requests 2021-03-19 16:57:35 -04:00
Josh Perez
d5f2492ce5 Fine tune the conversation load experience 2021-03-19 16:57:35 -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
Josh Perez
58bdf36254 Use classical rotation scheme for log rotation 2021-03-19 16:57:35 -04:00
Evan Hahn
45dbe4d145 In left pane and "add group member", sort E164-only contacts to the bottom 2021-03-19 16:57:35 -04:00
Evan Hahn
f7d4f84736 Enable New Group settings for everyone; remove desktop.gv2Admin feature flag 2021-03-19 16:57:35 -04:00
Evan Hahn
b81a52bbdd New Group administration: Add users 2021-03-19 16:57:35 -04:00
Fedor Indutny
11e9b971f0 Provide third HKDF parameter putRemoteAttestation 2021-03-19 16:57:35 -04:00
Fedor Indutny
8c9e556a22 Don't use useMemo() for AudioContext/Audio/Cache
`useMemo()` doesn't guarantee that the value won't be recomputed during
re-renders. Unfortunately, every time `AudioContext` is instantiated -
there is an audible click. This click happens during the change between
conversations and is very annoying.

Move both `AudioContext` instance to the
GlobalAudioContext's top-level declarations, and `Audio`/`WaveformCache`
to `useRef()`s.
2021-03-19 16:57:35 -04:00
Josh Perez
0bd3c78187 Do not batch single saveMessage calls after start-up 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
2cd29e1b63 In Redux action, log error on failure to create group 2021-03-19 16:57:35 -04:00
Josh Perez
1622fdfa4e Improve conversation initial load times 2021-03-19 16:57:35 -04:00
Josh Perez
d85a43fe93 Replace bunyan with pino 2021-03-19 16:57:35 -04:00
Evan Hahn
b0bee86fd3 Error if encrypted group title is too long 2021-03-19 16:57:35 -04:00
Josh Perez
f07da67c60 Toggle between db in renderer and in main 2021-03-19 16:57:35 -04:00
Fedor Indutny
12d7f24d0f New UI for audio playback and global audio player
Introduce new UI and behavior for playing audio attachments in
conversations. Previously, playback stopped unexpectedly during window
resizes and scrolling through the messages due to the row height
recomputation in `react-virtualized`.

With this commit we introduce `<GlobalAudioContext/>` instance that
wraps whole conversation and provides an `<audio/>` element that
doesn't get re-rendered (or destroyed) whenever `react-virtualized`
recomputes messages. The audio players (with a freshly designed UI) now
share this global `<audio/>` instance and manage access to it using
`audioPlayer.owner` state from the redux.

New UI computes on the fly, caches, and displays waveforms for each
audio attachment. Storybook had to be slightly modified to accomodate
testing of Android bubbles by introducing the new knob for
`authorColor`.
2021-03-19 16:57:35 -04:00
Josh Perez
1ca4960924 Changes display of your own name to "You" 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
Josh Perez
468d491d34 Optimizations to the performance improvement changes 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
ecc04d36de Disallow group names longer than 32 extended graphemes 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
Scott Nonnenberg
1ad01c7d36 Fix 'you created group' message pinned to bottom 2021-03-19 16:57:35 -04:00
Josh Perez
c313514f34 Auto healing unreferenced quotes 2021-03-19 16:57:35 -04:00
Josh Perez
3cc6c5f5ad Fix for missing replacement text in bodyRanges 2021-03-19 16:57:35 -04:00
Evan Hahn
dab5386207 Update group limits error message 2021-03-19 16:57:35 -04:00
Josh Perez
230604b451 Fix for storage service profileSharing setting 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
c73e35b1b6 Support for translating Desktop sessions to libsignal-client sessions 2021-03-19 16:57:35 -04:00
Josh Perez
44dfd28017 Fix message retry and search results with mentions 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
9e2411ce30 Remove getIsConversationEmptySelector in favor of messageCount 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
c9ffb7c014 Move SecretSessionCipher to TypeScript 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
7e629edd21 Move SignalProtocolStore to TypeScript 2021-03-19 16:53:52 -04:00
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Fedor Indutny
18fb2b806e Remove notification on reaction remove/change 2021-03-19 16:53:51 -04:00
Fedor Indutny
c4dc3f3bcb Make mention blot non-contenteditable 2021-03-19 16:53:51 -04:00
Evan Hahn
99bcad0bd9 Use missingCaseError in <CallingPipRemoteVideo> 2021-03-19 16:53:51 -04:00
Evan Hahn
8c951602b7 Add conversation header button hover states 2021-03-19 16:53:51 -04:00
Fedor Indutny
a2a0d56270 Ensure a theme setting value is saved on first startup 2021-03-19 16:53:51 -04:00
Josh Perez
12bba24dbd Improvements to Group Settings screen 2021-03-19 16:53:51 -04:00
Evan Hahn
dfa5005e7d Update conversation header design 2021-03-19 16:53:51 -04:00
Evan Hahn
d7d70da315 Fix typo in buildGroupProto error message 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
d0e3a2ce29 background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
2aa2aca9f2 A few bug fixes 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
254cddc514 Move getPlaceholder to component that needs it 2021-03-19 16:53:51 -04:00
Jack Lloyd
c33fea35dc Fingerprint using SignalClient library 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
Evan Hahn
8ee3bd9687 Create <Button> component and use it in <GroupV2JoinDialog> 2021-03-19 16:53:51 -04:00
Evan Hahn
c4551ca7ca Revoke object URLs in two error cases 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
1ee47735d9 Add 'chat session refreshed' to timeline for every error 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
733c86ee8e GroupV2: Log from/to revision when applying full group state 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25 Automatic session reset 2021-03-19 16:53:51 -04:00
Evan Hahn
fe187226bb Upgrade protobufjs to 6.10.2 2021-03-19 16:53:51 -04:00
Evan Hahn
6bbcf86772 Shorten searchConversations SQL query 2021-03-19 16:53:51 -04:00
Evan Hahn
eb203ba929 Disable search keyboard shortcuts when main header isn't shown 2021-03-19 16:53:51 -04:00
Evan Hahn
515b713bfd Mark discoveredUnregisteredAt as optional 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
b35f0f0d5c Debug Logs: Log response body when we fail to upload 2021-02-22 14:01:40 -08:00
Evan Hahn
3306c82992 Fix "URI malformed" crashes on Windows 2021-02-22 14:01:40 -08:00
Scott Nonnenberg
220d906422 Update google-libphonenumber to v3.2.17 2021-02-16 12:14:54 -08:00
Josh Perez
022a381397
onChangeTheme: Guard against uninitialized redux 2021-02-12 11:45:22 -08:00
Scott Nonnenberg
73d62a98e6 Fix composer reference in Ctrl-T shortcut handling 2021-02-12 10:38:58 -08:00
Scott Nonnenberg
bc0f4387fe Backwards compatibility updates for libsignal-client 2021-02-12 10:38:49 -08:00
Josh Perez
34285054f6
Manual download of attachments with no blurHash 2021-02-11 17:50:11 -08:00
Evan Hahn
4519aa4abf Allow PSD uploads over 6MB
You can't currently upload PSD files over 6MB. This is because its
mimetype is `image/vnd.adobe.photoshop`. We think this is an image, and
non-GIF images have a limit of 6MB.

To fix this, we could do one of two things:

1. Add a special case for PSD files
2. Increase the size limit for unsupported image types such as this

I went with the second option.

Tested this by:

- adding automated tests
- uploading a ~9 MB PSD file
- uploading a ~1 MB PNG
- uploading a ~27 MB PNG (which worked because it's converted to a smaller JPEG)
- uploading a ~50 MB text file
- trying to upload a ~500 MB text file (which failed, as expected)

Addresses [DESKTOP-1168][].

[DESKTOP-1168]: https://signalmessenger.atlassian.net/browse/DESKTOP-1168
2021-02-10 14:47:55 -08:00
Evan Hahn
92e5ccd764 When initializing Redux, add 2 missing properties to conversations slice 2021-02-10 14:47:55 -08:00
Scott Nonnenberg
9858ae0642 Honor messageKeysLimit, remove batching for session saves 2021-02-10 14:47:55 -08:00
Scott Nonnenberg
80871270c6 Handle group data from log endpoint with no groupChange 2021-02-10 14:47:55 -08:00
Evan Hahn
24f2363ebe Upgrade Sinon to latest version, v9.2.4 2021-02-10 14:47:55 -08:00
Scott Nonnenberg
e10ae03bb7
Create group link previews; don't open Signal links in browser first; allow ephemeral download of previously-error'd pack 2021-02-10 16:39:26 -06:00
Scott Nonnenberg
2957735a86
getMembersCount: Return undefined when conversation has no members 2021-02-09 18:00:16 -06:00
Scott Nonnenberg
e863aae0bf
Specify public key type in updatesPublicKey 2021-02-05 11:34:52 -06:00
Scott Nonnenberg
e8b6f15ff5 Remove unused lint-deps exception 2021-02-04 14:59:13 -08:00
Zachary DeRose
819554f6b3
Adjust MIMEType Predicate Signatures (#4832) 2021-02-04 14:46:30 -08:00
007
5fad43fcfb
fix: allow hyphen on search term (#4731) 2021-02-04 14:41:42 -08:00
Jacob Pyke
d93e66813d
Updated emoji completion to allow capital letters
Signed-off-by: JPyke3 <pyke.jacob1@gmail.com>
2021-02-04 14:40:26 -08:00
007
062a1f7dd9
Fix message input emoji focus close (#4727) 2021-02-04 14:37:47 -08:00
david yang
2501584db6
Add keyboard shortcut to match other MacOS Chat Apps (#4719)
MacOS Messages and WhatsApp (amongst other messaging apps) use this Cmd + Shift + [/] to switch between convos.  Would be great to have that in Signal as well.
2021-02-04 14:36:39 -08:00
Idan Moral
cd2c6351fc
Fixed a comment typo in Linkify.tsx (#4825) 2021-02-04 14:30:21 -08:00
Scott Nonnenberg
2f90d6aca9
Manually manage full-text search table 2021-02-04 12:46:55 -08:00
Jim Gustafson
245f8c665d
Update to RingRTC v2.9.2 2021-02-04 11:54:18 -08:00
Evan Hahn
bc37b5c907
Add an assertion when updating conversations; update cleanData 2021-02-04 11:54:03 -08:00
Evan Hahn
73a304faba
Add aria-label to incoming call bar buttons 2021-02-04 11:51:40 -08:00
Scott Nonnenberg
21611266e5
Cache: Store sourceUuid for message rehydration 2021-02-04 11:43:10 -08:00
Scott Nonnenberg
089e2864b3
Reduce unnecessary or overly verbose logging 2021-02-04 11:39:07 -08:00
Evan Hahn
38193e6591
Fix comment typo 2021-02-03 10:45:35 -06:00
Evan Hahn
8f1bb6f087
Don't render links (or link previews) for blocked or unapproved conversations 2021-02-02 11:09:53 -06:00
Josh Perez
267ae80442
UI fixes for conversation details screen 2021-02-01 14:57:42 -08:00
Evan Hahn
ddebbf8121
Hide title bar on macOS 2021-02-01 12:01:25 -08: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
Josh Perez
c0510b08a5
Introduce conversation details screen for New Groups
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2021-01-29 13:19:24 -08:00
Evan Hahn
1268945840
Fix typing bubble in group chats 2021-01-27 19:41:41 -08:00
Josh Perez
1b38db2d79
Fixes rendering of about bio 2021-01-27 19:18:50 -05:00
Scott Nonnenberg
12c44d40a8
makeLookup: Allow for key of zero 2021-01-27 14:39:45 -08:00
Jack Lloyd
a769402c0c
Use the libsignal-client for curve operations 2021-01-27 14:39:09 -08:00
Evan Hahn
1da724edf2
Fix missing avatars in groups 2021-01-27 13:15:43 -08:00
Evan Hahn
a8787e7c9e
Convert logging infrastructure to TypeScript 2021-01-27 13:13:33 -08:00
Evan Hahn
10ace53845
Remove unnecessary query param for /v1/certificate/delivery endpoint 2021-01-27 11:10:00 -06:00
Evan Hahn
d50b02cc35
Remove implicit any from Redux store creation 2021-01-26 15:12:23 -08:00
Josh Perez
258bd55dd2 Show about info from contact profiles 2021-01-25 18:29:01 -08:00
Evan Hahn
c8b551edab Upgrade to Electron 11 2021-01-25 18:29:01 -08:00
Evan Hahn
f404904a49 Convert dock_icon.js to TypeScript 2021-01-25 18:29:01 -08:00
Evan Hahn
932e44e3bf Don't let quote thumbnails get taller than the quote itself 2021-01-25 18:29:01 -08:00
Evan Hahn
ca669a2638 Update Sharp to the latest version, v0.27.0 2021-01-25 18:29:01 -08:00
Evan Hahn
9f6e9ba47d Add some types to window and window.Signal 2021-01-25 18:29:00 -08:00
Josh Perez
bba50c8427 Log app startup time 2021-01-25 18:29:00 -08:00
Evan Hahn
8a72607fa7 Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
Evan Hahn
c85c073669 Update Bunyan to the latest version, v1.8.15 2021-01-25 18:29:00 -08:00
Evan Hahn
7884f4033e Patch over slow debug log rendering 2021-01-25 18:29:00 -08:00
Scott Nonnenberg
d1355d5874 Show 'you were removed from group' if dropped during migration 2021-01-25 18:29:00 -08:00
Evan Hahn
fd7b18e382 Properly handle sending videos which cannot be played locally 2021-01-25 18:29:00 -08:00
Evan Hahn
ffc5e9ef9b Remove obsolete <Message> story 2021-01-25 18:29:00 -08:00
Evan Hahn
904cb24cc4 Fix a typo in comment 2021-01-25 18:28:59 -08:00
Evan Hahn
b281420a40 Group calling: add speaker view 2021-01-25 18:28:59 -08:00
Evan Hahn
fbfcdbf84e Group calling: add overflow area 2021-01-25 18:28:59 -08:00
Evan Hahn
8e1391c70c Share group calling frame buffers to reduce memory usage 2021-01-25 18:28:59 -08:00
Evan Hahn
4c40d861cf Update link preview styles to better match designs 2021-01-25 18:28:59 -08:00
Evan Hahn
12dbd38cb9 Clean up migrateColor utility 2021-01-25 18:28:59 -08:00
Evan Hahn
8ccf402497 Use consistent User-Agent when uploading debug logs 2021-01-25 18:28:59 -08:00
Evan Hahn
d0146a1613 Continue to show participants even when the blocked dialog is up 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
Josh Perez
2529e208c1 Move confirmation_dialog_view to ts and React
* Moves confirmation_dialog_view to ts and React

* showConfirmationDialog API
2021-01-25 18:28:58 -08:00
Evan Hahn
031a1fcc3d Remove two unused type definitions 2021-01-25 18:28:58 -08:00
Evan Hahn
1b5e229f95 Simplify stubs in Quill tests 2021-01-25 18:28:58 -08:00
Scott Nonnenberg
272e6cc614 Group V2 invite links: in-conversation messages 2021-01-25 18:28:58 -08:00
Evan Hahn
8e7379a591 Move getDefaultConversation into a shared test folder 2021-01-25 18:28:58 -08:00
Evan Hahn
dd0ea6b3fe Upgrade TypeScript to the latest version, v4.1.3 2021-01-25 18:28:57 -08:00
Ehren Kret
38ab92da5d Keep signed prekeys for one month
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2021-01-25 18:28:57 -08:00
Evan Hahn
8144d758ae Hide direct call notification when window is active 2021-01-25 18:28:57 -08:00
Evan Hahn
8ace4b6321 Improve window activity detection, improving notification delivery 2021-01-25 18:28:57 -08:00
Scott Nonnenberg
be9721c72d
Don't change left pane preview or order when someone leaves group 2021-01-20 11:31:44 -06:00
Scott Nonnenberg
9f81b4157b Also use sent_at whenever we query database with received_at 2021-01-19 17:35:11 -08:00
Scott Nonnenberg
4eb49ff304 Fix a few issues with linking a new Desktop instance 2021-01-19 17:35:07 -08:00
Scott Nonnenberg
8116a8561d
Show progress dialog during delete 2021-01-12 18:42:15 -06:00
Evan Hahn
8c25ffd6f5 Link previews: show full size image less often 2021-01-11 14:23:09 -08:00
Scott Nonnenberg
37aa3146bb Be resilient to missing data in MessageReceiver constructor 2021-01-11 14:23:09 -08:00
Scott Nonnenberg
bc57a31e99 MessageReceiver: Envelope id is always locally generated 2021-01-11 14:23:09 -08:00
Scott Nonnenberg
3a726ad311
Adjust timeouts for better performance 2021-01-11 13:59:46 -08:00
Evan Hahn
172598b354
Fix link previews for YouTube Music 2021-01-11 13:43:44 -08:00
Evan Hahn
0a35489696
Fix layout of "this person is in your contacts" tooltip 2021-01-11 13:43:21 -08:00
Evan Hahn
dc918aea1d
Check leaks in Mocha 2021-01-11 12:17:09 -08:00
Josh Perez
7543d8b60d
Ensures emoji index does not exceed bounds on results change 2021-01-07 13:39:17 -08:00
Evan Hahn
55091edefa Avoid unnecessary re-render on CHECK_NETWORK_STATUS 2020-12-17 12:12:52 -05:00
Evan Hahn
eff2318157 Minor: mark reducer arguments as Readonly 2020-12-17 12:12:52 -05:00
Evan Hahn
0c99604585 Minor: use clearTimeout instead of clearInterval in <Message> 2020-12-17 12:12:52 -05:00
Evan Hahn
116ff74be8 Update license tests in preparation for new year 2020-12-17 12:12:52 -05:00
Evan Hahn
1225d45ade Incremental improvements to header 2020-12-17 12:12:52 -05:00
Evan Hahn
7af68ff74d Minor: remove unused exports from calling service 2020-12-17 12:12:52 -05:00
Scott Nonnenberg
25f64a5140
Emoji: Search on short name first, eliminate short_names, proper sort 2020-12-14 10:15:55 -06:00
Evan Hahn
c87ffcd2e9
Call lobby: render local preview at camera's aspect ratio 2020-12-11 16:44:07 -08:00
Scott Nonnenberg
0506b79f6b
Quotes: Use authorId when navigating to original message 2020-12-11 12:06:04 -06:00
Josh Perez
016fc62b8b
When group call is empty you are now full screen 2020-12-10 10:40:34 -08:00
Evan Hahn
a237946ba0
Disable camera when quickly toggling the call lobby 2020-12-10 10:39:39 -08:00
Evan Hahn
db0ebc5779
Update group membership for a group call when it changes 2020-12-09 15:21:34 -08:00
Scott Nonnenberg
3f58a9b762
Clean up UUID-handling to prepare for future 2020-12-09 17:26:37 -05:00
Scott Nonnenberg
5369950c1d
Don't promote archived sessions, more logging on error 2020-12-09 14:05:11 -08:00
Evan Hahn
1098e59f87
Handle group calling event sync messages 2020-12-09 16:04:34 -06:00
Evan Hahn
a142cb522e
Send group call events to linked devices 2020-12-09 16:02:50 -06:00
Evan Hahn
496bdec35d
Fix duplicate timeline items for group call events 2020-12-09 15:57:34 -05:00
Josh Perez
e8e43a53b2
Fixes lint and TS warning 2020-12-08 19:48:02 -05:00
Josh Perez
456c51308f
Group Calling: You is in this call 2020-12-08 18:35:21 -05:00
Evan Hahn
159e2eae55
Fix lint warning in Conversation model 2020-12-08 17:29:13 -05:00
Evan Hahn
1d8c7a368e
When joining an empty group call, the button should say "Start Call" 2020-12-08 17:28:44 -05:00
Josh Perez
5b0e267fb2
Revs up the desktop.storageWrite2 feature flag 2020-12-08 16:16:40 -05:00
Evan Hahn
4aaf08ba49
Minor: fix year in license comment 2020-12-08 15:02:32 -05: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
Evan Hahn
a2f285d243
Put group calling behind a remote feature flag 2020-12-07 14:35:14 -06:00
Evan Hahn
23fed9ce63
Group calling SFU URL should be configurable 2020-12-07 13:40:11 -06:00
Evan Hahn
ec35bdc3e5
Don't peek group calls if feature flag is disabled 2020-12-07 14:19:59 -05:00
Evan Hahn
a9367f48f1
Dark theme for calling device selection 2020-12-04 15:03:01 -08:00
Evan Hahn
31c2fe56f4
yarn test-electron: automatically pick up test files 2020-12-04 13:54:46 -08:00
Scott Nonnenberg
6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing 2020-12-04 14:41:40 -06:00
Scott Nonnenberg
56ae4a41eb
Emoji completion: reverse results to show higher results at the top 2020-12-04 13:27:51 -06:00
Evan Hahn
6af78be51a
Fix logging when updating audio output device 2020-12-04 11:10:33 -08:00
Evan Hahn
f65af33e6a
Remove any from GroupCallRemoteParticipant stories 2020-12-04 09:30:46 -08:00
Scott Nonnenberg
df4e7c1bd4
GroupV1Migration: Pass areWeInvited value, don't set to always true 2020-12-03 14:39:41 -06:00
Evan Hahn
511ad14137
Fix mutation in CallingParticipantList component 2020-12-03 09:24:44 -08:00
Scott Nonnenberg
a4d0c0dfab
MessageReceiver: still queue message, even if respond(200) fails 2020-12-03 10:04:50 -06:00
Scott Nonnenberg
673d07e176
GroupV1MigrationDialog: sort member list before display 2020-12-03 10:03:21 -06:00
Scott Nonnenberg
845532c9b7
MessageReceiver: Wait for derived GV1 data 2020-12-02 14:31:42 -08: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
d1866a0e5d
Group calling: tell RingRTC about our rendered resolutions for perf 2020-12-01 17:52:01 -08:00
Evan Hahn
b30b83ed57
Send group call update messages when joining/leaving a call 2020-12-01 17:49:08 -08:00
Josh Perez
81cc8a1211
Group Calling: blocking participants
Co-authored-by: Evan Hahn <evanhahn@signal.org>
2020-12-01 19:30:25 -06:00
Evan Hahn
f3f2cb2b5e
Show active speaker in group calling PiP 2020-12-01 15:52:09 -08:00
Scott Nonnenberg
b3c161f484
Migration: Use pendingMember roles, better 'you were invited' 2020-12-01 15:45:39 -08:00
Evan Hahn
bb5036364e
Prevent calling PiP from going off-screen 2020-12-01 11:21:47 -08:00
Evan Hahn
688938b5a1
Don't send messages to blocked group members 2020-12-01 12:04:14 -05:00
Evan Hahn
c7290309d3
Minor: remove a typecast from <CallingPip> 2020-12-01 11:57:46 -05:00
Evan Hahn
4c78a6c57f
Show toast when group call is reconnecting 2020-12-01 11:46:44 -05:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Evan Hahn
d9e027a417 Minor: use enums instead of numbers in <CallScreen> stories 2020-11-30 13:54:12 -08:00
Evan Hahn
b2087cb8a2 Minor: rename a <CallingHeader> prop for clarity 2020-11-30 13:54:10 -08:00
Evan Hahn
abc21c8f45
Fix call header title for direct calls 2020-11-23 16:37:39 -05:00
Josh Perez
c54df8be87 Fixes rebase/lint 2020-11-23 15:00:40 -05:00
Evan Hahn
7b6ad345ae Group calling: disable local camera when call disconnects 2020-11-23 14:49:32 -05:00
Josh Perez
34574583b6 Group calling: fix participant hover state 2020-11-23 14:49:32 -05:00
Evan Hahn
daef1feae8 Add list of participants to the lobby, and add basic blocking for max participants 2020-11-23 14:49:32 -05:00
Josh Perez
f8b4862ed5 Participant list improvements 2020-11-23 14:49:32 -05:00
Josh Perez
7ca063a274 Scrollbar styles for participant list 2020-11-23 14:49:32 -05:00
Evan Hahn
6d53cb1740 Group calling: Peek into a group call 2020-11-23 14:49:32 -05:00
Josh Perez
8ff0ca9593 Force theming on tooltips for calling 2020-11-23 14:49:31 -05:00
Josh Perez
6a6f8e28ce Group Calling: show participant name on hover 2020-11-23 14:49:31 -05:00
Josh Perez
5cc7c9a66a Group Calling: Improve mute state styling 2020-11-23 14:49:31 -05:00
Josh Perez
c6eafbb8d5 Fix tooltip bugs 2020-11-23 14:49:31 -05:00
Evan Hahn
05205c77cf In conversation header, only show video button for group calls 2020-11-23 14:49:31 -05:00
Evan Hahn
94178717c9 Group call video rendering performance improvements 2020-11-23 14:49:31 -05:00
Evan Hahn
b366967ca5 Upgrade to RingRTC v2.8.2 RC.6 2020-11-23 14:48:12 -05:00
Scott Nonnenberg
4bf5a24efb Migration: Ensure that groupId lookup is kept up to date 2020-11-23 14:48:12 -05:00
Scott Nonnenberg
2c69f2c367 Support for GV1 -> GV2 migration 2020-11-23 14:48:12 -05:00
Vladimir Skuratovich
a0baa3e03f Notify RingRTC of Failed HTTP requests 2020-11-23 14:45:44 -05:00
Evan Hahn
b44cabe6f9 Calling: mirror local video in PiP and lobby 2020-11-23 14:45:44 -05:00
Evan Hahn
37a4ec9190 Increase timeout in license comments test\\\ 2020-11-23 14:45:44 -05:00
Scott Nonnenberg
26884432a2 Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax 2020-11-23 14:45:44 -05:00
Evan Hahn
5758ed44ac Fix TypeScript error in <CallingPipRemoteVideo> 2020-11-23 14:45:44 -05:00
Josh Perez
1f0c091e13 Group calling enhancements 2020-11-23 14:45:44 -05:00
Evan Hahn
72e4ec95ce Minor: fix typo in WebAPI error message 2020-11-23 14:45:44 -05:00
Evan Hahn
1e4b6df5f8 Add group call update to DataMessage 2020-11-23 14:45:44 -05:00
Evan Hahn
c6e4c1d1a9 Add audio mute indicator for local preview and group remote participants 2020-11-23 14:45:44 -05:00
Evan Hahn
022c4bd0f4 Initial group calling support 2020-11-23 14:45:44 -05:00
Vin Howe
e398520db0 Fix MIME check for JPEG in lightbox copy handler (#4643)
* Fix MIME check for JPEG in lightbox copy handler

* Handle both image/jpeg and non-standard image/jpg
2020-11-23 14:44:19 -05:00
Chris Svenningsen
24b70e6edd
CompositionInput: Proper RTL support 2020-11-20 16:03:16 -08:00
Sidney Keese
4d09b71972
Composition: Only try to convert html from text/signal 2020-11-19 09:38:25 -08:00
Sidney Keese
3bc68b20ea
Allow link-previews to trigger without needing a space
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-18 11:25:21 -06:00
Scott Nonnenberg
3ee830ae63
Prevent send and show toast for invalid conversations 2020-11-16 15:34:41 -06:00
Sidney Keese
34be0744d2
Trim the whole of a message's text
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-13 11:54:11 -08:00
Evan Hahn
814b9874d1
Add OS to User-Agent 2020-11-12 15:29:54 -08:00
Evan Hahn
20a0a78ef5
Remove AGPL headers from GitHub template files 2020-11-12 14:13:12 -08:00
Scott Nonnenberg
2977c0ca3d
Message Requests: Show blurhash for pending stickers 2020-11-12 16:22:40 -05:00
Scott Nonnenberg
0c6f4248f3
conversation.applyMessageRequestResponse: Always save at the end 2020-11-12 14:03:07 -06:00
Evan Hahn
947e9c366c
Improve missingCaseError error message 2020-11-12 10:09:39 -08:00
Scott Nonnenberg
7d4d85a755
Reactions: Don't send null 'remove' field 2020-11-11 21:03:56 -06:00
Sidney Keese
7af2284c6b
Composition area: Only paste HTML that originated in Signal
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-11 17:01:45 -08:00
Chris Svenningsen
98da8746e8
Trim trailing newlines from outgoing messages 2020-11-11 14:56:20 -08:00
Chris Svenningsen
fef8c5b2f1
Ensure emoji completion always takes effect 2020-11-11 14:54:23 -08:00
Jim Gustafson
ff0794e08b
Update to RingRTC v2.8.1 2020-11-11 15:10:41 -06:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar 2020-11-11 09:36:05 -08:00
Scott Nonnenberg
cd599f92c8
background/connect: Prevent concurrent calls to connect 2020-11-11 10:24:29 -06:00
Scott Nonnenberg
1d1fccd96f
message.setToExpire: Log start timestamp, log before save 2020-11-11 10:21:06 -06:00
Sidney Keese
5c810c65cc
Fix mention blot to enable native keyboard navigation
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-10 09:51:24 -08:00
Scott Nonnenberg
a5cfebe87a
Conversation.setMarkedUnread: Only captureChange if value changed 2020-11-10 09:53:34 -06:00
Scott Nonnenberg
4ef4aebf85
GroupV2: Add 'you were invited' to timeline after link 2020-11-10 09:15:37 -06:00
Evan Hahn
957a1e0d07
Calling lobby: show your blurred avatar instead of other person's 2020-11-09 10:56:20 -08:00
Sidney Keese
4d95f83007
Clean up transitional pinned chats 2020-11-09 12:30:05 -06:00
Sidney Keese
bba9df3149
Ensure incoming pinned conversations are not archived
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-11-09 09:32:59 -06:00
Sidney Keese
91beef7797
Improve emoji blot and override clipboard behavior 2020-11-06 12:11:18 -08:00
Scott Nonnenberg
d4d9688447
Ensure authorUuid is set in outgoing quotes 2020-11-06 13:06:21 -06:00
Evan Hahn
3468de255d
Redux state: Allow multiple calls to be stored 2020-11-06 09:36:37 -08:00
Chris Svenningsen
fe298444fb
Bring up picker on backspace into mention 2020-11-05 13:18:42 -08:00
Chris Svenningsen
4def45b86a
Remove fuzzy @mention search 2020-11-04 14:04:48 -08:00
Evan Hahn
ca83281986
Add getOwn utility function 2020-11-04 11:56:49 -08:00
Evan Hahn
66da943f27
Call screen footer styling improvements 2020-11-04 11:56:03 -08:00
Evan Hahn
7e23bb6246 Use thunks for calling action creators 2020-11-04 13:03:14 -06:00
Evan Hahn
618c0fce1e test-electron: wait to run tests until protos are ready 2020-11-04 13:03:14 -06:00
Chris Svenningsen
158ed4e455 Fix several composer bugs 2020-11-04 13:03:13 -06:00
Evan Hahn
e9642ae66f Test calling's toggle actions, run tests in Electron 2020-11-04 13:03:13 -06:00
Chris Svenningsen
53c89aa40f Send @mentions 2020-11-04 13:03:13 -06:00
Chris Svenningsen
ff18063f89 Ensure emoji picker can insert without composition box focus 2020-11-04 13:03:13 -06:00
Evan Hahn
b7a1ddf628 Remove runtime type checks from calling service 2020-11-04 13:03:13 -06:00
Sidney Keese
cfc3c123bc Update unread count when marking as unread
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
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
8c3da11996 Convert emoji actions to use redux-thunk 2020-11-04 13:03:13 -06:00
Evan Hahn
decc93532b Hide call buttons when on call 2020-11-04 13:03:13 -06:00
Chris Svenningsen
c408072576 Mark conversation as unread
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:03:10 -06:00
Evan Hahn
184f7e1bf3 Remove ESLint no-continue rule 2020-11-04 13:00:41 -06:00
Chris Svenningsen
6a026c6439 Fix emoji completion; don't show when typing times
* Do not pop picker in timestamps
* Fix timestamp triggering emoji picker

Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:00:41 -06:00
Evan Hahn
cb9a7f79d1 Rewrite Message model tests in TypeScript 2020-11-04 13:00:41 -06:00
Evan Hahn
8073ccd32c Rewrite <CallScreen> component with hooks 2020-11-04 13:00:41 -06:00
Evan Hahn
05a91a100f Remove some any casts for "smart" components 2020-11-04 13:00:41 -06:00
Evan Hahn
b7cd0b1bf7 Tidy up link previews types 2020-11-04 13:00:40 -06:00
Evan Hahn
dd8a2435ea Add useRef() React Hook to lint rules 2020-11-04 13:00:40 -06:00
Evan Hahn
8160b3b160 Use combineReducers as Redux recommends, removing an any 2020-11-04 13:00:40 -06:00
Scott Nonnenberg
8fd4ff95db CompositionInput: Submit trimmed text instead of not submitting 2020-11-04 13:00:40 -06:00
Chris Svenningsen
13333e0b0d Fix enter/ctrl+enter in expanded composer
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:00:40 -06:00
Sidney Keese
e8f6480c57 Focus input after choosing to reply to message 2020-11-04 13:00:40 -06:00
Josh Perez
928bfcc221 Recent Media list: Round file sizes 2020-11-04 13:00:40 -06:00
Josh Perez
de45db255c Improve context menus 2020-11-04 13:00:40 -06:00
Sidney Keese
fbf93374c1 Replace Draft with Quill for composition area
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:00:40 -06:00
Evan Hahn
544995cc21 Clean up <LeftPane /> tests 2020-11-04 13:00:40 -06:00
Josh Perez
7d29cb5edf Calling participants list 2020-11-04 13:00:40 -06:00
Evan Hahn
2491486aff Minor: remove WhatIsThis type from storage.onready 2020-11-04 13:00:40 -06:00
Evan Hahn
5275915072 Minor: fix calling button <Tooltip> warning 2020-11-04 13:00:40 -06:00
Evan Hahn
48e8cd0138 Remove unused callState prop from <CallingLobby> 2020-11-04 13:00:40 -06:00
Scott Nonnenberg
18c71b291c
Fix left pane draft display and GV2 typing indicators 2020-11-03 16:16:20 -08:00
Scott Nonnenberg
ab89c6c704 Lightbox.tsx: Fix formatting 2020-11-02 17:12:27 -08:00
Vin Howe
526ab4fe29
Add menu option for copying supported images in lightbox (#4614) 2020-11-02 16:47:46 -08:00
nsunderland1
2373209834
Don't enable webcam on audio call startup (#4602) 2020-11-02 16:47:18 -08:00
Evan Hahn
1d548d10ba Add timeout to a link previews test for Windows CI 2020-11-02 14:49:32 -08:00
Scott Nonnenberg
29eaa7b9a2
Cleanup: Reactions, Delete for Everyone 2020-11-02 14:49:07 -08:00
Scott Nonnenberg
e8759fc81b
Fix out-of-order applications of reaction and delete-for-everyone 2020-11-01 09:06:41 -06:00
Scott Nonnenberg
05f905fd10
A few small bugfixes 2020-10-30 10:56:03 -07:00
Scott Nonnenberg
cd9aee84f5
Always share profile on send; no profile sharing UI if no messages 2020-10-28 17:40:50 -07:00
Scott Nonnenberg
8eea20ea91
Reliability fixes for conversation formatting and message send 2020-10-28 14:54:33 -07:00
Scott Nonnenberg
fa2d300714 Show 'accept invite UI' for re-invite, calm progress spinner 2020-10-26 15:55:27 -07:00
Scott Nonnenberg
5c0fcad6b1 Properly prepare, await and hand response for sync message send 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
89d29b49a3 Conversation reducer: sort by received_at then sent_at like Backbone 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
74de4ea6f6 Capture original error stack when sending messages 2020-10-26 15:48:44 -07:00
Vladimir Skuratovich
a4c6003f34 Prefer audio device 0 if no device preference has been saved 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
04b7a29229 Modern profile sharing in 1:1 and GroupV1 groups 2020-10-26 15:48:44 -07:00
Evan Hahn
60f2422e2a Consolidate sleep usages into a tested utility function 2020-10-26 15:48:44 -07:00
Evan Hahn
c4de9436f3
Fix error thrown on message retry 2020-10-22 10:32:23 -07:00
Scott Nonnenberg
3e42a47415
GroupsV2: Use full group state if change actions incompatible 2020-10-20 17:39:13 -07:00
Josh Perez
df2fa3c7b1
updateLastMessage: Use MessageController for latest data 2020-10-20 16:26:58 -07:00
Evan Hahn
de5595514b
Ensure left pane properly handles just pinned/archived 2020-10-16 15:05:40 -07:00
Josh Perez
fb7c1e9030 Use a diff type of blur one that does not flicker 2020-10-15 19:00:36 -04:00
Chris Svenningsen
e5fae1a346 Fix shortcuts with pinned chats 2020-10-15 19:00:15 -04:00
Sidney Keese
b199d5fe58 Stop event propagation on reaction skin tone selection 2020-10-15 19:00:02 -04:00
Chris Svenningsen
fdc3476106 Fix a few pinned chat sync issues 2020-10-15 18:59:45 -04:00
Scott Nonnenberg
e8664213d3 Reactions: Don't apply to messages with errors 2020-10-15 18:58:50 -04:00
Scott Nonnenberg
ac60d5db57
Small fix to ensure spinner and error dialog show properly 2020-10-15 15:03:08 -04:00
Josh Perez
fac1f26ad2 Better logging for pin/unpin 2020-10-15 14:35:57 -04:00
Josh Perez
8446b2dc61 Calling: Match buttons in other clients 2020-10-15 14:35:51 -04:00
Chris Svenningsen
fe7008b6b1 Do not show headers in LeftPane without multiple Conversation types 2020-10-15 14:35:44 -04: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
Scott Nonnenberg
75c7c526a6
setProfileKey: Drop profileAvatar when we get new profileKey 2020-10-14 11:50:17 -05:00
Josh Perez
1507dea351
Move calling duration timer into redux state 2020-10-13 14:02:43 -07:00
Josh Perez
47cd1ddbff Fixes lint 2020-10-12 18:48:19 -04:00
Scott Nonnenberg
913dbd9e7e Errors: Associate by conversationId, properly persist to database 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
523843f30e Proper styling for View Once messages which are deleted for everyone 2020-10-12 18:10:08 -04:00
Chris Svenningsen
492bb283ee A few Delete For Everyone fixes
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:08 -04:00
Scott Nonnenberg
0122cfd22a Resilience to quick reconnects: always reprocess from cache first 2020-10-12 18:10:08 -04:00
Evan Hahn
0d83076799 Use more exact type for addCallHistory 2020-10-12 18:10:08 -04:00
Chris Svenningsen
d7f3b39fec Provide fallback if pinnedConversationIds not already set 2020-10-12 18:10:08 -04:00
Josh Perez
59a181bd30 Calling: Lobby 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
358ee4ab72 storage: Don't throw if we store undefined 2020-10-12 18:10:08 -04:00
Josh Perez
c7308b485b Tidy up the storage service logs 2020-10-12 18:10:08 -04:00
Evan Hahn
776b500142 Ensure that clicking a link does not close the conversation 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
9002b21a6b Minimize downstream effects of storage sync 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969 Disable obsolete feature flags 2020-10-12 18:10:08 -04:00
Evan Hahn
4206f1c463 Remove type cast from ConversationModel#isMe 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
33ca9c48af SafetyNumberViewer: Disable for contacts with missing data 2020-10-12 18:10:08 -04:00
Josh Perez
b879c73b86 Storage service write improvements 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece GroupsV2: Better group invite behavior 2020-10-12 18:10:08 -04:00
Evan Hahn
b9ff4f07d3 Remove unnecessary non-null assertion from Message#send 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
ada70c4895 handleDataMessage: Don't drop messages for empty GroupV1 groups 2020-10-12 18:10:08 -04:00
Chris Svenningsen
cf9764c85a Consolidate checks for v2 Groups 2020-10-12 18:10:08 -04:00
Sidney Keese
c3ddedfde1 Reactions: skin tone support 2020-10-12 18:10:08 -04:00
Chris Svenningsen
6a7d45b6fc Pinned Chats 2020-10-12 18:10:08 -04:00
Evan Hahn
6e1a83ae4e Reject HTTP URLs when loading link previews 2020-10-12 18:10:08 -04:00
Evan Hahn
c57f7f1cdb Call requests: caller 2020-10-12 18:10:08 -04:00
Evan Hahn
2637d90df0 Minor: remove two anys from <CallScreen> 2020-10-12 18:10:08 -04:00
Josh Perez
9510fd1eec Cleans up mute state after mute expires 2020-10-12 18:10:08 -04:00
Josh Perez
a581f6ea81 Calling: Picture-in-picture 2020-10-12 18:10:08 -04:00
Chris Svenningsen
7b15bddfc9 Bring back conversation.leaveGroup for GV1 scenarios 2020-10-12 18:10:08 -04:00
Josh Perez
04eb7bc995 Delete @mentions on DOE 2020-10-12 18:10:08 -04:00
Josh Perez
27759233e4 Storage Service Write: Improved conflict handling 2020-10-12 18:10:08 -04:00
Sidney Keese
866217a724 Delete For Everyone Send
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:08 -04:00