Commit graph

353 commits

Author SHA1 Message Date
Scott Nonnenberg
29c3b8af89
Fix groupV2 change rendering in notifications and left pane 2021-12-16 09:44:54 -08:00
Scott Nonnenberg
34fd945f83
No Backbone in data layer; server/client interfaces are now similar 2021-12-10 16:51:54 -06:00
Evan Hahn
f9e98836b0
Retry delivery and read receipts for up to 24 hours 2021-12-07 14:41:40 -08:00
Scott Nonnenberg
44872ac961
handleReaction: don't fetch/save across an await boundary 2021-12-06 18:22:44 +01:00
Fedor Indutny
348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +01:00
Evan Hahn
c63bf11a8f
Show badges in reaction viewer 2021-11-17 22:11:46 +01:00
Evan Hahn
7d17158add
Show badges on message avatars where applicable 2021-11-15 16:53:42 -06:00
Evan Hahn
ede34ecee3
Enable noImplicitOverride TypeScript compiler option 2021-11-12 15:44:20 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Evan Hahn
d6ffb08a63
Disable class-methods-use-this lint rule 2021-11-04 16:04:51 -05:00
Evan Hahn
8670a4d864
Retry outbound reactions for up to a day 2021-10-29 18:19:44 -05:00
Evan Hahn
1dc353f089
Ignore emoji when removing reactions 2021-10-27 10:51:42 -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
Josh Perez
2e438aa876
Conversation details screen for 1:1 chats 2021-10-20 16:46:41 -07:00
Josh Perez
9af523c4fc
Do not show timestamp if timestamp matches sent_at 2021-10-15 15:59:42 -07:00
Evan Hahn
21c00f51bd
Improve reaction types 2021-10-13 09:29:15 -07:00
Josh Perez
a5e8226821
Shows message status timestamps if available 2021-10-12 16:40:42 -07:00
Scott Nonnenberg
bd380086a4
Send related emoji along with Sticker, fix SendMessage types 2021-10-05 17:10:08 -05: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
Scott Nonnenberg
250a89d953
Additional logging, new ability to force Conversation 'change' event 2021-09-20 11:51:30 -07:00
Josh Perez
829e42ca6e
Move i18n setup to TypeScript 2021-09-17 20:30:08 -04:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Fedor Indutny
63dda5bf19
Use isNumber in handleDataMessage 2021-09-02 16:47:23 -07:00
Evan Hahn
01b015680b
Move getMessageById next to getMessagesById 2021-09-02 10:44:54 -07:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Evan Hahn
9e9a815a2b
ESLint: allow for..of 2021-08-26 13:18:00 -05:00
Fedor Indutny
fe040a2873
Rename ContactType to EmbeddedContactType 2021-08-19 20:56:39 -05:00
Fedor Indutny
80c1ad6ee3
Don't mutate state in TimelineItem 2021-08-19 13:14:41 -07:00
Fedor Indutny
f5a3d4bc8a
Fix various read sync inconsistencies 2021-08-16 17:16:00 -07:00
Fedor Indutny
e7be409961
Fix late view/read sync logic 2021-08-16 10:18:16 -07:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -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
Fedor Indutny
a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Scott Nonnenberg
bcb9d2d2f3
Modernize DeliveryIssueDialog, fix outline clipping in Modal 2021-08-02 14:19:18 -07:00
Evan Hahn
8cadc40975
Replace MessageModel#isUnread with isMessageUnread utility 2021-07-29 09:29:07 -05:00
Evan Hahn
8449f343a6
Fix send sync message bugs 2021-07-28 13:53:18 -05:00
Fedor Indutny
4c933a1f5a
Fix overly-verbose errors in message details 2021-07-27 16:11:38 -07:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages 2021-07-27 10:42:25 -05:00
Fedor Indutny
fdec47d637
Use single WebAPI instance across the app 2021-07-23 10:23:50 -07:00
Evan Hahn
07f0efc45f
Rename "view sync" to "view once open sync" 2021-07-22 12:07:53 -05:00
Evan Hahn
2c59c71872
Show read/viewed even after read receipts disabled 2021-07-21 12:21:16 -07:00
Scott Nonnenberg
e94eaf07a9
Message.sendSyncMessage: properly handle falsey id field 2021-07-20 17:29:44 -07:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Evan Hahn
863ae9ed83
Combine DeliveryReceipts and MessageReceipts modifiers 2021-07-20 13:17:25 -07:00
Evan Hahn
1e10286210
Message details: group by send status, including viewed state 2021-07-20 14:56:50 -05:00
Fedor Indutny
31989a7706
Translate errors before rejecting in SendMessage 2021-07-19 18:10:09 -07:00
Evan Hahn
c4a09b7507
Refactor outbound delivery state, take 2
This reverts commit ad217c808d.
2021-07-19 17:44:49 -05:00
Scott Nonnenberg
7761d83055
Update timers whenever we mark messages read 2021-07-19 13:45:18 -07:00
Scott Nonnenberg
a42c41ed01
Message Send Log to enable comprehensive resend 2021-07-15 16:48:09 -07:00
Fedor Indutny
ad217c808d
Revert "Refactor outbound delivery state"
This reverts commit 9c48a95eb5.
2021-07-12 16:51:45 -07:00
Evan Hahn
9c48a95eb5
Refactor outbound delivery state 2021-07-09 16:38:51 -05:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Fedor Indutny
299fe2af36
More protobufjs use 2021-07-02 14:21:24 -05:00
Scott Nonnenberg
615ae1ccf7
Refactor SendMessage.ts to named parameters 2021-07-02 13:34:17 -05:00
Evan Hahn
7dac480df5
Don't expire incoming expiration timer updates 2021-07-01 16:48:40 -07:00
Fedor Indutny
773aa9af19
Better emoji support in linkify/previews 2021-06-30 10:00:02 -07:00
Evan Hahn
a3315bcb68
Skip double save with sync message that has errors 2021-06-28 16:04:42 -07:00
Fedor Indutny
d623533707
Fix check for successfull delivery 2021-06-23 10:01:13 -07:00
Evan Hahn
b990204bce
Clean up MessageModel group_update 2021-06-23 09:14:11 -07:00
Evan Hahn
6b2dfeb9f5
Use POJO instead of MessageModel in ConversationView quote logic 2021-06-22 16:16:50 -07:00
Evan Hahn
9db19283ac
MessageController: return all messages by sent at, not just 1 2021-06-22 16:05:05 -07:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Evan Hahn
03a187097f
Disappearing message cleanups 2021-06-16 17:20:17 -05:00
Scott Nonnenberg
1520c80013
Remove messageCollection from Conversation model 2021-06-15 17:44:14 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Fedor Indutny
61ac79e9ae
Log conversation job wait time and duration 2021-06-14 14:55:14 -07:00
Scott Nonnenberg
bff3f0c74a
Sender Key: Prepare for production 2021-06-08 14:51:58 -07:00
Evan Hahn
906b949c47
Fix isGroupV2 type error 2021-06-07 10:29:37 -07:00
Josh Perez
d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model 2021-06-07 09:39:13 -07:00
Scott Nonnenberg
3956443f50
Group Description: Render newlines, view button in change notification 2021-06-04 09:27:04 -07:00
Scott Nonnenberg
8583be3775
Render proper contact in Delivery Issue notifications 2021-06-03 17:25:41 -05:00
Josh Perez
cdf8b0b28d
Fix global custom colored quote in composition area 2021-06-03 14:37:13 -07:00
Scott Nonnenberg
84aed82357
Reactions/DFE: Ensure post-save updates are persisted 2021-06-03 13:00:54 -05:00
Josh Perez
bd46e3afd6
Fixes global chat color setting 2021-06-02 14:05:09 -07:00
Fedor Indutny
b009967a83
Display proper text when quoting view once message 2021-06-02 09:42:19 -07:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages 2021-06-01 13:45:43 -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
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Scott Nonnenberg
be087c3498 Ensure that context is always provided for error logs 2021-05-20 17:37:18 -07:00
Scott Nonnenberg
bcaca1ebd5 View Once: Allow for missing sender; only require senderUuid 2021-05-20 17:37:17 -07:00
Fedor Indutny
03eaa9eb3e Apply reactions optimistically 2021-05-20 17:37:08 -07:00
Scott Nonnenberg
efaaafa370
A few small bug fixes 2021-05-10 15:38:18 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Josh Perez
e0c324e4ba
Send/Receive support for reaction read syncs 2021-05-06 21:15:25 -04:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn
8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Evan Hahn
736075322c
Render disappearing message timers generically 2021-05-03 16:24:40 -07:00
Evan Hahn
c1730e055f
Remove 25 trivial WhatIsThis types 2021-05-03 09:38:20 -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
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
Fedor Indutny
8ac2d8fcec
Mark contact as registered when receiving message 2021-04-29 14:24:55 -07:00
Josh Perez
d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04:00
Josh Perez
26b90ba44a
Add return types for two MessageModel "getProps" methods 2021-04-22 09:20:01 -05:00
Scott Nonnenberg
7d55421d8f
Quotes: Check message's conversationId 2021-04-14 15:15:57 -07:00
Evan Hahn
ea6562b7ac Merge branch 'hiqua-no_lower_limit_query' into next-beta 2021-04-14 14:14:57 -07:00
Scott Nonnenberg
e47b00a33c
Don't mark old messages as read on timer update 2021-04-09 13:11:36 -07:00
Evan Hahn
a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Fedor Indutny
37c8c1727f Types, better-sqlite3, and worker_threads for our sqlite 2021-04-08 23:53:18 -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
2d35fa8f57 Fix replies to image-only messages 2021-04-05 18:08:50 -04: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
Evan Hahn
afe135df0c
Hide long message attachments in quotes 2021-03-25 11:36:50 -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
6fec6b2646 Fix attachments not loading for stickers/long messages 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
Josh Perez
62e04a1bbd Fix for unread syncs and ooo reactions 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
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
468d491d34 Optimizations to the performance improvement changes 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
Josh Perez
d82ce07942 Improve cold start performance 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
Fedor Indutny
18fb2b806e Remove notification on reaction remove/change 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25 Automatic session reset 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
bc0f4387fe Backwards compatibility updates for libsignal-client 2021-02-12 10:38:49 -08:00
Evan Hahn
8f1bb6f087
Don't render links (or link previews) for blocked or unapproved conversations 2021-02-02 11:09:53 -06:00
Josh Perez
a096220990
Do not download media if in call 2021-01-29 14:58:28 -08:00
Evan Hahn
9f6e9ba47d Add some types to window and window.Signal 2021-01-25 18:29:00 -08:00
Scott Nonnenberg
cbc6c29479 Finish in-redux conversation lookups, getPropsForSearchResult moved 2021-01-25 18:28:58 -08:00
Scott Nonnenberg
0506b79f6b
Quotes: Use authorId when navigating to original message 2020-12-11 12:06:04 -06:00
Evan Hahn
0c039bf431
Add group calling events to the message timeline 2020-12-07 14:43:19 -06:00
Scott Nonnenberg
b3c161f484
Migration: Use pendingMember roles, better 'you were invited' 2020-12-01 15:45:39 -08:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Scott Nonnenberg
2c69f2c367 Support for GV1 -> GV2 migration 2020-11-23 14:48:12 -05:00
Scott Nonnenberg
26884432a2 Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax 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
Scott Nonnenberg
1d1fccd96f
message.setToExpire: Log start timestamp, log before save 2020-11-11 10:21:06 -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
decc93532b Hide call buttons when on call 2020-11-04 13:03:13 -06:00
Scott Nonnenberg
e8759fc81b
Fix out-of-order applications of reaction and delete-for-everyone 2020-11-01 09:06:41 -06:00
Scott Nonnenberg
05f905fd10
A few small bugfixes 2020-10-30 10:56:03 -07:00
Scott Nonnenberg
04b7a29229 Modern profile sharing in 1:1 and GroupV1 groups 2020-10-26 15:48:44 -07:00
Evan Hahn
c4de9436f3
Fix error thrown on message retry 2020-10-22 10:32:23 -07:00
Scott Nonnenberg
e8664213d3 Reactions: Don't apply to messages with errors 2020-10-15 18:58:50 -04:00
Scott Nonnenberg
913dbd9e7e Errors: Associate by conversationId, properly persist to database 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
523843f30e Proper styling for View Once messages which are deleted for everyone 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece GroupsV2: Better group invite behavior 2020-10-12 18:10:08 -04:00
Evan Hahn
b9ff4f07d3 Remove unnecessary non-null assertion from Message#send 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
ada70c4895 handleDataMessage: Don't drop messages for empty GroupV1 groups 2020-10-12 18:10:08 -04:00
Josh Perez
04eb7bc995 Delete @mentions on DOE 2020-10-12 18:10:08 -04:00
Sidney Keese
866217a724 Delete For Everyone Send
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:08 -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