Commit graph

549 commits

Author SHA1 Message Date
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
Fedor Indutny
e7be409961
Fix late view/read sync logic 2021-08-16 10:18:16 -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
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
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
Scott Nonnenberg
bcb9d2d2f3
Modernize DeliveryIssueDialog, fix outline clipping in Modal 2021-08-02 14:19:18 -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
Evan Hahn
8cadc40975
Replace MessageModel#isUnread with isMessageUnread utility 2021-07-29 09:29:07 -05:00
Fedor Indutny
1c1d0e2da0
Move to websocket for requests to signal server 2021-07-28 14:37:09 -07: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
Scott Nonnenberg
67d13e9ba8
More logging in addDeliveryIssue, properly wait in getProfiles 2021-07-26 17:00:16 -07: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
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
Scott Nonnenberg
e94eaf07a9
Message.sendSyncMessage: properly handle falsey id field 2021-07-20 17:29:44 -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
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
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