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
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
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
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
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
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
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
Scott Nonnenberg
f366454893
updatePNI: Cleanup only for obsolete PNI
2022-12-12 14:06:16 -08:00
Fedor Indutny
d6d53f9d18
Optimize loading stories
2022-11-28 09:19:48 -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
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
Scott Nonnenberg
192c85bb0e
getNextAttachmentDownloadJobs: Delete malformed jobs
2022-09-07 14:17:08 -07:00
Fedor Indutny
00cfd92dd0
Send and receive PniSignatureMessage
2022-08-15 14:53:33 -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
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
Fedor Indutny
63679f5af6
Increment and store message migration attempts
2022-06-20 14:18:23 -07:00
Fedor Indutny
6aeddb9301
Order unprocessed envelopes by receivedAtCounter
2022-06-10 09:09:21 -07:00
Scott Nonnenberg
d753fe8fcb
getUnreadByConversationAndMarkRead: Only query incoming messages
2022-06-02 18:09:13 -07:00
Fedor Indutny
dfc310805a
Allow manually retrying attachment downloads
2022-05-23 16:07:41 -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
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
Fedor Indutny
42108c9ca9
Flush last conversation message save on shutdown
2022-04-12 11:16:58 -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
Josh Perez
3b5cc26fec
Adds logic around downloading stories
2022-03-28 18:10:08 -07:00
Fedor Indutny
ca3f8b7df0
Store receivedAtCounter separately for unprocessed
2022-03-24 14:28:56 -07:00
Fedor Indutny
35b5087dc0
Short-circuit storyId predicate to optimize query
2022-03-21 14:21:35 -07:00
Josh Perez
3620309f22
Show story replies in the timeline
2022-03-16 10:30:14 -07:00
Scott Nonnenberg
703bb8a3a3
Introduce new 'Block request' button in timeline
2022-03-15 17:11:28 -07:00
Josh Perez
eb91eb6fec
Process incoming story messages
2022-03-04 13:14:52 -08:00
Scott Nonnenberg
30783c887c
Introduce new conversationJobQueue
2022-02-16 10:36:21 -08:00
Scott Nonnenberg
90356d4c0f
Move a number of sync messages to jobs for retry
2022-01-14 13:34:52 -08:00
Scott Nonnenberg
06165cb742
Include sender keys in SignalProtocolStore zones
2022-01-07 18:12:13 -08:00
Fedor Indutny
fa8ff2ae4c
Fix messages_preview index
2022-01-07 11:51:41 -08:00
Fedor Indutny
f5312b9463
Fix getUnreadReactionsAndMarkRead
2021-12-21 21:01:09 +01: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
Fedor Indutny
3228e22428
Fix batching in getUnreadReactionsAndMarkRead
2021-12-20 16:15:36 +01:00
Scott Nonnenberg
42cb570029
messages table: introduce new computed isStory field for index usage
2021-12-15 09:17:14 +01:00
Fedor Indutny
71ca3c0764
Drop old unprocessed envelopes
2021-12-13 17:25:44 -08:00
Evan Hahn
ebcd3e3e43
Remove unused getAllPrivateConversations
SQL function
2021-12-10 15:15:00 -08: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
Scott Nonnenberg
39e10efa39
Conversation last message/activity: Use IS/IS NOT to better handle NULL
2021-11-18 15:15:38 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1
2021-11-11 16:43:05 -06:00
Evan Hahn
f647c4e053
Display user badges
2021-11-02 16:01:13 -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
Fedor Indutny
1b1ed2cd05
Better reporting for DB corruption errors
2021-10-21 13:13:33 -07:00
Fedor Indutny
2c51c3fe84
Use console logger when regular is not available
2021-10-21 12:49:53 -07:00
Scott Nonnenberg
efde909484
Delete reactions when their parent message is deleted
2021-10-15 15:54:31 -07:00
Fedor Indutny
dddb3129cc
Optimize removeKnownAttachments
2021-10-05 09:36:07 -07:00
Evan Hahn
48daaaa81d
Ensure getLastConversationPreview
never returns expired messages
2021-09-20 10:57:59 -07:00
Fedor Indutny
b83c00f43f
Defer unprocessed item attempt update
2021-09-17 16:11:24 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window
2021-09-17 14:27:53 -04:00
Fedor Indutny
87b56fcfd0
Use logger interface in main sql worker
2021-09-16 14:54:06 -07:00
Fedor Indutny
3f7957c20d
Self-repairing message counter
2021-09-15 11:45:22 -07:00
Fedor Indutny
039bd072ed
Extra tests for SignalProtocolStore migration
2021-09-15 11:43:34 -07:00
Evan Hahn
fbedda194c
Handle missing conversation in SQL migration 41
2021-09-10 09:19:45 -07:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore
2021-09-09 19:38:11 -07:00
Fedor Indutny
7510be0caf
Detect database corruption consistently
2021-09-08 13:39:14 -07:00
Scott Nonnenberg
c6278aa173
Lightbox: A number of tweaks
2021-09-07 09:12:26 -07:00
Fedor Indutny
6f3191117f
Batch deleteSentProtoRecipient queries
2021-08-31 14:35:01 -07:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day
2021-08-31 13:58:39 -07:00
Fedor Indutny
798533a417
Keep UI settings on heartbeat expiration
2021-08-30 14:39:57 -07:00
Scott Nonnenberg
dcf29078f4
ConversationView: Improve types
2021-08-30 14:32:56 -07:00
Evan Hahn
9e9a815a2b
ESLint: allow for..of
2021-08-26 13:18:00 -05:00
Evan Hahn
f86f753df9
Add durations
utility for computing durations
2021-08-26 09:10:58 -05:00
Evan Hahn
79c976668b
Receive rings for group calls
2021-08-20 09:06:15 -07:00
Fedor Indutny
ac55b8d643
Close database in renderer
2021-08-18 09:52:48 -07:00
Fedor Indutny
d222376b8f
Run WAL checkpoint on exit
2021-08-17 14:55:34 -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
3f1adec614
removeAllConfiguration: Use json_remove instead of json_patch
2021-08-11 13:11:31 -07:00
Fedor Indutny
a001882d58
Change Phone Number notifications
2021-08-05 16:34:49 -07:00
Fedor Indutny
6637fc2b95
Migrate sourceDevice from TEXT to INTEGER
2021-08-02 14:55:31 -07:00
Evan Hahn
689542a9b4
Show additional data in debug log header
2021-07-30 09:43:16 -07:00
Fedor Indutny
93f60ee5a6
Don't forget to cleanup in-memory sticker pack
2021-07-29 11:59:26 -07:00
Scott Nonnenberg
7761d83055
Update timers whenever we mark messages read
2021-07-19 13:45:18 -07:00
Scott Nonnenberg
a42c41ed01
Message Send Log to enable comprehensive resend
2021-07-15 16:48:09 -07:00
Fedor Indutny
5da5ffe504
Add placeholder migration 36
2021-07-12 17:32:17 -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
Evan Hahn
da27a6ac64
Add array-type
TypeScript ESLint rule
2021-07-08 14:55:48 -07:00
Fedor Indutny
23acbf284e
Create missing index for markRead
2021-06-29 09:45:31 -07:00
Fedor Indutny
323eb0688b
Switch to FULL synchronous of sqlite
2021-06-23 09:16:41 -07:00
Fedor Indutny
9bffd24708
Use smaller batches for multi-var queries
2021-06-22 11:44:51 -07:00
Evan Hahn
ca330899bb
Backfill missing expire times for incoming messages
2021-06-18 12:12:04 -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
Evan Hahn
61ad1231df
Ensure we always set expiration timer
2021-06-15 16:49:05 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage
2021-06-14 17:09:37 -07:00
Fedor Indutny
a6ce00ff37
Fix check for universal timer notification
2021-06-02 13:55:10 -07:00
Fedor Indutny
4ee46cb490
Fix typo in SQL migration logs
2021-06-02 13:43:54 -05:00
Fedor Indutny
19f8042cd3
Universal Disappearing Messages
2021-06-01 13:45:43 -07:00
Fedor Indutny
e4d7e1e9c8
Simplify attachment jobs SQL query
2021-06-01 10:13:10 -07:00
Josh Perez
28f016ce48
Conversation Colors
2021-05-28 09:15:17 -07:00
Scott Nonnenberg
ee41e4f71d
A few small bugfixes
2021-05-27 13:47:39 -07:00
Evan Hahn
d4dc9b8e39
Message Requests: Add new "Report spam and block" button
2021-05-27 13:37:58 -07:00
Evan Hahn
20e501d9f1
Remove 4 unused database functions
2021-05-27 08:45:45 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key
2021-05-25 15:40:04 -07:00
Fedor Indutny
9693700dd2
Switch to WAL after cipher migration
2021-05-25 11:13:37 -07:00
Fedor Indutny
227f532ec2
Fix processing of cached envelopes
2021-05-24 14:30:56 -07:00
Evan Hahn
f3e207d0b0
Use timestamp instead of full model for tap-to-view age outs
2021-05-20 17:37:17 -07:00
Evan Hahn
6ccf97b5d0
getMessageById query should only select necessary field
2021-05-20 17:37:10 -07:00
Fedor Indutny
94d2c56ab9
Introduce in-memory transactions for sessions
2021-05-20 17:37:09 -07:00
Josh Perez
215d90fbe8
Always update unreadCount for conversations
2021-05-20 17:37:09 -07:00