Fedor Indutny
9d04daff5f
Fix message_user_initiated
2021-12-21 22:49:40 +01: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
Evan Hahn
770c80b9ee
Remove several @ts-ignores
2021-12-16 17:14:21 -08: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
Evan Hahn
67b17ec317
Hide "become a sustainer" button if you're already a sustainer
2021-11-30 17:29:57 +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
Fedor Indutny
54c60ebb4f
Treat "file is not a database" as database corruption
2021-11-17 13:17:45 -08:00
Fedor Indutny
066a23a6a9
Preliminary support for destinationUuid field
2021-11-12 13:26:52 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1
2021-11-11 16:43:05 -06:00
Fedor Indutny
e50f76a909
Reduce amount of logging in 41st migration
2021-11-09 11:31:41 -06:00
Fedor Indutny
7f9beef055
Extra logging for GV2 UUID migration
2021-11-03 09:59:46 -05:00
Evan Hahn
f647c4e053
Display user badges
2021-11-02 16:01:13 -07:00
Fedor Indutny
246583d274
Fix runtime error during SQL migration
2021-10-27 12:15:03 -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
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
Josh Perez
9dc5214db7
Fix clear all data
2021-10-15 11:43:13 -07:00
Fedor Indutny
8cf6748dce
Delay initializing SQL in renderer
2021-10-07 11:16:51 -07:00
Fedor Indutny
dddb3129cc
Optimize removeKnownAttachments
2021-10-05 09:36:07 -07:00
Fedor Indutny
af387095be
API to suspend/resume tasks with timeout
2021-09-27 11:22:46 -07:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration
2021-09-23 17:49:05 -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
Fedor Indutny
1a3f87f7f6
Fix call order when closing sqlite in renderer
2021-09-07 14:21:55 -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
Fedor Indutny
488ac22860
Display dialog on corrupted database
2021-08-24 13:31:06 -07: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
8703b0e020
Reduce log file size
2021-08-09 15:04:17 -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
Fedor Indutny
886e8966ff
Drop support for signaling key
2021-07-19 18:11:07 -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
Fedor Indutny
455820a9cf
Fix "delete and restart" after database error
2021-07-09 17:43:36 -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
Scott Nonnenberg
3b444479c0
Include new database corruption check for SQL errors
2021-06-30 15:06:50 -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
Fedor Indutny
bc146a54af
await goBackToMainProcess
in sticker-creator
2021-05-20 17:37:18 -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
Fedor Indutny
41a4643380
Use synchronous methods in transactions
2021-05-20 17:37:09 -07:00
Scott Nonnenberg
e6bab06510
Receive support for Sender Key
...
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2021-05-20 17:37:08 -07:00
Fedor Indutny
fe505a7f2f
Fix hanging "Clear All Data" on Windows
2021-05-20 17:37:08 -07:00
Josh Perez
887b2c1db1
Get the correct unread count for a conversation
2021-05-10 11:49:13 -07:00
Josh Perez
1276368f94
Optimize read messages query
2021-05-07 17:50:14 -04:00
Josh Perez
e0c324e4ba
Send/Receive support for reaction read syncs
2021-05-06 21:15:25 -04:00
Evan Hahn
05703c2719
Blur avatars of unapproved conversations
2021-04-30 14:40:25 -05:00
Evan Hahn
bbd7fd3854
Initial support for job queue
2021-04-29 18:02:27 -05:00
Scott Nonnenberg
86d2a4b5dd
decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript
2021-04-29 14:27:35 -07:00
Fedor Indutny
a76534ed45
Fix FTS trigger for messages with NULL body
2021-04-28 15:22:33 -07:00
Fedor Indutny
cd489a35fd
sql: use temporary tables for FTS results
2021-04-27 13:24:57 -07:00
Fedor Indutny
c9d74654bf
sql: don't update FTS when body didn't change
2021-04-26 17:31:15 -07:00
Fedor Indutny
dd173216ed
sql: speed up fts query, report slow queries
2021-04-26 15:01:22 -07:00
Fedor Indutny
2c3911cad0
Use bodyRanges
from message whenever available
2021-04-15 13:46:09 -07:00
Fedor Indutny
1ca121aef5
Bundle sql worker with webpack
2021-04-14 14:15:26 -07:00
Evan Hahn
ea6562b7ac
Merge branch 'hiqua-no_lower_limit_query' into next-beta
2021-04-14 14:14:57 -07:00
Evan Hahn
1366c93ed8
Fix getUnprocessedCount error message
2021-04-14 12:31:10 -05:00
Fedor Indutny
cb75e8b5f7
Add missing awaits in SQL logging
2021-04-14 10:50:45 -05:00
Evan Hahn
842d7980a6
Remove old comment about await in loop
2021-04-13 15:22:28 -07:00
Fedor Indutny
15247e1c9a
Fix addStickerPackReference
2021-04-09 00:06:46 -04:00
Fedor Indutny
207d05fd05
Run SQL initialize in parallel with createWindow
2021-04-09 00:06:46 -04:00
Fedor Indutny
af9e038add
Optimize hot queries
...
`getLastConversationX()` is called from debounced function, but
depending on how fast the fetch from the server is the actual
invocations could happen for every other message. Prepare and optimize
queries to save time.
2021-04-09 00:06:46 -04:00
Fedor Indutny
4fd3ed7242
Bundle preload.js
2021-04-09 00:06:14 -04:00
Fedor Indutny
eb6d1b7216
Fix StickerType in sql/Interface and fix query
2021-04-09 00:05:41 -04:00
Fedor Indutny
0555ef0a1e
Change primary key for messages
table
2021-04-08 23:53:18 -04:00
Fedor Indutny
1fc7769f9f
Optimize database and run quick check
2021-04-08 23:53:18 -04:00
Fedor Indutny
b9248e04ed
Cache SQL statements used during startup
2021-04-08 23:53:18 -04:00
Fedor Indutny
37c8c1727f
Types, better-sqlite3, and worker_threads for our sqlite
2021-04-08 23:53:18 -04:00
Josh Perez
e4db9358cf
Storage service logging same
2021-04-06 15:54:47 -07:00
Fedor Indutny
cf50550936
Finish all renderer SQL queries switching to main
...
Don't switch to main process until all renderer SQL queries are
completed. If we switch while some of them are still running - we can
get SQL_BUSY from concurrent writes in main and renderer processes.
2021-04-05 18:08:50 -04:00
Evan Hahn
1a9c6b9385
Clean up iterable utilities
2021-04-05 18:08:50 -04:00
Jost Schulte
9823eb2201
Fix typos in TypeScript and SCSS files
...
See [#5136 ][0].
[0]: https://github.com/signalapp/Signal-Desktop/pull/5136
2021-04-02 15:28:07 -05:00
Fedor Indutny
746e99b8c2
Flush all watchers on empty queue
2021-03-25 17:00:03 -07:00
Fedor Indutny
5f9a75d9f4
journal_mode=WAL and synchronous=NORMAL for database
2021-03-24 14:35:06 -07:00
Scott Nonnenberg
2df7569389
saveMessages: Delete from messages_fts table even in insert case
2021-03-22 18:09:50 -07:00
Evan Hahn
b725ed2ffb
Refresh profiles on app start (at most every 12 hours)
2021-03-19 16:57:36 -04:00
Fedor Indutny
021b54cb75
Fix sqlite3 threadpool exhaustion with db.serialize() on startup
2021-03-19 16:57:35 -04:00
Josh Perez
f07da67c60
Toggle between db in renderer and in main
2021-03-19 16:57:35 -04:00
Josh Perez
d82ce07942
Improve cold start performance
2021-03-19 16:57:35 -04:00
Scott Nonnenberg
7e629edd21
Move SignalProtocolStore to TypeScript
2021-03-19 16:53:52 -04:00
Evan Hahn
06fb4fd0bc
Add "new conversation" composer for direct messages
2021-03-19 16:53:51 -04:00
Evan Hahn
6bbcf86772
Shorten searchConversations SQL query
2021-03-19 16:53:51 -04:00
Scott Nonnenberg
2f90d6aca9
Manually manage full-text search table
2021-02-04 12:46:55 -08:00
Evan Hahn
bc37b5c907
Add an assertion when updating conversations; update cleanData
2021-02-04 11:54:03 -08:00
Scott Nonnenberg
21611266e5
Cache: Store sourceUuid for message rehydration
2021-02-04 11:43:10 -08:00
Scott Nonnenberg
089e2864b3
Reduce unnecessary or overly verbose logging
2021-02-04 11:39:07 -08:00
Scott Nonnenberg
12c44d40a8
makeLookup: Allow for key of zero
2021-01-27 14:39:45 -08:00
Evan Hahn
c8b551edab
Upgrade to Electron 11
2021-01-25 18:29:01 -08:00
Evan Hahn
8a72607fa7
Prefer type
to interface
and add an ESLint rule
2021-01-25 18:29:00 -08:00
Scott Nonnenberg
cbc6c29479
Finish in-redux conversation lookups, getPropsForSearchResult moved
2021-01-25 18:28:58 -08:00
Evan Hahn
dd0ea6b3fe
Upgrade TypeScript to the latest version, v4.1.3
2021-01-25 18:28:57 -08:00
Scott Nonnenberg
be9721c72d
Don't change left pane preview or order when someone leaves group
2021-01-20 11:31:44 -06:00
Scott Nonnenberg
9f81b4157b
Also use sent_at whenever we query database with received_at
2021-01-19 17:35:11 -08:00
Scott Nonnenberg
8116a8561d
Show progress dialog during delete
2021-01-12 18:42:15 -06:00
Scott Nonnenberg
3f58a9b762
Clean up UUID-handling to prepare for future
2020-12-09 17:26:37 -05:00
Evan Hahn
0c039bf431
Add group calling events to the message timeline
2020-12-07 14:43:19 -06:00
Scott Nonnenberg
2c69f2c367
Support for GV1 -> GV2 migration
2020-11-23 14:48:12 -05:00
Evan Hahn
8bfaf598af
Add license headers across the project
2020-11-04 13:03:13 -06:00
Evan Hahn
184f7e1bf3
Remove ESLint no-continue rule
2020-11-04 13:00:41 -06:00
Josh Perez
27759233e4
Storage Service Write: Improved conflict handling
2020-10-12 18:10:08 -04:00
Sidney Keese
dabab60f56
Remove TSLint
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Sidney Keese
7b6d8f55d6
Migrate textsecure to eslint
...
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Chris Svenningsen
b5df9b4067
Migrate messages, conversations, conversation_view, background to TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
Scott Nonnenberg
bc3b61db1d
Add p-queue timeouts; fix search crash; improve promise rejection logging
2020-09-21 15:42:51 -04:00
Scott Nonnenberg
7a02cc815d
Support for new GroupV2 groups
2020-09-09 17:34:57 -07:00
Josh Perez
1ce0959fa1
Storage Service: Write
2020-09-09 17:34:57 -07:00
Scott Nonnenberg
f5a3fdb174
getOlderMessagesByConversation: Allow falsey messageId for resiliency
2020-08-28 15:42:25 -04:00
Scott Nonnenberg
8d5e832ed6
Left pane preview/timestamp: Further refine logic
2020-08-28 15:42:25 -04:00
Scott Nonnenberg
2db1569fbd
Fix conversation last activity calculation
2020-08-13 17:47:50 -05:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements
2020-08-06 20:50:54 -04:00
Scott Nonnenberg
bab59ba2a1
Force social graph to pull down updates after beta.11 install
2020-07-30 13:27:44 -07:00
Scott Nonnenberg
901179440f
Merge contacts when we discover split or duplicated contacts
2020-07-30 13:17:45 -07:00
Josh Perez
5b83485c89
Update safety number change warning dialog
2020-07-30 13:10:05 -07:00
Ken Powers
83574eb067
Message Requests
2020-07-30 13:08:44 -07:00
Scott Nonnenberg
fcf5ebe9da
searchConversations: Search on e164 field, not id
2020-07-13 16:06:24 -07:00
Scott Nonnenberg
e536929e35
Handle messages with the same received_at
2020-07-13 16:06:24 -07:00
Ken Powers
d6d2d242d4
Always use sender certificates including UUID
2020-05-07 13:51:37 -07:00
Scott Nonnenberg
464c814a95
Remove all IndexedDB migration code
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
b7d56def82
Moves libtextsecure to Typescript
...
* Starting to work through lint errors
* libsignal-protocol: Update changes for primary repo compatibility
* Step 1: task_with_timeout rename
* Step 2: Apply the changes to TaskWithTimeout.ts
* Step 1: All to-be-converted libtextsecure/*.js files moved
* Step 2: No Typescript errors!
* Get libtextsecure tests passing again
* TSLint errors down to 1
* Compilation succeeds, no lint errors or test failures
* WebSocketResources - update import for case-sensitive filesystems
* Fixes for lint-deps
* Remove unnecessary @ts-ignore
* Fix inability to message your own contact after link
* Add log message for the end of migration 20
* lint fix
2020-04-15 14:45:11 -07:00
Scott Nonnenberg
6b094e1514
Refactor: Move data-access code to Typescript w/ shared interface
2020-04-15 14:45:11 -07:00