Commit graph

314 commits

Author SHA1 Message Date
Fedor Indutny
2b0c98f943
Handle PNI keys from ProvisionMessage 2022-03-01 15:01:21 -08:00
Evan Hahn
e4be12bced
Remove as any workaround from smart components 2022-02-25 17:59:43 -06:00
Evan Hahn
41b4cce6ec
Show local speaking indicator for group calls 2022-02-25 09:24:05 -06:00
Scott Nonnenberg
4763831d3e
background.ts: Introduce types for redux initialState 2022-02-23 12:48:40 -06:00
Fedor Indutny
3ad6ff7f05
Remove setup menu items after QR code linking 2022-02-22 17:35:34 -08:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Evan Hahn
fd81d38931
Call details screen disable call buttons if call is active 2022-02-16 10:33:52 -08:00
Evan Hahn
f5a4cd9ce8
Peek group calls when opening conversations and leaving calls 2022-02-08 13:18:51 -06:00
Evan Hahn
5ce26eb91a
Speaking indicator for group calls
Co-authored-by: Peter Thatcher <peter@signal.org>
Co-authored-by: Jim Gustafson <jim@signal.org>
Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2022-02-08 12:30:33 -06:00
Evan Hahn
45393b1ca5
Fix timeline crash when deleting the oldest visible message 2022-02-07 10:54:15 -08:00
Josh Perez
e79fb9d2e5
Fix lost focus when typing in archived message while searching 2022-02-02 09:30:39 -06:00
Josh Perez
bf45182a39
New left pane search design 2022-01-27 16:12:26 -06:00
Evan Hahn
babd61377b
Remove floating date header remote config flags 2022-01-27 13:50:01 -08:00
Evan Hahn
f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Evan Hahn
0a90380ac8
Remove "can resize left pane" flags 2022-01-12 11:35:47 -06:00
Fedor Indutny
91f1b62bc7
Detect startup after recent crashes 2022-01-11 12:02:46 -08:00
Evan Hahn
364f00f37a
Redesign device link screens 2021-12-16 16:02:22 +01:00
Josh Perez
2136c5311b
Fix default conversation color overrides 2021-12-03 18:10:03 -08:00
Josh Perez
13de35bea2
Fix video forwarding 2021-12-02 17:05:32 -08:00
Evan Hahn
6313b05da7
Add "can resize left pane" feature flags 2021-12-01 16:41:25 -06:00
Fedor Indutny
7c1ce3366d
Move StandaloneRegistration to React 2021-11-30 09:51:53 -08:00
Evan Hahn
67b17ec317
Hide "become a sustainer" button if you're already a sustainer 2021-11-30 17:29:57 +01:00
Scott Nonnenberg
563f016245
When you send a message, scroll it into view 2021-11-30 12:25:24 +01:00
Fedor Indutny
a52530262f
Revert "When you send a message, scroll it into view"
This reverts commit a3525c16ef.
2021-11-23 14:09:07 +01:00
Evan Hahn
e490d91cc4
Add badges to avatars in group dialogs 2021-11-20 09:41:21 -06:00
Scott Nonnenberg
a3525c16ef
When you send a message, scroll it into view 2021-11-19 09:19:55 -08:00
Evan Hahn
e5b40aa2ef
Show badges on group invites screen 2021-11-18 23:27:48 +01:00
Evan Hahn
c0444f66a1
Add badges to safety number change dialog 2021-11-17 15:58:34 -06:00
Evan Hahn
c63bf11a8f
Show badges in reaction viewer 2021-11-17 22:11:46 +01:00
Evan Hahn
2cbcd59609
Add badges to all conversation lists 2021-11-17 22:11:21 +01:00
Evan Hahn
4dd9232c36
Add badges to @-mentions picker 2021-11-17 19:38:52 +01:00
Evan Hahn
a466b939bc
Show user badges on message details screen 2021-11-16 09:53:41 -06:00
Evan Hahn
7d17158add
Show badges on message avatars where applicable 2021-11-15 16:53:42 -06:00
Scott Nonnenberg
a024ee4b96
Allow stage and send of video, even if we can't get screenshot 2021-11-15 13:54:33 -08:00
Evan Hahn
f4e336836f
Add user badges to typing bubbles, refactor typing logic 2021-11-15 21:01:58 +01:00
Scott Nonnenberg
cbae7f8ee9
Search for username in compose mode 2021-11-11 17:17:29 -08:00
Scott Nonnenberg
c5b5f2fe42
Handle duplicate requests to start recording a voice note 2021-11-11 15:33:35 -08:00
Fedor Indutny
910516f896
Display correct link in DialogUpdate 2021-11-11 16:46:16 -06:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Evan Hahn
d0f1b8892d
Show user badges in contact modal 2021-11-11 10:23:00 -06:00
Scott Nonnenberg
6445a01f2a
Fix broken Pending Invites screen 2021-11-10 15:01:06 -08:00
Evan Hahn
37992715cd
Remove caption editor 2021-11-09 16:25:29 -08:00
Evan Hahn
7de340a104
Show your preferred badge in the left pane and avatar popup 2021-11-08 17:29:54 +01:00
Scott Nonnenberg
5bd7eda124
Scroll to bottom of conversation on message send 2021-11-02 19:00:54 -07:00
Evan Hahn
f647c4e053
Display user badges 2021-11-02 16:01:13 -07:00
Scott Nonnenberg
3190f95fac
Usernames: Create/update/delete in profile editor 2021-11-01 12:13:35 -07:00
Evan Hahn
a9cb621eb6
Various search UI improvements 2021-11-01 11:43:02 -07:00
Fedor Indutny
63fcdbe787
Use UUIDs in group database schema 2021-10-26 15:59:08 -07:00
Evan Hahn
74fde10ff5
Prefer import type when importing types 2021-10-26 14:15:33 -05:00
Fedor Indutnyy
56031336a9 Revert "Use focus trap for CallingLobby"
This reverts commit b38b22f49d.
2021-10-25 12:06:13 -07:00
Fedor Indutny
b38b22f49d
Use focus trap for CallingLobby 2021-10-25 09:58:09 -05:00
Scott Nonnenberg
191bfee18c
Show What's New dialog in app via Help -> Go to release notes 2021-10-22 17:41:45 -07:00
Josh Perez
f31c5165d8
Open conversation details when clicking conversation header 2021-10-21 16:06:44 -05:00
Josh Perez
2e438aa876
Conversation details screen for 1:1 chats 2021-10-20 16:46:41 -07:00
Evan Hahn
35a54cdc02
Introduce a new design for the left pane 2021-10-12 16:59:08 -07:00
Josh Perez
048e1e4cd7
Move the safety number viewer into modal 2021-10-06 16:27:14 -04:00
Josh Perez
5fdfa1c632
ConversationView in React 2021-10-05 09:47:06 -07:00
Josh Perez
603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Josh Perez
1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Evan Hahn
d2ef82686d
Notification improvements 2021-09-23 13:16:09 -05:00
Josh Perez
c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Evan Hahn
eed7aff925
Remove unnecessary props from <ContactName> 2021-09-16 11:15:43 -05:00
Evan Hahn
240585ef94
Allow duplicates in reaction palette 2021-09-13 10:04:45 -07:00
Fedor Indutny
5a57e2b704
Fix action propagation to timeline items 2021-09-12 19:36:41 -07:00
Evan Hahn
bfa0bbf7da
Add "call back", "call again" buttons to timeline 2021-09-10 16:59:41 -07:00
Evan Hahn
d94f1151b1
Respect "rules of hooks" in <SmartCustomizingPreferredReactionsModal> 2021-09-10 15:50:56 -07:00
Evan Hahn
0e0982147c
Show recent emoji in the customize reaction emoji picker 2021-09-10 11:43:17 -07:00
Evan Hahn
84ac7dd2df
To fix Storybook, make <Message> take renderReactionPicker 2021-09-10 11:00:31 -07:00
Evan Hahn
e2392433e0
Preferred reactions: store raw emoji, gate on feature flag 2021-09-09 16:47:30 -07:00
Evan Hahn
4f1188e213
Save skin tone changes in reaction picker 2021-09-09 13:53:26 -07:00
Evan Hahn
f28456c160
Let users customize the preferred reaction palette 2021-09-09 09:29:01 -07:00
Evan Hahn
3e18a8a337
Don't ring large groups 2021-09-02 15:34:38 -07:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Scott Nonnenberg
dcf29078f4
ConversationView: Improve types 2021-08-30 14:32:56 -07:00
Evan Hahn
0e7f641dc1
Let users ring members when starting a group call
Co-Authored-By: Josh Perez <60019601+josh-signal@users.noreply.github.com>
2021-08-25 16:42:51 -05:00
Josh Perez
424d8785b6
Restyle relink dialog 2021-08-24 13:59:44 -07:00
Josh Perez
d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07:00
Evan Hahn
70d059beeb
Keep reaction poppers visible at all times 2021-08-20 14:36:27 -05:00
Evan Hahn
79c976668b
Receive rings for group calls 2021-08-20 09:06:15 -07:00
Josh Perez
e9308bbafb
New option for control over update downloads 2021-08-19 15:56:29 -07:00
Fedor Indutny
80c1ad6ee3
Don't mutate state in TimelineItem 2021-08-19 13:14:41 -07:00
Josh Perez
aecb11247f
Removes old feature flags 2021-08-18 18:04:38 -07:00
Evan Hahn
778c8b4220
Conversation header: fix check if anyone else is in the call 2021-08-18 17:14:30 -07:00
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Evan Hahn
763c35e546
Update call lobby UI to match new designs 2021-08-17 16:45:18 -05:00
Fedor Indutny
caf544b3a1
Fetch hasGroupLink from Redux in conversation details 2021-08-17 09:10:27 -05:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Fedor Indutny
d41e61a96b
Optimize render part 2 2021-08-11 16:06:20 -07:00
Fedor Indutny
12c78c742f
Optimize rendering 2021-08-11 09:23:21 -07:00
Scott Nonnenberg
f431f15a5e
Calling: Clear activeCall only for incoming prering/ringing calls 2021-08-10 19:16:18 -04:00
Scott Nonnenberg
f985d55d5c
Calling: Never show lobby for incoming call 2021-08-10 10:15:35 -07:00
Fedor Indutny
46b1e8d0e7
Cache onHeightChange property of message 2021-08-06 14:43:18 -07:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Evan Hahn
6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages 2021-07-27 10:42:25 -05:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Evan Hahn
1e10286210
Message details: group by send status, including viewed state 2021-07-20 14:56:50 -05:00
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Evan Hahn
831ec98418
Audio messages: move countdown under waveform 2021-07-09 13:27:16 -07:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Evan Hahn
3827f05db9
Upgrade to TypeScript v4.3.5 2021-07-07 11:37:55 -05:00
Fedor Indutny
2cd4160422
Unify audio playback under App component 2021-06-29 12:58:29 -07:00
Fedor Indutny
cd28e71bc6
Default disappearing message timeout fixes 2021-06-25 16:52:56 -07:00
Josh Perez
01eabf9ec6
Option to send photos as high quality 2021-06-25 11:08:16 -05:00
Josh Perez
94d116c621
Removes some Backbone views 2021-06-17 14:15:09 -07:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Scott Nonnenberg
1520c80013
Remove messageCollection from Conversation model 2021-06-15 17:44:14 -07:00
Josh Perez
173771d34b
New top-level React root: <App /> 2021-06-14 12:01:00 -07:00
Josh Perez
df7f702dde
Update group name colors 2021-06-07 11:50:18 -05:00
Josh Perez
53d6065c00
Selects custom color when created 2021-06-03 14:34:36 -07:00
Josh Perez
bd46e3afd6
Fixes global chat color setting 2021-06-02 14:05:09 -07:00
Evan Hahn
36c15fead4
Group name spoofing warning 2021-06-01 16:30:25 -07:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -07:00
Josh Perez
28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Fedor Indutny
d8417e562b
Do not display call buttons for SMS-only convo 2021-05-25 15:30:57 -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
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Fedor Indutny
80da8bb47b Display SMS/MMS disclaimer in empty search results 2021-05-20 17:37:17 -07:00
Fedor Indutny
7fa730531a Improve experience for contacts without signal accounts 2021-05-20 17:37:08 -07:00
Evan Hahn
a8346c490e Fix inaccurate numbers on group details screen 2021-05-20 17:37:07 -07:00
Scott Nonnenberg
efaaafa370
A few small bug fixes 2021-05-10 15:38:18 -07: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
Scott Nonnenberg
fb00464033
Fine-tuning of conversation lists (compose, forward, left pane) 2021-05-04 09:17:32 -07:00
Scott Nonnenberg
cf1eb77ed8
Message Requests: Always open to top of conversation 2021-04-30 15:59:37 -07:00
Evan Hahn
05703c2719
Blur avatars of unapproved conversations 2021-04-30 14:40:25 -05:00
Evan Hahn
1238cca538 Ensure group details screen has the latest data 2021-04-29 14:27:38 -07:00
Evan Hahn
e7ef3de6d0 Profile name spoofing dialog 2021-04-29 14:27:35 -07:00
Scott Nonnenberg
3face767aa
Group settings: on block and leave, don't delete 2021-04-28 16:27:16 -04:00
Josh Perez
d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04: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
Evan Hahn
77c306843d
Fix error on message details screen with audio messages 2021-03-24 15:06:12 -07: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
05f59f3db1 Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
Evan Hahn
e09fb6cce4 Improve types in ConversationView#showConversationDetails 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
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
Evan Hahn
9f5335b854 New Group administration: update title and avatar 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
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Josh Perez
12bba24dbd Improvements to Group Settings screen 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
eb203ba929 Disable search keyboard shortcuts when main header isn't shown 2021-03-19 16:53:51 -04:00
Josh Perez
34285054f6
Manual download of attachments with no blurHash 2021-02-11 17:50:11 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00