Commit graph

498 commits

Author SHA1 Message Date
Fedor Indutny
a2f1b469ea
Make sure that storySendMode is in group types 2022-11-19 00:31:18 -08:00
Fedor Indutny
629b5c3f6a
Better send state for unregistered recipients 2022-11-16 18:15:26 -08:00
Fedor Indutny
6be69a7ba8
Use DurationInSeconds for expireTimer 2022-11-16 13:18:02 -07:00
Fedor Indutny
d7a2669b49
Wrap eventHandlerQueue jobs with task with timeout 2022-11-09 10:59:32 -08:00
Josh Perez
19a42ed719
Onboarding story 2022-11-08 21:38:19 -05:00
Alvaro
d0fb25f758
Show and sort active groups when sending a story 2022-11-08 13:01:59 -07:00
Fedor Indutny
9ce8d5e68f
Fix storage service handling of contact status 2022-11-07 15:21:12 -08:00
Josh Perez
6700f6fa15
Clean up group story replies 2022-11-01 11:58:07 -07:00
Fedor Indutny
d6afae64d9
Check stories capability when sending replies 2022-10-25 17:03:51 -07:00
Fedor Indutny
a38b265e8b
Save conversation when toggling story status 2022-10-21 09:57:07 -07:00
Fedor Indutny
d26c5b7db8
Don't display sent stories in groups 2022-10-20 15:47:38 -07:00
Jamie Kyle
25bc16300c
Notify story creator for replies 2022-10-11 10:59:02 -07:00
Fedor Indutny
95bee1c881
Sync group stories through storage service 2022-10-07 17:19:02 -07:00
Jamie Kyle
3e73b30a9d
Dont forward group story replies into conversation 2022-10-04 11:42:42 -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
Fedor Indutny
59da9c7ae5
Stop using deprecated PniCredential 2022-09-21 09:18:48 -07:00
Fedor Indutny
62647a357f
Support unregisteredAtTimestamp in storage service 2022-09-19 11:47:49 -07:00
Alvaro
6cfe2a09df
Consecutive playback and per-conversation playback rate 2022-09-15 14:10:46 -06:00
Scott Nonnenberg
56ffd7bc3f
Expire Timer: If we generated change, don't mark unread 2022-09-06 17:52:07 -06:00
Fedor Indutny
2b5f0ffc10
Update Inter to 3.19 2022-08-31 12:57:21 -07:00
Alvaro
ca6300a86a
Added last-message's author to group conversation list in left pane 2022-08-25 09:16:37 -07:00
Fedor Indutny
7ce4beb270
Refactor contact sync processing 2022-08-24 22:04:42 -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
Fedor Indutny
16222f6092
Reset pniCredential when our E164 changes 2022-08-17 09:22:59 -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
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
78ad890a20
Conversation.getProps: Allow for our own ACI to be missing 2022-07-25 14:08:31 -07:00
Scott Nonnenberg
bfc56dd175
Introduce new Profile Fetch service, with centralized queueing 2022-07-13 17:46:46 -07:00
Josh Perez
d7307934bc
Adjust some types 2022-07-12 17:37:21 -07:00
Fedor Indutny
07cc399550
Lazily fetch profiles when modifying groups 2022-07-11 11:50:14 -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
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
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
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
Evan Hahn
ab9a50357b
Convert libphonenumber utilities to TypeScript, removing unused ones 2022-06-01 10:48:16 -07:00
Fedor Indutny
83b3ae9387
Expiration timer shouldn't count as unread on link 2022-05-25 13:48:23 -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
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
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
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
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
Scott Nonnenberg
7f89f6162f
Disable forward for messages with embedded contact 2022-04-11 13:57:44 -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
Fedor Indutny
2aac3b5cb9
Split addSingleMessage for better batching 2022-03-29 15:30:55 -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
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
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
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
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
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
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
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
Josh Perez
cd91ed6f45
Do not allow attachments if there are link previews 2021-12-01 21:19:54 +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
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
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
Evan Hahn
21c00f51bd
Improve reaction types 2021-10-13 09:29:15 -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
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
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
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
Josh Perez
91af0dad78
Faster preferences window 2021-08-18 13:08:14 -07:00
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