Commit graph

336 commits

Author SHA1 Message Date
Jamie Kyle
76b9d07acf
Remove Signal.Util 2023-04-10 20:54:43 -07:00
Scott Nonnenberg
d9d820e72a
Support for receiving formatted messages
Co-authored-by: Alvaro Carrasco <alvaro@signal.org>
2023-04-10 09:31:45 -07:00
Fedor Indutny
f61d8f38b0
Context menu for left pane list items 2023-04-05 13:48:00 -07:00
Josh Perez
36e21c0134
Receive support for editing messages 2023-03-27 19:48:57 -04:00
Jamie Kyle
1d549a9991
Multi-select forwarding and deleting 2023-03-20 15:23:53 -07:00
Fedor Indutny
5dff1768bd
Page media in Lightbox 2023-03-03 19:03:15 -08:00
Fedor Indutny
bd40a7fb98
Graceful handling of readonly DB error 2023-03-02 09:59:18 -08:00
Fedor Indutny
287d7e70e5
Fix change counter check in fts optimization 2023-02-21 14:06:35 -08:00
Alvaro
a4b5968579
Removed deletion of over-attempts-unprocessed from saveUnprocessedSync 2023-02-21 14:03:48 -07:00
Fedor Indutny
329fe8f393
Periodically optimize FTS table 2023-02-09 13:13:08 -08:00
Fedor Indutny
486cbe0471
Support reporting token on envelope 2023-02-07 16:55:12 -08:00
Jamie Kyle
2bbcc4676e
Move receipt queues into conversation queue to handle 428s 2023-02-06 09:24:34 -08:00
Alvaro
e51f582bfb
Removed hard limit on unprocessed messages in cache 2023-02-02 11:39:07 -08:00
Fedor Indutny
e64816830b
Revert "Periodically optimize FTS table"
This reverts commit 5dfdde998b.
2023-01-30 15:55:11 -08:00
Fedor Indutny
270804d62d
Reorder migrations 2023-01-30 11:55:38 -08:00
Fedor Indutny
67b108c718
Optimize conversation open performance 2023-01-27 09:47:24 -08:00
Fedor Indutny
2637df0c42
Use Signal tokenizer in FTS5 2023-01-26 15:53:22 -08:00
Fedor Indutny
78a33f28c8
Fix change counter check in fts optimization 2023-01-25 13:22:13 -08:00
Fedor Indutny
5dfdde998b
Periodically optimize FTS table 2023-01-24 11:13:00 -08:00
Fedor Indutny
dba2a6b166
Fix syntax error in old SQL migration 2023-01-23 17:07:00 -08:00
Fedor Indutny
6ddb12cd99
Fully remove DQS from SQL queries 2023-01-18 17:06:07 -08:00
Fedor Indutny
c6e184016b
Log sqlite3 warnings 2023-01-18 14:12:33 -08:00
Fedor Indutny
efc54e44c4
Further optimize getConversationMessageStats 2023-01-17 16:44:22 -08:00
Fedor Indutny
1c22fe653c
Optimize some indices and queries 2023-01-17 14:07:21 -07:00
Fedor Indutny
d7b09b9703
Deprecate phone number discovery notification 2023-01-12 14:18:08 -08:00
Scott Nonnenberg
50a0110192
Stories: Proper notifications and handling of out-of-order messages 2023-01-11 14:54:06 -08:00
Jamie Kyle
e5638c0b20
Call Disposition 2023-01-09 16:52:01 -08:00
Scott Nonnenberg
b8234765bf
Update Backbone types: attributes is T - and fix failing type checks 2023-01-05 13:58:13 -08:00
Dimitris Apostolou
3c80272673 Fix typos 2023-01-03 13:02:01 -08:00
Jamie Kyle
3705b959d6
Remove end year from licenses 2023-01-03 11:55:46 -08:00
Fedor Indutny
dec23725e5
Use ReadonlyArrays in conversation model and redux 2022-12-21 16:07:02 -08:00
Fedor Indutny
ecbf84638d
Increase max attempt count for unprocessed items 2022-12-21 16:06:50 -08:00
Fedor Indutny
ed271d92ea
Add no-misused/floating-promises lint rule 2022-12-21 10:41:48 -08:00
Fedor Indutny
50d9b6e5e1
Use @signalapp/better-sqlite3 2022-12-14 12:48:36 -08:00
Nikita Karamov
7cd566726f Replace mkdirp with native fs.mkdir
Prior to this change, Signal-Desktop was using a rather ancient version
of `mkdirp`, which was meant for Node.js versions without native support
for this kind of functionality. Starting with Node v10, `fs.mkdir()` can
perform recursive directory creation.

