Commit graph

587 commits

Author SHA1 Message Date
Josh Perez
68398823e3
Log when a story gets an expiration timer set 2022-08-24 16:34:10 -07: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
5ec78374d1
Use just the timestamp for story expiration 2022-08-17 10:56:41 -07:00
Fedor Indutny
16222f6092
Reset pniCredential when our E164 changes 2022-08-17 09:22:59 -07:00
Josh Perez
ce77465d23
Mark stories as viewed if we have a view sync during modifyTargetMessage 2022-08-16 16:45:03 -07:00
Fedor Indutny
00cfd92dd0
Send and receive PniSignatureMessage 2022-08-15 14:53:33 -07:00
Scott Nonnenberg
da28b4d6cd
getUnverified/getUntrusted: Return conversation array, not collection 2022-08-12 15:43:24 -04:00
Scott Nonnenberg
a160fb7963
Unarchive conversations when we add a calling event to it 2022-08-11 17:28:55 -07:00
Josh Perez
5b6874b882
Download your own story attachments. Hydrate story replies on receive 2022-08-10 11:48:52 -07:00
Scott Nonnenberg
269d170275
A number of additional merging fixes 2022-08-10 11:39:04 -07:00
Josh Perez
ccc89545c5
Lets users send stories to groups 2022-08-10 14:37:19 -04:00
Alvaro
d4b74db05c
Don't create preview icon for links with no image (quotes) 2022-08-10 10:48:33 -07:00
Scott Nonnenberg
faf6c41332
Early preparations for PNP Contact Merging 2022-08-09 14:39:00 -07:00
Scott Nonnenberg
fde917c983
A few fixes for the emoji bundled with stickers 2022-08-08 11:21:00 -07:00
Josh Perez
190db3580d
Drop incoming messages with a story context and no matching story 2022-08-04 15:15:53 -07:00
Josh Perez
9eff67446f
Send text attachment stories 2022-08-02 15:31:55 -04:00
Josh Perez
3af478837d
Drop duplicate stories 2022-07-29 16:01:33 -07:00
Scott Nonnenberg
78ad890a20
Conversation.getProps: Allow for our own ACI to be missing 2022-07-25 14:08:31 -07:00
Scott Nonnenberg
2f252b8e26
Repair broken attachments with non-array 'data' fields 2022-07-18 13:01:43 -07: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
d7307934bc
Adjust some types 2022-07-12 17:37:21 -07:00
Scott Nonnenberg
14591358f1
Simplify expireTimer change handling, queue for contact sync 2022-07-11 17:32:26 -07:00
Fedor Indutny
07cc399550
Lazily fetch profiles when modifying groups 2022-07-11 11:50:14 -07:00
Josh Perez
712c9597c5
Fixes story reaction notification text 2022-07-11 11:35:55 -07:00
Scott Nonnenberg
1dc27a6144
enqueueMessageForSend: Capture storage service change on unarchive 2022-07-08 16:09:46 -07:00
Fedor Indutny
a450e13a99
Fetch PNI group credentials 2022-07-08 13:46:25 -07:00
Josh Perez
778f3721a6
Do not update unread count for story messages 2022-07-07 09:48:05 -07:00
Fedor Indutny
f92be05b15
Titlebar fixes 2022-07-05 09:44:53 -07:00
Scott Nonnenberg
06190b1434
Introduce new urgent property for outgoing messages 2022-07-01 09:55:13 -07:00
Josh Perez
9155784d56
Sync my stories with primary device 2022-06-30 20:52:03 -04:00
Scott Nonnenberg
d99e29dd25
Ensure expireTimer updates in Note to Self are never unread 2022-06-30 17:18:18 -07:00
Scott Nonnenberg
101d53c4ea
getUUID: Return undefined if uuid is falsey 2022-06-27 17:37:56 -07:00
Scott Nonnenberg
c35f901387
models/messages.initialize: If no ourConversationId, skip migration 2022-06-27 10:27:20 -07:00
Scott Nonnenberg
09124446a6
updateCallHistoryForGroupCall: If exists, update left pane preview 2022-06-27 10:10:09 -07:00
Scott Nonnenberg
4568527232
Increase backstop queue timeouts across the app 2022-06-27 09:46:43 -07:00
Fedor Indutny
6b231346d9
Fix management of selectedMessage in redux 2022-06-23 09:12:17 -07:00
Fedor Indutny
35e5eb847a
Better logging for expiration timer updates 2022-06-20 15:43:16 -07:00
Scott Nonnenberg
d547ef362e
Fetch latest group data on unblock of a group 2022-06-20 11:55:34 -07:00
Josh Perez
d970d427f8
Create text stories 2022-06-16 17:48:57 -07:00
Scott Nonnenberg
2464e0a9c1
Convert signal.js and preload.js to Typescript 2022-06-13 14:39:35 -07:00
Scott Nonnenberg
e18510e41c
Message: If collapsed in group, remove top margin on link previews 2022-06-13 14:29:10 -07:00
Evan Hahn
f50a6abe36
Remove unused eslint-disables 2022-06-03 14:07:51 -07:00
Scott Nonnenberg
e09d148c1d
On Sender Key distribution message failure, don't update send status 2022-06-02 14:25:55 -07:00
Evan Hahn
ab9a50357b
Convert libphonenumber utilities to TypeScript, removing unused ones 2022-06-01 10:48:16 -07:00
Scott Nonnenberg
16d180efac
Send just sync message if we've already sent to all recipients 2022-05-31 16:20:45 -07:00
Fedor Indutny
83b3ae9387
Expiration timer shouldn't count as unread on link 2022-05-25 13:48:23 -07:00
Fedor Indutny
7138daf5ef
Support keepMutedChatsArchived flag 2022-05-25 13:44:05 -07:00
Scott Nonnenberg
e281fbe0e0
Fix left pane summary for gift badges 2022-05-25 12:39:31 -07:00
Fedor Indutny
dfc310805a
Allow manually retrying attachment downloads 2022-05-23 16:07:41 -07:00
Evan Hahn
59b45399e4
Improve logic for app badge count 2022-05-23 15:21:14 -07:00
Fedor Indutny
3be95e821e
Pass abortSignal to sendToGroup 2022-05-23 15:08:13 -07:00
Fedor Indutny
7afe3fcca2
Combine two redux batches in send flow 2022-05-23 15:04:33 -07:00
Evan Hahn
28ab6e11f6
isMuted -> isConversationMuted 2022-05-23 18:37:53 +00:00
Scott Nonnenberg
a114e4e210
Gift Badges: A few tweaks 2022-05-16 12:54:38 -07:00
Scott Nonnenberg
dfd1190e8b
Groups: Show in left pane more often, proper join message 2022-05-16 07:53:54 -07:00
Scott Nonnenberg
105508c50f
Update unread count when creating important local notifications 2022-05-11 19:45:20 -07:00
Josh Perez
ddde85cdd8
Soft assert for hydrating story context 2022-05-11 16:47:19 -07:00
Scott Nonnenberg
69d0ed3309
Always provide isGroup/storyId to message-fetching functions 2022-05-11 15:20:47 -07:00
Scott Nonnenberg
0ba6a0926e
Support for incoming gift badges 2022-05-11 13:59:58 -07:00
Josh Perez
0ca66d6e95
Adjust story replies for direct conversations 2022-05-10 15:02:21 -04:00
Josh Perez
144d594e31
Remove announcementGroup capability checks 2022-05-09 11:15:46 -07:00
Scott Nonnenberg
d4e0f6a38d
Update conversation.unreadCount in just one place, from database 2022-05-03 13:24:31 -07:00
Scott Nonnenberg
e078a2ae54
Ensure that seenStatus is always updated along with readStatus 2022-04-29 16:42:47 -07:00
Josh Perez
6d576ed901
Allow multiple reactions to stories 2022-04-28 18:06:28 -04:00
Josh Perez
84411fee38
View next unread story improvements 2022-04-28 11:59:09 -07:00
Scott Nonnenberg
25282e3afa
getTotalUnreadForConversation: Add missing isGroup parameter 2022-04-27 10:41:24 -07:00
Josh Perez
2f44e33c9c
Move link notification to the conversation hero 2022-04-25 14:03:24 -07:00
Fedor Indutny
fd610a6300
Don't post extraneous verified change notification 2022-04-25 13:54:13 -07:00
Scott Nonnenberg
3a1df01c9e
New 'unseenStatus' field for certain secondary message types 2022-04-22 11:35:14 -07:00
Fedor Indutny
da45f26d37
Drop verified syncs, use storage service for event 2022-04-20 19:41:52 -04: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
Fedor Indutny
42108c9ca9
Flush last conversation message save on shutdown 2022-04-12 11:16:58 -07:00
Josh Perez
9f7ee9ae79
Force set expirationStartTimestamp on story messages 2022-04-11 14:28:01 -07:00
Scott Nonnenberg
7f89f6162f
Disable forward for messages with embedded contact 2022-04-11 13:57:44 -07:00
Josh Perez
0f16ef5dd6
Do not try to download text attachments 2022-04-08 10:03:10 -07:00
Josh Perez
d8e6516fb9
Fixes isAccepted logic when calling it for the first time 2022-04-07 19:12:35 -07:00
Josh Perez
9ffcd44e6d
Do not add non-messages to the timeline 2022-04-07 14:13:58 -07:00
Scott Nonnenberg
b50c96c0b5
Improve layout of various message bubbles 2022-04-07 09:58:15 -07:00
Josh Perez
16f0f4262a
Fix media not auto-downloading 2022-03-30 13:53:30 -07:00
Fedor Indutny
2aac3b5cb9
Split addSingleMessage for better batching 2022-03-29 15:30:55 -07:00
Josh Perez
3b5cc26fec
Adds logic around downloading stories 2022-03-28 18:10:08 -07:00
Scott Nonnenberg
e62606361d
Sort message-initiated timer updates before the initiating message 2022-03-28 17:25:11 -07:00
Fedor Indutny
c5a3ffddf9
Limit number of GV2 banned members 2022-03-23 15:34:51 -07:00
Scott Nonnenberg
8a36891512
addSingleMessage: Only loadNewestMessages if conversation is loaded 2022-03-22 18:37:45 -07:00
Fedor Indutny
f536421390
Better merging for changed keys in storage service 2022-03-21 15:06:34 -07:00
Scott Nonnenberg
bddd55d574
Challenge: Save conversationIds and start queues 2022-03-21 14:19:37 -07:00
Josh Perez
3620309f22
Show story replies in the timeline 2022-03-16 10:30:14 -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
Scott Nonnenberg
f217730b84
Support for people banned from joining groups via link 2022-03-14 18:32:07 -07:00
Evan Hahn
72c6c57186
If not enough messages are loaded (on tall screens), fix jankiness 2022-03-11 14:31:21 -08:00
Josh Perez
d0898cb0c2
Do not set conversation expire timer on incoming story msgs 2022-03-09 18:20:01 -08:00
Fedor Indutny
81e991af80
Use explicit method names for universal timers 2022-03-09 14:20:08 -08:00
Fedor Indutny
4a00ea46bc
Allow requesting profile without profileKey 2022-03-09 12:23:21 -08:00
Fedor Indutny
a72cf075ef
Optimize initial storage service fetch 2022-03-09 10:22:34 -08:00
Fedor Indutny
feef67da5a
Add extra notary signature checks to zkgroup 2022-03-08 13:07:52 -08:00
Evan Hahn
efee887135
Don't try generating link previews for debuglogs.org 2022-03-08 14:04:44 -06:00
Josh Perez
eb91eb6fec
Process incoming story messages 2022-03-04 13:14:52 -08:00
Evan Hahn
effe5aae6f
Assume everyone is GV2-capable 2022-03-04 13:48:44 -06:00
Scott Nonnenberg
0a52318be6
Delete for everyone: Track sends and show failure states 2022-03-04 11:22:31 -08:00
Evan Hahn
052a8e65e2
Add "clean up timer if necessary" utility 2022-02-25 10:37:15 -08:00
Scott Nonnenberg
7431f151b2
applyMessageRequestResponse: Don't leaveGroup in 1:1 conversations 2022-02-24 15:58:48 -08:00
Scott Nonnenberg
4763831d3e
background.ts: Introduce types for redux initialState 2022-02-23 12:48:40 -06:00
Scott Nonnenberg
b33b5d2a30
profileKey: Check length of incoming values, clear on failed send/fetch 2022-02-22 14:34:57 -06:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue 2022-02-16 10:36:21 -08:00
Fedor Indutny
4d21e1e22b
Update storage service when sharing profile key 2022-02-09 10:29:33 -08:00
Fedor Indutny
cb5131420f
Update storageService logging 2022-02-08 10:00:18 -08:00
Scott Nonnenberg
0a18cc50bd
New queue for view once syncs, handleRetry improvements 2022-02-08 09:30:42 -08:00
Fedor Indutny
0d19f9131b
Drop legacy feature flags 2022-02-04 13:33:09 -08:00
Fedor Indutny
e37c6e68ec
Sort conversations by active_at 2022-02-04 11:01:09 -08:00
Fedor Indutny
891e72a260
Make sure isPinned is in sync with storage service 2022-02-02 17:21:02 -08:00
Fedor Indutny
fdbb2bfb36
Normalize UUID in ConversationModel.initialize 2022-02-02 13:41:29 -08:00
Fedor Indutny
089116d069
Use identity key from storage service 2022-02-01 18:26:23 -08:00
Evan Hahn
c5ad020de7
Fix "mark conversation read" optimization 2022-01-31 13:52:09 -08:00
Jim Gustafson
ab9d33cf1a
Update to RingRTC v2.17.2 2022-01-28 13:55:36 -06:00
Fedor Indutny
53a27d022f
Create contacts during processing of group updates 2022-01-27 13:46:31 -08:00
Evan Hahn
f9440bf594
Timeline date headers 2022-01-26 17:05:26 -06:00
Scott Nonnenberg
68a458ec4a
Honor preferContactAvatars field on AccountRecord 2022-01-25 09:44:45 -08:00
Fedor Indutny
3bdb6977e6
Fix typo in unknownContact 2022-01-24 13:38:55 -08:00
Scott Nonnenberg
1c67df8b22
Fix incorrect translation key: unknownUser -> unnkownContact 2022-01-24 12:38:16 -08:00
Fedor Indutny
8cd557ff91
Add extra logging for change phone number 2022-01-20 14:44:25 -08:00
Fedor Indutny
26421b8c18
Log conversation open time 2022-01-19 16:40:29 -08:00
Scott Nonnenberg
f1586578ff
Properly handle groupIds in incoming block sync 2022-01-19 16:39:27 -08:00
Scott Nonnenberg
90356d4c0f
Move a number of sync messages to jobs for retry 2022-01-14 13:34:52 -08:00
Evan Hahn
393b740fe6
Fix crash when changing your username 2022-01-13 13:25:20 -08:00
Scott Nonnenberg
02a732c511
getProfiles: Fetch a maximum of three profiles at at a time 2022-01-11 11:40:20 -08:00
Scott Nonnenberg
7d397167cd
updateSharedGroups: Make one database query, check for membership, sort 2022-01-06 09:20:54 -06:00
Evan Hahn
2f90608e1b
Improve "send anyway" experience when starting app 2022-01-04 14:24:18 -08:00
Scott Nonnenberg
0163ef203b
loadAndScroll: Use one transaction to pull all data: old/new/metrics 2021-12-20 22:05:13 +01: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
29c3b8af89
Fix groupV2 change rendering in notifications and left pane 2021-12-16 09:44:54 -08:00
Fedor Indutny
73c702515b
Remove unnecessary casts in conversations.ts 2021-12-13 12:23:52 -06:00
Scott Nonnenberg
34fd945f83
No Backbone in data layer; server/client interfaces are now similar 2021-12-10 16:51:54 -06:00
Scott Nonnenberg
161b0e5379
Refactor sender key sends to allow distribution lists 2021-12-09 18:15:59 -08:00
Scott Nonnenberg
fdc9885baa
Migration and data access functions for stories 2021-12-08 20:52:46 +01: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
Josh Perez
cd91ed6f45
Do not allow attachments if there are link previews 2021-12-01 21:19:54 +01:00
Fedor Indutny
348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +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
Fedor Indutny
d5ae3c94dd
Don't add change number notifications to ourselves 2021-11-18 21:26:53 +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
f4e336836f
Add user badges to typing bubbles, refactor typing logic 2021-11-15 21:01:58 +01:00
Evan Hahn
ede34ecee3
Enable noImplicitOverride TypeScript compiler option 2021-11-12 15:44:20 -08:00
Scott Nonnenberg
cbae7f8ee9
Search for username in compose mode 2021-11-11 17:17:29 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Fedor Indutny
6e394a84d6
Less strict uuid fetch in areWeAdmin 2021-11-09 15:48:27 -08:00
Evan Hahn
d6ffb08a63
Disable class-methods-use-this lint rule 2021-11-04 16:04:51 -05: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
8670a4d864
Retry outbound reactions for up to a day 2021-10-29 18:19:44 -05:00
Fedor Indutny
71ee0568c0
Changing storageID shouldn't cause rerender 2021-10-28 15:38:37 -07: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
Scott Nonnenberg
43825d3f55
getIdenticon: Use conversation.getTitle() for contact name 2021-10-17 16:46:54 -05: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
Fedor Indutny
a537204fc0
Remove ts/services/timers.ts 2021-10-06 14:59:34 -07:00
Scott Nonnenberg
bd380086a4
Send related emoji along with Sticker, fix SendMessage types 2021-10-05 17:10:08 -05:00
Evan Hahn
3c91dce993
Don't show group call start notifications more than once 2021-10-05 16:11:40 -05:00
Fedor Indutny
a2dff82de2
Coalesce typing indicators when blocked 2021-09-29 15:46:35 -07:00
Fedor Indutny
8d1ab9fd69
Consistent scheduling of sendToGroup 2021-09-27 11:29:06 -07:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Evan Hahn
bf572cab9c
Properly initialize session reset send states 2021-09-23 13:21:35 -07:00
Evan Hahn
d2ef82686d
Notification improvements 2021-09-23 13:16:09 -05:00
Fedor Indutny
024a3521e1
Fix quote content-type for GIFs 2021-09-22 13:15:48 -05:00
Fedor Indutny
b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Evan Hahn
4e43459d34
Improve types for ConversationType's lastMessage 2021-09-20 14:20:53 -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
Scott Nonnenberg
dcf29078f4
ConversationView: Improve types 2021-08-30 14:32:56 -07:00
Evan Hahn
6f242eca57
Handle signal.me links 2021-08-28 08:27:38 -05:00
Evan Hahn
9e9a815a2b
ESLint: allow for..of 2021-08-26 13:18:00 -05:00
Fedor Indutny
4c6c869c86
Drop extraneous db query 2021-08-26 09:17:57 -07:00
Fedor Indutny
9236f59524
Log additional latency information on sends 2021-08-26 08:36:08 -07:00
Evan Hahn
f86f753df9
Add durations utility for computing durations 2021-08-26 09:10:58 -05:00
Josh Perez
e76f603233
Moves identicon svg to TS 2021-08-24 17:17:51 -07:00
Josh Perez
347f542ac0
Derive default conversation color from storage 2021-08-24 17:15:12 -07:00
Josh Perez
8f4a2026e4
Adds additional logging to profile sharing enable/disable 2021-08-24 16:37:17 -07:00
Evan Hahn
52328c2634
Add type for ConversationModel#getGroupV1Info 2021-08-23 16:15:34 -07: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
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
Fedor Indutny
f5a3d4bc8a
Fix various read sync inconsistencies 2021-08-16 17:16:00 -07:00