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