signal-desktop/ts
Fedor Indutny 11bcbded64 Storage Service fixes to prevent crashes on Android
* Merge report v1 group settings into local v2 group

The invariants of Storage Service mandate that the remote data always
takes precendence over the local data. We have to updated
blocked/whitelisted/... of the v2 group even if the record is for the v2
group. After doing such update - sync the manifest back to the Storage
Service with correct v2 record for the group.

* Repair errored records before uploading manifest

Fetch and re-attempt to merge errored records before uploading the
manifest. This is useful in the cases where we were not aware of the V1
group when the remote manifest was fetched, and became aware of it
before the new manifest is generated. In such scenario, we should fetch
the records for things we have failed on last time and attempt to merge
them with our data. If they are merged - we should not let their
storageIDs hang in the new manifest, which would cause group duplicates
and crashes on other clients.

* Create v1 group for storage service record

If we receive storage service record with v1 group that we didn't sync
yet (or just don't have for any other reason) - create it instead of
pushing it to `storage-service-error-records`.
2021-03-19 16:57:36 -04:00
..
backbone background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS 2021-03-19 16:53:51 -04:00
build Add license headers across the project 2020-11-04 13:03:13 -06:00
calling Share group calling frame buffers to reduce memory usage 2021-01-25 18:28:59 -08:00
components Update types: attachments may not have url property 2021-03-19 16:57:36 -04:00
groups New Group administration: Add users 2021-03-19 16:57:35 -04:00
linkPreviews Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
logging Use classical rotation scheme for log rotation 2021-03-19 16:57:35 -04:00
metadata Move SecretSessionCipher to TypeScript 2021-03-19 16:57:35 -04:00
models Fix out-of-order message changes; remove isGroupV2, and double-update 2021-03-19 16:57:36 -04:00
notifications Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
protobuf Add license headers across the project 2020-11-04 13:03:13 -06:00
quill Make mention blot non-contenteditable 2021-03-19 16:53:51 -04:00
scripts Add license headers across the project 2020-11-04 13:03:13 -06:00
services Storage Service fixes to prevent crashes on Android 2021-03-19 16:57:36 -04:00
shims background.ts/conversation_view.ts modules, Whisper.View/ToastView in TS 2021-03-19 16:53:51 -04:00
sql Fix sqlite3 threadpool exhaustion with db.serialize() on startup 2021-03-19 16:57:35 -04:00
state Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
storage Check for conversation conflicts before writing 2021-03-19 16:57:35 -04:00
storybook Add license headers across the project 2020-11-04 13:03:13 -06:00
test-both Fix for UnregisteredUserError handling when fetching UUIDs 2021-03-19 16:57:36 -04:00
test-electron New Group administration: Add users 2021-03-19 16:57:35 -04:00
test-node Check for conversation conflicts before writing 2021-03-19 16:57:35 -04:00
textsecure MessageReceiver: Restore queuing for in-order decryption 2021-03-19 16:57:36 -04:00
types Update types: attachments may not have url property 2021-03-19 16:57:36 -04:00
updater Use the libsignal-client for curve operations 2021-01-27 14:39:09 -08:00
util Add download button and pending spinner for audio messages 2021-03-19 16:57:36 -04:00
views Generate blurHash for outgoing link previews 2021-03-19 16:57:35 -04:00
backboneJquery.ts Add license headers across the project 2020-11-04 13:03:13 -06:00
background.ts Set attachmentDownloadQueue = undefined on empty 2021-03-19 16:57:35 -04:00
ConversationController.ts Check for conflicts with group IDs 2021-03-19 16:57:35 -04:00
Crypto.ts Fixes rendering of about bio 2021-01-27 19:18:50 -05:00
dock_icon.ts Convert dock_icon.js to TypeScript 2021-01-25 18:29:01 -08:00
environment.ts Add an assertion when updating conversations; update cleanData 2021-02-04 11:54:03 -08:00
firstline.d.ts Convert logging infrastructure to TypeScript 2021-01-27 13:13:33 -08:00
groupChange.ts Group V2 invite links: in-conversation messages 2021-01-25 18:28:58 -08:00
groups.ts New Group administration: Add users 2021-03-19 16:57:35 -04:00
Intl.d.ts Disallow group names longer than 32 extended graphemes 2021-03-19 16:57:35 -04:00
libsignal.d.ts Move SecretSessionCipher to TypeScript 2021-03-19 16:57:35 -04:00
LibSignalStore.ts Move SignalProtocolStore to TypeScript 2021-03-19 16:53:52 -04:00
manage_full_screen_class.ts Hide title bar on macOS 2021-02-01 12:01:25 -08:00
model-types.d.ts Improve cold start performance 2021-03-19 16:57:35 -04:00
OS.ts Add license headers across the project 2020-11-04 13:03:13 -06:00
proxy-agent.d.ts Add license headers across the project 2020-11-04 13:03:13 -06:00
RemoteConfig.ts Check for conversation conflicts before writing 2021-03-19 16:57:35 -04:00
set_os_class.ts Hide title bar on macOS 2021-02-01 12:01:25 -08:00
sqlcipher.d.ts Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
textsecure.d.ts Improve cold start performance 2021-03-19 16:57:35 -04:00
window.d.ts Fix for unread syncs and ooo reactions 2021-03-19 16:57:35 -04:00