Since Signal-Desktop doesn't utilize any advantages of using such an old
version of `mkdirp` [1] (let alone any version of `mkdirp`), we can
replace it with the native methods of `fs` (or `fs/promises`).

This transition slightly reduces the amount of packages needed to be
downloaded and included in the final app since it now relies on the
built-in API of Node.js.
2022-12-13 11:01:10 -08:00
Fedor Indutny
e08a2fa86c
Optimize database after running migrations 2022-12-13 09:07:48 -08:00
Scott Nonnenberg
f366454893
updatePNI: Cleanup only for obsolete PNI 2022-12-12 14:06:16 -08:00
Scott Nonnenberg
a49a6f2057
Notifications for a few merge-related scenarios 2022-12-05 14:46:54 -08:00
Fedor Indutny
d6d53f9d18
Optimize loading stories 2022-11-28 09:19:48 -08:00
Fedor Indutny
991580a1ed
Improve error handling during group sends 2022-11-22 10:43:43 -08:00
Fedor Indutny
98ef4c627a
Update eslint to 8.27.0 2022-11-17 16:45:19 -08:00
Fedor Indutny
efa29dc800
Fix getKnownMessageAttachments query 2022-11-17 13:06:19 -07:00
Evan Hahn
a88243f26d
Better handle group call ring race conditions 2022-11-16 18:52:04 -08:00
Fedor Indutny
854c946cc7
Interactive cleanup of orphaned attachments 2022-11-16 16:29:15 -08:00
Fedor Indutny
e6ebfe4fca
Update typescript to 4.8.4 2022-11-14 11:35:37 -08:00
Fedor Indutny
a0c03025d8
Relax schema 41 migration 2022-11-08 09:17:21 -08:00
Fedor Indutny
c286e0f9c6
Drop deprecated SQL columns 2022-11-03 10:25:27 -07:00
Josh Perez
471a9e2e98
Show group replies icon for stories with replies 2022-10-22 02:26:16 -04:00
Fedor Indutny
e14c3241c5
Refresh stories in redux when data changes 2022-10-20 12:16:37 -07:00
Scott Nonnenberg
4ec48df5b9
Additional work to include story=true on send 2022-10-07 10:02:08 -07:00
Scott Nonnenberg
2b2594c20a
Stories: Fix sender key persistence, pipe story: true into sends 2022-09-30 09:59:36 -07:00
Josh Perez
67c706a7ef
Ensure deleting conversation deletes story replies 2022-09-29 17:57:11 -07:00
Fedor Indutny
c0082adc56
Revert "Enable fullfsync mode in the database"
This reverts commit a2eac80034.
2022-09-27 13:15:53 -07:00
Scott Nonnenberg
a7253be213
getUnreadByConversationAndMarkRead: Take 'now' param for reliable tests 2022-09-22 16:49:06 -07:00
Jamie Kyle
eb10aafd7c
tsc:allowUnreachableCode, eslint:no-unreachable, assert->assertDev 2022-09-15 13:17:15 -06:00
Jamie Kyle
0086216c9d
Add eqeqeq rule but require == for null 2022-09-14 14:40:44 -07:00
Scott Nonnenberg
192c85bb0e getNextAttachmentDownloadJobs: Delete malformed jobs 2022-09-07 14:17:08 -07:00
Fedor Indutny
7ce4beb270
Refactor contact sync processing 2022-08-24 22:04:42 -07:00
Fedor Indutny
757af2cbbe
Include ACI+Access Keys pairs with CDSI requests 2022-08-18 13:44:53 -07:00
Fedor Indutny
00cfd92dd0
Send and receive PniSignatureMessage 2022-08-15 14:53:33 -07:00
Josh Perez
0a81376ca0
Do not accept stories without a name and no deletedAtTimestamp 2022-08-11 18:03:22 -04:00
Josh Perez
f9c2e9b0af
softAssert that messageId is always a UUID 2022-08-11 14:02:25 -07:00
Scott Nonnenberg
faf6c41332
Early preparations for PNP Contact Merging 2022-08-09 14:39:00 -07:00
Fedor Indutny
b47a906211
Stickers in storage service 2022-08-03 10:10:49 -07:00
Fedor Indutny
79b48115e6 Handle PniChangeNumber 2022-07-28 14:50:10 -04:00
Josh Perez
e321e1fea8
Edit distribution lists via story settings menu 2022-07-20 20:07:09 -04:00
Scott Nonnenberg
2f252b8e26
Repair broken attachments with non-array 'data' fields 2022-07-18 13:01:43 -07:00
Scott Nonnenberg
a2eac80034 Enable fullfsync mode in the database 2022-07-15 14:47:24 -07:00
Fedor Indutny
a450e13a99
Fetch PNI group credentials 2022-07-08 13:46:25 -07:00
Fedor Indutny
3111b804de
Add an extra assert to Data.saveMessage 2022-07-06 15:53:25 -07:00
Scott Nonnenberg
5fcf97b43b
Introduce logging for unexpected incoming urgent values 2022-07-05 15:20:30 -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
4568527232
Increase backstop queue timeouts across the app 2022-06-27 09:46:43 -07:00
Fedor Indutny
63679f5af6
Increment and store message migration attempts 2022-06-20 14:18:23 -07:00
Scott Nonnenberg
2464e0a9c1
Convert signal.js and preload.js to Typescript 2022-06-13 14:39:35 -07:00
Fedor Indutny
6aeddb9301
Order unprocessed envelopes by receivedAtCounter 2022-06-10 09:09:21 -07:00
Scott Nonnenberg
924c271b13
Convert js/modules/types/message to Typescript 2022-06-09 18:10:20 -07:00
Evan Hahn
f50a6abe36
Remove unused eslint-disables 2022-06-03 14:07:51 -07:00
Scott Nonnenberg
d753fe8fcb
getUnreadByConversationAndMarkRead: Only query incoming messages 2022-06-02 18:09:13 -07:00
Evan Hahn
2a2f44a73a
Convert message cleanup services to TypeScript 2022-05-31 16:53:14 -07:00
Fedor Indutny
dfc310805a
Allow manually retrying attachment downloads 2022-05-23 16:07:41 -07:00
Fedor Indutny
e86a312b74
Disable part of the migration 58 2022-05-18 09:44:43 -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
364d690cf3
On database error: Escape copies error and quits, additional logging 2022-05-03 12:06:47 -07:00
Scott Nonnenberg
e078a2ae54
Ensure that seenStatus is always updated along with readStatus 2022-04-29 16:42:47 -07:00
Fedor Indutny
d6b58d23d6
Increment unprocessed attempts when fetching 2022-04-28 15:28:30 -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
Scott Nonnenberg
3a1df01c9e
New 'unseenStatus' field for certain secondary message types 2022-04-22 11:35:14 -07: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
Chris Eager
2f5e4f1b98
Update message reporting to use sender ACI instead of E164 2022-04-12 12:54:04 -07:00
Fedor Indutny
42108c9ca9
Flush last conversation message save on shutdown 2022-04-12 11:16:58 -07:00
Scott Nonnenberg
9e54f55c22
Ensure that waitForAll functions catch and log thrown errors 2022-04-11 10:53:57 -07:00
Fedor Indutny
a15d84aade
Update better-sqlite3 2022-04-07 15:49:23 -07:00
Fedor Indutny
e1e1cfb892
Use fuse.js for regular contact search 2022-04-07 11:47:12 -07:00
Fedor Indutny
f7c3a44056
Update electron to 17.3.0 2022-03-29 10:06:42 -07:00