Commit graph

373 commits

Author SHA1 Message Date
Fedor Indutny
962515031d
Reduce number of SQL queries during conversation update 2021-08-16 11:56:27 -05:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Scott Nonnenberg
35625f4200
Groups: Force a fetch right now if our update runs into a conflict 2021-08-06 14:25:15 -07:00
Scott Nonnenberg
5069f48cf0
Message Send Log: Increase retention length 2021-08-05 20:17:23 -04:00
Josh Perez
12d2b1bf7c
Avatar defaults and colors 2021-08-05 20:17:05 -04:00
Fedor Indutny
a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Evan Hahn
6b290a0f0c
@mentions notifications 2021-08-05 07:35:33 -05:00
Evan Hahn
eccd682920
Remove unused ConversationModel#getName 2021-08-02 14:26:54 -07:00
Fedor Indutny
926283a114
Fix uncaught error in markMessageRead 2021-07-30 15:13:52 -07:00
Scott Nonnenberg
0ab09711a4
Track performance of message sends 2021-07-30 11:37:03 -07:00
Fedor Indutny
1c1d0e2da0
Move to websocket for requests to signal server 2021-07-28 14:37:09 -07:00
Scott Nonnenberg
67d13e9ba8
More logging in addDeliveryIssue, properly wait in getProfiles 2021-07-26 17:00:16 -07:00
Josh Perez
d9e90e9ea8
Improvements to shared library components 2021-07-21 13:45:41 -07:00
Evan Hahn
2c59c71872
Show read/viewed even after read receipts disabled 2021-07-21 12:21:16 -07:00
Josh Perez
bf6c0ce7c0
Place announcement-only groups behind feature flag 2021-07-20 15:51:38 -05:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07: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
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -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
Scott Nonnenberg
b50bf58418
Clear profile avatar when we discover that it has been removed 2021-07-02 13:16:23 -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
75cb7b6b13
Improve type for ConversationModel#setProfileAvatar 2021-07-01 16:43:58 -07:00
Evan Hahn
dc78165043
Fix types when creating ephemeral messages for DOE and reactions 2021-06-29 16:05:56 -05:00
Josh Perez
01eabf9ec6
Option to send photos as high quality 2021-06-25 11:08:16 -05:00
Fedor Indutny
d623533707
Fix check for successfull delivery 2021-06-23 10:01:13 -07:00
Evan Hahn
6b2dfeb9f5
Use POJO instead of MessageModel in ConversationView quote logic 2021-06-22 16:16:50 -07:00
Fedor Indutny
cb0696d59d
Prevent deadlock in maybeApplyUniversalTimer 2021-06-22 10:03:09 -05:00
Fedor Indutny
9f0c630574
Move to protobufjs in ts/groups.ts 2021-06-22 09:46:42 -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
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
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
d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model 2021-06-07 09:39:13 -07:00
Scott Nonnenberg
6d82acd23c
Forward: Don't re-use timestamp or attachment files 2021-06-03 14:26:56 -07:00
Josh Perez
c055240dc5
Fix for per chat color selection 2021-06-03 11:46:38 -07:00
Josh Perez
bd46e3afd6
Fixes global chat color setting 2021-06-02 14:05:09 -07:00
Fedor Indutny
a6ce00ff37
Fix check for universal timer notification 2021-06-02 13:55:10 -07:00
Fedor Indutny
b009967a83
Display proper text when quoting view once message 2021-06-02 09:42:19 -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
Scott Nonnenberg
5a4fc5e425
Sender Key: Disable capability and bug fixes 2021-06-01 12:40:09 -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
09ef4d85e0
onChange: Emit changed event even if changed set is empty 2021-05-24 11:51:47 -07:00
Evan Hahn
95d404c70b
Improve UI performance for no-op profile fetches 2021-05-21 12:53:05 -07:00
Scott Nonnenberg
f6bc4dfe25
Enable click on draft quotes, fetch groups from contact modal 2021-05-21 10:27:28 -07:00
Evan Hahn
392822372b Iterables: add and use filter 2021-05-20 17:37:17 -07:00
Josh Perez
215d90fbe8 Always update unreadCount for conversations 2021-05-20 17:37:09 -07:00
Evan Hahn
794d910d4e Remove useless set of message recipients 2021-05-20 17:37:09 -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
Fedor Indutny
c2a0072fa1
Apply reactions to messages in "Notes to Self" 2021-05-11 10:06:19 -07:00
Scott Nonnenberg
efaaafa370
A few small bug fixes 2021-05-10 15:38:18 -07:00
Josh Perez
887b2c1db1
Get the correct unread count for a conversation 2021-05-10 11:49:13 -07:00
Evan Hahn
d28678dbf9
Make it more difficult to blur avatars 2021-05-07 17:21:10 -05:00
Fedor Indutny
98894ab121
Let group update happen on relink 2021-05-07 15:07:24 -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
c1730e055f
Remove 25 trivial WhatIsThis types 2021-05-03 09:38:20 -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
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
Scott Nonnenberg
86d2a4b5dd decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript 2021-04-29 14:27:35 -07:00
Josh Perez
353becffac
Various fixes for message forwarding 2021-04-28 15:44:48 -05:00
Josh Perez
d203f125c6
Adds message forwarding 2021-04-27 18:35:35 -04:00
Fedor Indutny
847cc3e055 Do not generate notification when disabled
Generating identicons for notifications is costly even if they are
cached. Avoid this extra load when notifications are not going to be
shown anyway.
2021-04-09 15:01:25 -04:00
Josh Perez
6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05: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
18ccda83ba Use UUID-only sender certificate when applicable 2021-04-08 23:51:54 -04:00
Scott Nonnenberg
bb412d61c2
Required profile sharing: Only activate for 1:1 and gv1 groups 2021-04-08 15:35:11 -04:00
Josh Perez
e4db9358cf
Storage service logging same 2021-04-06 15:54:47 -07: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
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
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
Evan Hahn
de5943a5fb
Fix bug where we'd remove profileKeyCredentials incorrectly 2021-03-25 12:05:55 -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
Evan Hahn
850e759579 Keeping profile data around longer in the face of errors 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
Scott Nonnenberg
246ca86319 Chat Session Refreshed: Include schemaVersion to prevent later upgrade 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
Evan Hahn
b81a52bbdd New Group administration: Add users 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
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
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
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
06fb4fd0bc Add "new conversation" composer for direct messages 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
Scott Nonnenberg
2957735a86
getMembersCount: Return undefined when conversation has no members 2021-02-09 18:00:16 -06: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
1b38db2d79
Fixes rendering of about bio 2021-01-27 19:18:50 -05: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
904cb24cc4 Fix a typo in comment 2021-01-25 18:28:59 -08:00
Evan Hahn
12dbd38cb9 Clean up migrateColor utility 2021-01-25 18:28:59 -08:00
Scott Nonnenberg
be9721c72d
Don't change left pane preview or order when someone leaves group 2021-01-20 11:31:44 -06:00
Scott Nonnenberg
9f81b4157b Also use sent_at whenever we query database with received_at 2021-01-19 17:35:11 -08:00
Scott Nonnenberg
8116a8561d
Show progress dialog during delete 2021-01-12 18:42:15 -06:00
Scott Nonnenberg
3f58a9b762
Clean up UUID-handling to prepare for future 2020-12-09 17:26:37 -05:00
Evan Hahn
496bdec35d
Fix duplicate timeline items for group call events 2020-12-09 15:57:34 -05:00
Evan Hahn
159e2eae55
Fix lint warning in Conversation model 2020-12-08 17:29:13 -05:00
Josh Perez
5b0e267fb2
Revs up the desktop.storageWrite2 feature flag 2020-12-08 16:16:40 -05: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
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Josh Perez
c54df8be87 Fixes rebase/lint 2020-11-23 15:00:40 -05:00
Scott Nonnenberg
4bf5a24efb Migration: Ensure that groupId lookup is kept up to date 2020-11-23 14:48:12 -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
3ee830ae63
Prevent send and show toast for invalid conversations 2020-11-16 15:34:41 -06:00
Scott Nonnenberg
2977c0ca3d
Message Requests: Show blurhash for pending stickers 2020-11-12 16:22:40 -05:00
Scott Nonnenberg
0c6f4248f3
conversation.applyMessageRequestResponse: Always save at the end 2020-11-12 14:03:07 -06:00
Chris Svenningsen
d593f74241
New contact popup when clicking on group member or avatar 2020-11-11 09:36:05 -08:00
Scott Nonnenberg
a5cfebe87a
Conversation.setMarkedUnread: Only captureChange if value changed 2020-11-10 09:53:34 -06:00
Scott Nonnenberg
d4d9688447
Ensure authorUuid is set in outgoing quotes 2020-11-06 13:06:21 -06:00
Chris Svenningsen
53c89aa40f Send @mentions 2020-11-04 13:03:13 -06:00
Sidney Keese
cfc3c123bc Update unread count when marking as unread
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
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
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
18c71b291c
Fix left pane draft display and GV2 typing indicators 2020-11-03 16:16:20 -08:00
Scott Nonnenberg
05f905fd10
A few small bugfixes 2020-10-30 10:56:03 -07:00
Scott Nonnenberg
cd9aee84f5
Always share profile on send; no profile sharing UI if no messages 2020-10-28 17:40:50 -07: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
5c0fcad6b1 Properly prepare, await and hand response for sync message send 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
Josh Perez
df2fa3c7b1
updateLastMessage: Use MessageController for latest data 2020-10-20 16:26:58 -07:00
Chris Svenningsen
fdc3476106 Fix a few pinned chat sync issues 2020-10-15 18:59:45 -04:00
Scott Nonnenberg
ac60d5db57
Small fix to ensure spinner and error dialog show properly 2020-10-15 15:03:08 -04:00
Josh Perez
fac1f26ad2 Better logging for pin/unpin 2020-10-15 14:35:57 -04:00
Scott Nonnenberg
75c7c526a6
setProfileKey: Drop profileAvatar when we get new profileKey 2020-10-14 11:50:17 -05:00
Evan Hahn
0d83076799 Use more exact type for addCallHistory 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
9002b21a6b Minimize downstream effects of storage sync 2020-10-12 18:10:08 -04:00
Evan Hahn
4206f1c463 Remove type cast from ConversationModel#isMe 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece GroupsV2: Better group invite behavior 2020-10-12 18:10:08 -04:00
Chris Svenningsen
cf9764c85a Consolidate checks for v2 Groups 2020-10-12 18:10:08 -04:00
Chris Svenningsen
6a7d45b6fc Pinned Chats 2020-10-12 18:10:08 -04:00
Josh Perez
9510fd1eec Cleans up mute state after mute expires 2020-10-12 18:10:08 -04:00
Chris Svenningsen
7b15bddfc9 Bring back conversation.leaveGroup for GV1 scenarios 2020-10-12 18:10:08 -04:00
Josh Perez
27759233e4 Storage Service Write: Improved conflict handling 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
63b2644cb4 Read Pinned Chats
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:08 -04:00
Evan Hahn
bb3ab816dd Remove unnecessary non-null assertion 2020-10-12 18:10:08 -04:00
Evan Hahn
bdd71e4898 Support APNGs in Sticker Creator 2020-10-12 18:10:07 -04:00
Scott Nonnenberg
b91107efbc Conversation.addSingleMessage: Use queue to maintain incoming order 2020-10-12 18:10:07 -04:00
Scott Nonnenberg
d39ede068a Two small bugfixes 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