Commit graph

641 commits

Author SHA1 Message Date
Fedor Indutny
3702a67975
Story view receipts setting 2022-10-25 15:18:42 -07:00
Josh Perez
471a9e2e98
Show group replies icon for stories with replies 2022-10-22 02:26:16 -04:00
Fedor Indutny
e14c3241c5
Refresh stories in redux when data changes 2022-10-20 12:16:37 -07:00
Josh Perez
5f3c9a653d
Fix for number of bars for group stories sent 2022-10-19 17:34:53 -07:00
Fedor Indutny
00f82a6d39
Discriminator in username 2022-10-18 10:12:02 -07:00
Scott Nonnenberg
58f0012f14
Stories: Start expiration on receipt 2022-10-17 16:30:03 -07:00
Josh Perez
4882248041
Story viewer navigation improvements 2022-10-17 12:33:07 -04:00
Josh Perez
b2792639aa
DOE stories when they are part of deleted lists 2022-10-13 10:14:50 -06:00
Jamie Kyle
25bc16300c
Notify story creator for replies 2022-10-11 10:59:02 -07:00
Alvaro
958f13b9f2
Fixed bug that was causing story playback to not play all unread 2022-10-07 22:02:46 -04:00
Fedor Indutny
95bee1c881
Sync group stories through storage service 2022-10-07 17:19:02 -07:00
Fedor Indutny
b950480d36
Support url-only link previews in stories 2022-10-06 13:22:59 -07:00
Alvaro
458eb2ea81
Voice-note animation fixes 2022-10-03 17:43:44 -06:00
Alvaro
44db76531e
markStoryRead: More logging in unusual cases 2022-10-03 16:10:20 -07:00
Jamie Kyle
6d56f8b8aa
support icu messageformat for translations 2022-10-03 14:19:54 -07:00
Josh Perez
67c706a7ef
Ensure deleting conversation deletes story replies 2022-09-29 17:57:11 -07:00
Fedor Indutny
ffac571dd8
systemGivenName/systemFamilyName in ContactPill 2022-09-27 17:07:00 -06:00
Fedor Indutny
0ab85a6094
Fix UI in PendingInvites 2022-09-27 13:31:55 -07:00
Scott Nonnenberg
5ed5483dd7
Eliminate unknown groups and contacts from search results 2022-09-26 13:18:11 -07:00
Alvaro
22bf3ebcc0
Implemented ability to quickly add a user to a group 2022-09-26 09:24:52 -07:00
Josh Perez
94ef800e33
Autoplay the hidden stories section 2022-09-22 14:56:39 -04:00
Josh Perez
0be580e8e5
Fixes story play order 2022-09-21 20:55:23 -04:00
Josh Perez
af5a496994
Sort stories when they were read at 2022-09-21 17:54:48 -06:00
Alvaro
6cfe2a09df
Consecutive playback and per-conversation playback rate 2022-09-15 14:10:46 -06:00
Jamie Kyle
eb10aafd7c
tsc:allowUnreachableCode, eslint:no-unreachable, assert->assertDev 2022-09-15 13:17:15 -06:00
Alvaro
383a0fd17f
Added the time remaining for disappearing messages and stories 2022-09-09 11:35:00 -07:00
Fedor Indutny
55a5c51236 Provide speakerHeight to ringrtc 2022-09-07 14:17:08 -07:00
Josh Perez
9d7eaa003f
Remove group from story feature 2022-08-30 12:13:32 -07:00
Alvaro
299044f89f
Fixed joining ongoing video call by a non-admin on an announcement-only group 2022-08-26 09:02:47 -06:00
Alvaro
ca6300a86a
Added last-message's author to group conversation list in left pane 2022-08-25 09:16:37 -07:00
Josh Perez
22b05b6d11
Clear stories notification after visiting stories view 2022-08-23 13:37:48 -04:00
Josh Perez
f611256afc
First time My Stories post experience 2022-08-23 10:24:55 -07:00
Josh Perez
e9f4e28b3d
Properly mark story messages as read locally 2022-08-22 15:13:30 -07:00
Josh Perez
6f7094bc19
Allow paging through My Stories 2022-08-22 13:44:23 -04:00
Josh Perez
0fb45f045d
Handle Safety Number changes while sending a story 2022-08-19 14:05:31 -04:00
Fedor Indutny
757af2cbbe
Include ACI+Access Keys pairs with CDSI requests 2022-08-18 13:44:53 -07:00
Josh Perez
936ce91b2e
Move getUntrustedContacts out of conversation_view 2022-08-16 16:59:11 -07:00
Fedor Indutny
5a3c04d630
Additional logging for calling service 2022-08-16 16:52:09 -07:00
Fedor Indutny
00cfd92dd0
Send and receive PniSignatureMessage 2022-08-15 14:53:33 -07:00
Josh Perez
1d0b1d806a
Only accept video/mp4 for story uploads 2022-08-12 16:44:10 -07:00
Josh Perez
584b39baa8
Avoid race conditions when queueing a story for download 2022-08-11 15:26:26 -07:00
Josh Perez
ccc89545c5
Lets users send stories to groups 2022-08-10 14:37:19 -04:00
Josh Perez
35f682f4dc
Pass deletedAtTimestamp into dlist db call 2022-08-10 12:31:15 -04:00
Josh Perez
2f5dd73e58
Send stories to groups capability 2022-08-08 23:26:21 -04:00
Josh Perez
7bc6bbc668
Send story images/video 2022-08-04 12:23:24 -07:00
Josh Perez
fcf7406dd4
Adds error states to story images 2022-08-03 20:38:41 -04:00
Fedor Indutny
b47a906211
Stickers in storage service 2022-08-03 10:10:49 -07:00
Josh Perez
9eff67446f
Send text attachment stories 2022-08-02 15:31:55 -04:00
Josh Perez
c3bb3b152e
Update selectedStoryData whenever its story changes 2022-07-29 13:22:55 -07:00
Josh Perez
58aaf1d0e7
Improvements to sound on/off in story viewer 2022-07-29 15:27:02 -04:00
Josh Perez
76cff75730
Ensure we never fetch a deleted story 2022-07-29 11:12:47 -07:00
Josh Perez
473d57fb74
Delete a distribution lists members when list is deleted 2022-07-28 17:13:22 -07:00
Josh Perez
d7ec2e9d82
Adds ErrorBoundary around stories 2022-07-28 17:10:07 -07:00
Josh Perez
06476de6c9
Adds debugging information to stories 2022-07-25 11:55:44 -07:00
Josh Perez
badf9d7dda
Stories improvements 2022-07-21 18:38:27 -07:00
Josh Perez
e321e1fea8
Edit distribution lists via story settings menu 2022-07-20 20:07:09 -04:00
Scott Nonnenberg
bfc56dd175
Introduce new Profile Fetch service, with centralized queueing 2022-07-13 17:46:46 -07:00
Josh Perez
5639c1adea
DOE for stories 2022-07-13 16:09:18 -07:00
Josh Perez
9ce4b8977d
Show toast when reacting/replying to a Story 2022-07-12 09:41:41 -07:00
Fedor Indutny
a450e13a99
Fetch PNI group credentials 2022-07-08 13:46:25 -07:00
Josh Perez
3e644f45cf
Fixes story viewing behavior 2022-07-06 15:06:20 -04:00
Josh Perez
9155784d56
Sync my stories with primary device 2022-06-30 20:52:03 -04:00
Fedor Indutny
e0f479ca81
Fix sending to embedded contact 2022-06-27 17:37:05 -07:00
Fedor Indutny
6b231346d9
Fix management of selectedMessage in redux 2022-06-23 09:12:17 -07:00
Josh Perez
d970d427f8
Create text stories 2022-06-16 17:48:57 -07:00
Josh Perez
aa23c2def2
Removes Inbox Backbone view 2022-06-16 15:12:50 -04:00
Josh Perez
410bc52fd0
Moves group link management actions to redux 2022-06-13 14:42:19 -04:00
Fedor Indutny
5634601554
Use patched frameless-titlebar on Windows 2022-06-08 15:00:32 -07:00
Vladislav Gorenkin
01efed8ec3 Open first search candidate on pressing "enter" key 2022-06-06 22:05:38 -04:00
Scott Nonnenberg
d446aa9e6b
Move to uuids for untrusted conversations needing verification 2022-05-31 12:46:56 -07:00
Fedor Indutny
80c90540f6
Restore call view mode after presentation end 2022-05-25 11:03:27 -07:00
Fedor Indutny
e6223b6a11
Dynamic audio level indicator 2022-05-18 23:28:51 -04:00
Scott Nonnenberg
af2c884c9f
Timeline: Use messageChangeCounter to mark messages read less often 2022-05-11 15:41:45 -07:00
Scott Nonnenberg
69d0ed3309
Always provide isGroup/storyId to message-fetching functions 2022-05-11 15:20:47 -07:00
Scott Nonnenberg
6b4bea6330
Timeline: When scrolling far into history, discard newest messages 2022-05-10 13:19:58 -07:00
Josh Perez
85c8ff76dc
Adds playback bar to story viewer 2022-05-06 12:02:44 -07:00
Josh Perez
6d576ed901
Allow multiple reactions to stories 2022-04-28 18:06:28 -04:00
Josh Perez
d8708e4e73
Ensure that we resolve attachments before displaying them 2022-04-25 10:25:50 -07:00
Scott Nonnenberg
3a1df01c9e
New 'unseenStatus' field for certain secondary message types 2022-04-22 11:35:14 -07:00
Josh Perez
4896ce32c3
Sync story read status from primary 2022-04-20 17:29:37 -07:00
Josh Perez
774246b6e2
Drop story replies from group timeline 2022-04-20 16:33:38 -07:00
Josh Perez
e3d537cbd3
Render group stories 2022-04-14 20:08:46 -04:00
Scott Nonnenberg
14ab7b9e0d
Fetch profiles for conversations needing verification, more logging too 2022-04-14 15:27:16 -07:00
Scott Nonnenberg
302604f67e
Restore ability to message someone from embedded contact 2022-04-11 17:26:09 -07:00
Scott Nonnenberg
7f89f6162f
Disable forward for messages with embedded contact 2022-04-11 13:57:44 -07:00
Josh Perez
0a0fabd2ca
Changes story sort order 2022-04-08 11:40:15 -04:00
Fedor Indutny
e1e1cfb892
Use fuse.js for regular contact search 2022-04-07 11:47:12 -07:00
Fedor Indutny
9568d5792e
Allow adding to a group by phone number 2022-04-04 17:38:22 -07:00
Scott Nonnenberg
85989fda3c
More peeking of group calls to prevent out-of-date member info 2022-03-31 18:06:56 -07:00
Scott Nonnenberg
bb250d4fb5
startCall: wait for startOutgoingDirectCall before updating lobby 2022-03-31 18:06:35 -07:00
Josh Perez
3b5cc26fec
Adds logic around downloading stories 2022-03-28 18:10:08 -07:00
Scott Nonnenberg
6a671e73f9
Suppress sticker pack installation errors on startup re-download 2022-03-23 14:33:48 -07:00
Fedor Indutny
36ce4f27a2
Optimize profile avatar uploads and sync urls 2022-03-15 17:14:20 -07:00
Scott Nonnenberg
703bb8a3a3
Introduce new 'Block request' button in timeline 2022-03-15 17:11:28 -07:00
Josh Perez
2114c851c7
Include authorUuid when sending replies 2022-03-11 15:14:32 -08:00
Evan Hahn
72c6c57186
If not enough messages are loaded (on tall screens), fix jankiness 2022-03-11 14:31:21 -08:00
Scott Nonnenberg
114316745d
Don't increment totalUnread count for sends or database loads 2022-03-04 20:39:40 -08:00
Josh Perez
eb91eb6fec
Process incoming story messages 2022-03-04 13:14:52 -08:00
Fedor Indutny
df7cdfacc7
Don't mkdir restore dir in updater 2022-03-04 11:59:47 -08:00
Evan Hahn
effe5aae6f
Assume everyone is GV2-capable 2022-03-04 13:48:44 -06:00
Evan Hahn
0c31ad25ef
Remove React Virtualized from <Timeline> 2022-03-03 14:23:10 -06:00
Evan Hahn
cfa0711909
Put "is speaking?" threshold in remote config; lower default 2022-03-01 17:39:09 -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
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
Fedor Indutny
0174687542
Use esbuild 2022-02-11 13:38: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
f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Evan Hahn
f5eb17e0d1
Fix stuck safety number modal overlay 2022-01-24 17:39:18 -08:00
Josh Perez
44bfb77635
Hang up call when screen is locked 2022-01-24 12:32:09 -08:00
Fedor Indutny
26421b8c18
Log conversation open time 2022-01-19 16:40:29 -08:00
Fedor Indutny
91f1b62bc7
Detect startup after recent crashes 2022-01-11 12:02:46 -08:00
Evan Hahn
f8bbf5c998
Group calls: mute in the lobby if joining a large call 2022-01-07 12:01:23 -06:00
Scott Nonnenberg
60a53656af
Optimize a few queries 2021-12-20 22:04:02 +01:00
Evan Hahn
770c80b9ee
Remove several @ts-ignores 2021-12-16 17:14:21 -08:00
Scott Nonnenberg
a023fc1bb0
Usernames: Fetch own username from /whoami not /profile 2021-12-15 12:02:55 -08:00
Josh Perez
7affe313f0
Add image editor 2021-11-30 20:14:25 -06:00
Fedor Indutny
518ebc315e
Ensure that message heights are always recomputed 2021-11-30 20:34:56 +01:00
Fedor Indutny
348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +01: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
Scott Nonnenberg
a3525c16ef
When you send a message, scroll it into view 2021-11-19 09:19:55 -08: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
edab7c7d83
Remember message Read More state when scrolling in virtualized container 2021-11-11 15:45:47 -08:00
Scott Nonnenberg
c5b5f2fe42
Handle duplicate requests to start recording a voice note 2021-11-11 15:33:35 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Evan Hahn
8256170066
Fix ConversationController load race condition 2021-11-04 14:11:47 -07:00
Scott Nonnenberg
4b6832bba5
Ensure multiple draft attachment adds don't stomp on each other 2021-11-03 18:38:46 -07:00
Scott Nonnenberg
d5152fe452
MESSAGES_RESET: Keep scrollToBottomCounter the same value 2021-11-03 11:43:22 -07: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
Fedor Indutny
663cd77eac
Use react-redux's batch instead of react's 2021-11-01 16:38:08 -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
David Sanders
79b3b6408e Fix microphone permission checking for audio recording
See [#5580][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5580
2021-10-27 11:16:09 -05: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
Scott Nonnenberg
191bfee18c
Show What's New dialog in app via Help -> Go to release notes 2021-10-22 17:41:45 -07:00
Evan Hahn
26ff754896
Improve logging of group call peeking failures 2021-10-18 18:14:24 -05:00
Josh Perez
ab1c31b64f
Release microphone immediately when cancelling recording 2021-10-15 14:51:33 -04:00
Evan Hahn
35a54cdc02
Introduce a new design for the left pane 2021-10-12 16:59:08 -07:00
Josh Perez
b866e1a23d
Fix safety number viewer for contact modal 2021-10-07 17:45:58 -04:00
Fedor Indutny
a537204fc0
Remove ts/services/timers.ts 2021-10-06 14:59:34 -07:00
Josh Perez
048e1e4cd7
Move the safety number viewer into modal 2021-10-06 16:27:14 -04:00
Evan Hahn
3c91dce993
Don't show group call start notifications more than once 2021-10-05 16:11:40 -05:00
Josh Perez
31d1f25b18
Adds error dialog when voice recorder cannot start 2021-09-30 13:13:47 -07:00
Josh Perez
603c315c82
Moves AudioCapture into react 2021-09-29 13:23:06 -07:00
Fedor Indutny
29de067c0e
Consistent sorting for messages in reducer 2021-09-28 15:11:01 -07:00
Evan Hahn
942ce16610
In prerelease, enable background throttling when not on a call 2021-09-28 14:00:22 -05:00
Fedor Indutny
2f7226e200
Remove key caching from Timeline 2021-09-28 11:32:54 -07:00
Evan Hahn
ed222fee9a
Poll for devices when joining a group call 2021-09-28 11:35:40 -05:00
Josh Perez
1c3c971cf4 Moves DraftAttachments into redux 2021-09-24 16:03:32 -04:00
Evan Hahn
9aa0de5b6c
When a group call starts, show an OS notification 2021-09-24 09:01:01 -05:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Josh Perez
c05d23e628
Modernize ContactModal 2021-09-21 15:37:10 -07:00
Evan Hahn
4e43459d34
Improve types for ConversationType's lastMessage 2021-09-20 14:20:53 -05:00
Josh Perez
7b5faa1cc1
Permissions popup context iso 2021-09-17 18:24:21 -04:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Evan Hahn
20be8a11fe
Read and write preferred reactions to storage 2021-09-15 11:59:51 -07:00
Evan Hahn
240585ef94
Allow duplicates in reaction palette 2021-09-13 10:04:45 -07:00
Evan Hahn
e2392433e0
Preferred reactions: store raw emoji, gate on feature flag 2021-09-09 16:47:30 -07:00
Evan Hahn
f28456c160
Let users customize the preferred reaction palette 2021-09-09 09:29:01 -07:00
Evan Hahn
bae84b6b67
Prevent outbound group ring if the feature flag is disabled 2021-09-07 09:20:13 -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
Evan Hahn
598513e037
Fix unintentional removal of group call without ringer 2021-08-26 08:45:11 -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
347f542ac0
Derive default conversation color from storage 2021-08-24 17:15:12 -07:00
Josh Perez
d5d808651a
Improved Lightbox experience 2021-08-23 16:14:53 -07: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
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Fedor Indutny
7a8363c7c8
Additional render optimizations 2021-08-18 08:34:22 -05:00
Evan Hahn
b054802758
Make isEditingAvatar impossible unless you're on the right step 2021-08-16 09:33:27 -05:00
Fedor Indutny
12c78c742f
Optimize rendering 2021-08-11 09:23:21 -07:00
Josh Perez
9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -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
8cadc40975
Replace MessageModel#isUnread with isMessageUnread utility 2021-07-29 09:29:07 -05:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07: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
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Evan Hahn
3389b2e2b8
Remove deleted messages from Redux search state 2021-06-16 09:39:09 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Josh Perez
173771d34b
New top-level React root: <App /> 2021-06-14 12:01:00 -07:00
Fedor Indutny
17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Scott Nonnenberg
f226822dff
Conversation: Prevent getProps errors on initial link
Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com>
2021-06-08 16:31:35 -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
Scott Nonnenberg
9705f464be
Group Description: Edit/Receive 2021-06-01 20:24:28 -04: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
373ffe4663
Screen sharing improvements 2021-06-01 12:47:55 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Josh Perez
28f016ce48
Conversation Colors 2021-05-28 09:15:17 -07:00
Evan Hahn
95d404c70b
Improve UI performance for no-op profile fetches 2021-05-21 12:53:05 -07:00
Josh Perez
ceffc2380c Add screensharing behind a feature flag 2021-05-20 17:37:19 -07:00
Fedor Indutny
7fa730531a Improve experience for contacts without signal accounts 2021-05-20 17:37:08 -07:00
Fedor Indutny
03eaa9eb3e Apply reactions optimistically 2021-05-20 17:37:08 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn
736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -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
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
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
Fedor Indutny
eb6d1b7216 Fix StickerType in sql/Interface and fix query 2021-04-09 00:05:41 -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
Quentin Hibon
8abd73fa4f Do not search if normalized query is empty
Fixes #5137
2021-04-08 12:32:44 +02:00
Evan Hahn
b81a52bbdd New Group administration: Add users 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
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
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
Evan Hahn
5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -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
007
5fad43fcfb
fix: allow hyphen on search term (#4731) 2021-02-04 14:41:42 -08:00
Scott Nonnenberg
089e2864b3
Reduce unnecessary or overly verbose logging 2021-02-04 11:39:07 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00
Josh Perez
c0510b08a5
Introduce conversation details screen for New Groups
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2021-01-29 13:19:24 -08:00
Josh Perez
258bd55dd2 Show about info from contact profiles 2021-01-25 18:29:01 -08:00
Evan Hahn
8a72607fa7 Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
Evan Hahn
b281420a40 Group calling: add speaker view 2021-01-25 18:28:59 -08:00
Scott Nonnenberg
cbc6c29479 Finish in-redux conversation lookups, getPropsForSearchResult moved 2021-01-25 18:28:58 -08:00
Evan Hahn
8144d758ae Hide direct call notification when window is active 2021-01-25 18:28:57 -08:00
Scott Nonnenberg
9f81b4157b Also use sent_at whenever we query database with received_at 2021-01-19 17:35:11 -08:00
Evan Hahn
55091edefa Avoid unnecessary re-render on CHECK_NETWORK_STATUS 2020-12-17 12:12:52 -05:00
Evan Hahn
eff2318157 Minor: mark reducer arguments as Readonly 2020-12-17 12:12:52 -05:00
Evan Hahn
db0ebc5779
Update group membership for a group call when it changes 2020-12-09 15:21:34 -08:00
Josh Perez
318013e83d
Handles safety number changes while in a call 2020-12-08 14:37:04 -05:00
Evan Hahn
0c039bf431
Add group calling events to the message timeline 2020-12-07 14:43:19 -06:00
Scott Nonnenberg
6832b8acca
Timeline: repair oldest/newest metrics if we fetch nothing 2020-12-04 14:41:40 -06:00
Evan Hahn
c85ea814b1
Group calling participants refactor 2020-12-02 10:14:03 -08:00
Evan Hahn
be99bbe87a
Calling selectors are now based on the root state 2020-12-02 10:11:54 -08:00
Evan Hahn
d1866a0e5d
Group calling: tell RingRTC about our rendered resolutions for perf 2020-12-01 17:52:01 -08:00
Evan Hahn
f3f2cb2b5e
Show active speaker in group calling PiP 2020-12-01 15:52:09 -08:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Evan Hahn
daef1feae8 Add list of participants to the lobby, and add basic blocking for max participants 2020-11-23 14:49:32 -05:00
Evan Hahn
6d53cb1740 Group calling: Peek into a group call 2020-11-23 14:49:32 -05:00
Josh Perez
5cc7c9a66a Group Calling: Improve mute state styling 2020-11-23 14:49:31 -05:00
Scott Nonnenberg
2c69f2c367 Support for GV1 -> GV2 migration 2020-11-23 14:48:12 -05:00
Josh Perez
1f0c091e13 Group calling enhancements 2020-11-23 14:45:44 -05:00
Evan Hahn
022c4bd0f4 Initial group calling support 2020-11-23 14:45:44 -05:00
Scott Nonnenberg
2977c0ca3d
Message Requests: Show blurhash for pending stickers 2020-11-12 16:22:40 -05:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar 2020-11-11 09:36:05 -08:00
Evan Hahn
3468de255d
Redux state: Allow multiple calls to be stored 2020-11-06 09:36:37 -08:00
Evan Hahn
7e23bb6246 Use thunks for calling action creators 2020-11-04 13:03:14 -06:00
Chris Svenningsen
53c89aa40f Send @mentions 2020-11-04 13:03:13 -06:00
Evan Hahn
8bfaf598af Add license headers across the project 2020-11-04 13:03:13 -06:00
Evan Hahn
8c3da11996 Convert emoji actions to use redux-thunk 2020-11-04 13:03:13 -06:00
Evan Hahn
decc93532b Hide call buttons when on call 2020-11-04 13:03:13 -06:00
Chris Svenningsen
c408072576 Mark conversation as unread
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-11-04 13:03:10 -06:00
Scott Nonnenberg
8eea20ea91
Reliability fixes for conversation formatting and message send 2020-10-28 14:54:33 -07:00
Scott Nonnenberg
fa2d300714 Show 'accept invite UI' for re-invite, calm progress spinner 2020-10-26 15:55:27 -07:00
Scott Nonnenberg
89d29b49a3 Conversation reducer: sort by received_at then sent_at like Backbone 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
04b7a29229 Modern profile sharing in 1:1 and GroupV1 groups 2020-10-26 15:48:44 -07:00
Chris Svenningsen
fdc3476106 Fix a few pinned chat sync issues 2020-10-15 18:59:45 -04:00
Josh Perez
1507dea351
Move calling duration timer into redux state 2020-10-13 14:02:43 -07:00
Josh Perez
59a181bd30 Calling: Lobby 2020-10-12 18:10:08 -04:00
Evan Hahn
c57f7f1cdb Call requests: caller 2020-10-12 18:10:08 -04:00
Josh Perez
a581f6ea81 Calling: Picture-in-picture 2020-10-12 18:10:08 -04:00
Chris Svenningsen
63b2644cb4 Read Pinned Chats
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:08 -04:00
Sidney Keese
dabab60f56 Remove TSLint
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Chris Svenningsen
b5df9b4067 Migrate messages, conversations, conversation_view, background to TS
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
Sidney Keese
2ade4acd52 Migrate util, types, state, sticker-creator to ESLint 2020-09-21 15:42:51 -04:00
Evan Hahn
de66486e41 Add sound effect for notifications in Linux 2020-09-21 15:42:50 -04:00
Josh Perez
d87335f5a6 Support server-determined build expiration 2020-09-09 17:34:57 -07:00
Scott Nonnenberg
7a02cc815d Support for new GroupV2 groups 2020-09-09 17:34:57 -07:00
Josh Perez
84e52c948b Mute conversations 2020-08-28 15:42:25 -04:00
Josh Perez
8ab1013f70 Calling: Device Selection 2020-08-28 15:42:25 -04:00
Sidney Keese
5aac427017 Migrate StickerButton, StickerManager, StickerPicker to storybook 2020-08-28 15:42:24 -04:00
Chris Svenningsen
d3d3c41f94
Convert <Avatar /> component to Storybook
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
Co-authored-by: Sidney Keese <me@sidke.com>
2020-08-13 13:53:45 -07:00
Josh Perez
6a68b37c83
New message state: Partially sent 2020-08-06 18:22:52 -07:00
Scott Nonnenberg
d75eee015f Show notifications when a user's profile name changes 2020-07-30 13:27:44 -07:00
Scott Nonnenberg
bab59ba2a1 Force social graph to pull down updates after beta.11 install 2020-07-30 13:27:44 -07:00
Scott Nonnenberg
d07b8e82b2 First-class profile name rendering 2020-07-30 13:27:41 -07:00
Peter Thatcher
c6d5607b8c Fix incoming call ringtone by awaiting the playout 2020-07-30 13:10:05 -07:00
Josh Perez
5b83485c89 Update safety number change warning dialog 2020-07-30 13:10:05 -07:00
Peter Thatcher
d3a27a6442 Calling support 2020-07-30 13:08:47 -07:00
Ken Powers
83574eb067 Message Requests 2020-07-30 13:08:44 -07:00
Scott Nonnenberg
e536929e35 Handle messages with the same received_at 2020-07-13 16:06:24 -07:00
Ken Powers
0865a5481c Pre-alpha: React with any emoji, behind flag 2020-05-05 14:18:46 -07:00
Ken Powers
ba5e2ff6e5 Receive support for DOE messages 2020-04-29 17:42:41 -07:00
Scott Nonnenberg
6b094e1514 Refactor: Move data-access code to Typescript w/ shared interface 2020-04-15 14:45:11 -07:00
Scott Nonnenberg
9ab54b9b83 Move web_api.js and js/modules/crypto.js to TypeScript 2020-04-15 14:44:51 -07:00
Scott Nonnenberg
71436d18e2 Include sender in group update notifications 2020-04-15 14:44:46 -07:00
Josh Perez
9a3ed5ac8d Ensure UpdateDialog closes when restart signal is tapped 2020-04-06 17:12:16 -07:00
Scott Nonnenberg
30e5051239 Eliminate clipped error icon for wide messages with errors 2020-03-25 16:47:42 -07:00
Scott Nonnenberg
6bd5587d50 Retry websocket connect if error returned is 502
* Retry websocket connect if error returned is 502

* Introduce connect button on 'Disconnected' left-pane dialog

* NetworkStatus: If user clicks connect, show connecting for 5s
2020-03-24 17:03:22 -07:00
Josh Perez
4830213a12 Sort by inbox position to match phone after link 2020-03-24 17:02:01 -07:00
Ken Powers
a90246cbe5 Passive UUID support
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-03-24 16:59:35 -07:00
Josh Perez
018dc34e47 Fix for fallback update dialog 2020-02-20 16:24:40 -08:00
Josh Perez
18fd44f504
Move all status/alert dialogs into the Left Pane 2020-02-12 13:30:58 -08:00
Scott Nonnenberg
c147e6ce25
Restore contact/conversation differentiation in search results 2020-02-06 14:52:05 -05:00
Ken Powers
01d4aa0772
Update to new message bubble reactions design 2020-02-03 12:02:49 -08:00
Scott Nonnenberg
682ac656c6
Handle duplicate receivedAt timestamps for MESSAGE_RESET event 2020-02-03 14:32:03 -05:00
Scott Nonnenberg
4f16cf595c
Ensure that oldest/newest are correct given duplicate timestamps 2020-01-31 07:39:30 -08:00
Scott Nonnenberg
4af7a9ae2c ducks/conversations: Ensure metrics agree with in-memory messages
* ducks/conversations: Ensure metrics agree with in-memory messages
* Clean up logic cleaning up metrics
2020-01-16 11:45:06 -05:00
Scott Nonnenberg
0f9bc57ccb Only show pack installed tooltip for non-blessed, local installs 2020-01-09 09:35:33 -05:00
Scott Nonnenberg
e9f08c3da9 Bugfixes for v1.29
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05:00
Scott Nonnenberg
2a0a73cfc1 Keyboard/mouse mode and keyboard support bugfixes 2019-11-21 14:16:06 -05:00
Scott Nonnenberg
20a892247f Keyboard shortcuts and accessibility 2019-11-13 16:53:42 -08:00
Scott Nonnenberg
86864279b2 Ensure we track message height change when long message loads 2019-10-17 13:19:41 -04:00
Scott Nonnenberg
8ccb89310b New Idle timer; messages not marked read if user is idle 2019-09-24 13:43:08 -07:00
Scott Nonnenberg
e39c6e5321
Don't search conversations if searching within conversation 2019-09-05 08:59:21 -07:00
Scott Nonnenberg
dbc312e189 Timeline: Resize message if any attachment is no longer pending 2019-09-04 17:11:30 -04:00
Scott Nonnenberg
cbde0bb3d1 Timeline: Handle height change due to pending voice note 2019-09-04 12:02:28 -07:00
Ken Powers
1d3fe4bbf3
Split search actions between discussions and messages 2019-09-04 10:46:28 -04:00
Scott Nonnenberg
936768d9c1 Recalculate message height when pending sticker is loaded 2019-08-22 15:41:55 -07:00
Scott Nonnenberg
c570a92e76 Fixes for CI 2019-08-21 16:04:49 -07:00
Scott Nonnenberg
90c2a97aa7 Address alpha feedback 2019-08-21 14:55:18 -07:00
Scott Nonnenberg
0b0214cbf9 Some fixes for windowed render 2019-08-21 14:55:12 -07:00
Scott Nonnenberg
c39d5a811a Full-text search within conversation 2019-08-21 14:52:30 -07:00
Scott Nonnenberg
6292019d30 Virtualize search results - only render what's visible 2019-08-21 14:52:30 -07:00
Scott Nonnenberg
9d4f2afa5a Persist drafts 2019-08-21 14:52:30 -07:00
Scott Nonnenberg
5ebd8bc690 Virtualize Messages List - only render what's visible 2019-08-21 14:52:30 -07:00
Ken Powers
7b645011c2 New composition area with emoji typeahead 2019-07-17 11:29:51 -07:00
Ken Powers
be5d0837f8 Support additional sticker states
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-29 11:01:32 -07:00
Ken Powers
0e9d549cf3 Fuzzy-Searchable Emoji Picker 2019-05-24 17:03:13 -07:00
Ken Powers
29de50c12a Stickers
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-16 16:10:37 -07:00
Scott Nonnenberg
c41bc53614 Refactor messages model; New timeline react components 2019-05-16 15:23:21 -07:00
Scott Nonnenberg
6ffbc0ac06 Archive Conversation 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
031b64a476 Disable full-text search until we can go to arbitrary messages 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
b3ac1373fa Move left pane entirely to React 2019-03-12 17:44:14 -07:00