Commit graph

279 commits

Author SHA1 Message Date
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