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