Commit graph

1322 commits

Author SHA1 Message Date
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