Commit graph

5916 commits

Author SHA1 Message Date
Evan Hahn
e81c18e84c Storybook: allow optional chaining 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
Fedor Indutny
cee8207e72 Fix hidden Dev Tools menu item in development runs 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
Evan Hahn
a2071d9fa6 Update font values per Design's recommendations 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
e3d13f2480 Fix window refresh and reloads 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
1934120e46 Disable Dev Tools in production releases
`--enable-dev-tools` will bring it back.
2021-03-19 16:53:51 -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
Jim Gustafson
5447d0ad69 Update to RingRTC v2.9.4 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
Evan Hahn
4b28fd896a Disabled <Button>s should not use cursor: pointer 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
Jack Lloyd
84dc166b63 Bump to using 0.3.0 release of the libsignal-client library
Co-authored-by: Scott Nonnenberg <scott@signal.org>
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