Commit Graph

2624 Commits (ee57c698d77e0aa31bfeab558ceba4a3ac6b98f8)

Author SHA1 Message Date
Beaudan ee57c698d7 Client side proof of work attached to messages
Skeleton calcPoW function that prepares payload for hashingFunction to increment Uint8Array nonce

Util function for converting a number to its Uint8Array representation

Actually perform calculate PoW nonce for every message

Adding bytebuffer as dependency and updated package-lock

Move PoW to new file and execute it in child process

TODO: Move send message logic to callback after child process has finished calculating the PoW

Refactored nonce calculation to function to be awaited

More readable timestamp grab plus converted to seconds

Nonce is now returned as a base64 string and included in request header

Also converted timestamp and ttl to string when including them in the header

Added a couple comments and tidied up some nonce logic
7 years ago
sachaaaaa 886f47b8e7
Prekeys sending: first pass (#12)
* add 'recipient' attribute in prekey database to allow binding a prekey to a recipient pub key

* Attach a PreKeyBundleMessage to the ContentMessage in fallback encryption mode

* Skip generating 100 prekeys upon registration

* Store the signed key signature in database
7 years ago
sachaaaaa d5ef0cfb03 Revert changes and rename keysPending to keyExchangeCompleted 7 years ago
sachaaaaa ecd300d68d Change keysPending flag to keyExchangeStatus in conversation model 7 years ago
sachaaaaa 6fe70b9b85 Send outgoing messages as raw bytes (Uint8Array) and moved recipient & ttl to header 7 years ago
sachaaaaa d521795cf8 add helper to set the keysPending flag for a discussion 7 years ago
sachaaaaa 22a86b5351 store key bundle status in conversation model 7 years ago
sachaaaaa 33ad509fbf Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
# Conflicts:
#	_locales/ar/messages.json
#	_locales/es_419/messages.json
#	_locales/he/messages.json
#	_locales/hi/messages.json
#	_locales/hr/messages.json
#	_locales/kn/messages.json
#	_locales/ko/messages.json
#	_locales/mk/messages.json
#	_locales/sr/messages.json
#	_locales/uk/messages.json
#	_locales/vi/messages.json
#	package.json
7 years ago
Scott Nonnenberg 3464eb65b8 Keep conversation.lastMessage in memory 7 years ago
Scott Nonnenberg 814b9cf26a Only accept 'you left group' messages when group blocked 7 years ago
Scott Nonnenberg 9c399624cc Support for blocking groups on mobile, via group/blocked syncs 7 years ago
Scott Nonnenberg 46dac94ab8 Pop toast on attempted attach if image attachment is too large 7 years ago
Scott Nonnenberg d0c4152d99 backup.js: Remove references to nonexistent i18n strings 7 years ago
Scott Nonnenberg ea8e76d9de MessageView: Only re-render on change of key conversation fields 7 years ago
Scott Nonnenberg 8584a79352 Don't treat sends to a group with unregistered users as an error 7 years ago
Scott Nonnenberg 998c35dcb3 Split configuration into low and high traffic files
Also, we're now handling config ourselves instead of using
electron-config and config dependencies.
7 years ago
sachaaaaa a6b4215b1f changed sendMessage request from PUT to POST 7 years ago
sachaaaaa 8bb7185c7a make loki_message_api::sendMessage use async/await 7 years ago
sachaaaaa bb65115d7d Ensure the unique object id is stored in the object to facilitate deleting it later. 7 years ago
sachaaaaa 2f562ce9e1 Change contact prekeys in db to allow multiple entries for each contact 7 years ago
sachaaaaa 9e0319acb0 fix encrypting message by returning fake localRegistrationID (not sure what it's for) 7 years ago
sachaaaaa 0832806bd9 wip: added helper to create mock contacts, almost got a session working 7 years ago
sachaaaaa 258a89bc21 create contactPreKeys and contactSignedPreKeys in database, with load/store helpers (rerun migrations required) 7 years ago
sachaaaaa e3cbf1caeb rename IndexedDB database to 'loki-messenger' 7 years ago
sachaaaaa b84ff76faf Fix error handling when sending message + clean up in loki_message_api 7 years ago
sachaaaaa 2ae91752d3 skip fetching profiles when clicking on contact 7 years ago
sachaaaaa 8ada6ce8ad serialize message as base64 7 years ago
sachaaaaa 1e14022e2f Add skeleton for Loki Message API. Wrap data in json (for now?) 7 years ago
sachaaaaa 8f33419b52 Change pubkey representation to hex instead of base64 7 years ago
jcktm 09a0c46637 added identity key above the conversation box 7 years ago
sachaaaaa c1d6e6113f ValidateNumber now accepts pubkeys instead of phone numbers. This allows starting a conversation with a pubkey. 7 years ago
sachaaaaa b043a469a2 Change regex that filters potentially valid contacts in search bar to match a pub key 7 years ago
sachaaaaa 1866aed432 Accomodate for upcoming signature in websocket connection header 7 years ago
sachaaaaa 187424f84a Change HTTP header from X-Signal-Agent to X-Loki-Messenger-Agent. 7 years ago
Scott Nonnenberg 57d13dad57 data/removeMessage: no need for additional model instantiation 7 years ago
Scott Nonnenberg 02fbea96c0 Move base64 conversions off of the main thread 7 years ago
Scott Nonnenberg 911bc63c67 Move all arrayBuffer<->base64 functions to be async 7 years ago
sachaaaaa 9638639045 Bypass SMS verification 7 years ago
Scott Nonnenberg 37f3054976 Both UI timer and database timer will remove expired message 7 years ago
Scott Nonnenberg 9f920aa35b Re-enable orphaned attachment cleanup 7 years ago
Scott Nonnenberg fedfbed304 Copy quoted message contents into quote on receipt
Also:
  - visually distinguish any reference we couldn't verify on receipt
  - show toast on quote click if we can't scroll to message
  - toast visuals redesigned to match rest of app
7 years ago
Scott Nonnenberg a247ffe5cf When iOS device has been linked, use iOS color scheme 7 years ago
Scott Nonnenberg 0eb2c958a5 Handle contact: don't exit early if timer is 'invalid' 7 years ago
Scott Nonnenberg 621883a0ce Disable drag and drop if it's not a file attachment 7 years ago
Scott Nonnenberg 516a729a45 Additional logging for sql commands in debug mode 7 years ago
Scott Nonnenberg 7983300f4a Use base64 strings for incoming message cache instead of binary 7 years ago
Scott Nonnenberg 9eefc0c29b SettingsView: Fix logging 7 years ago
Scott Nonnenberg 8c8475076b Data layer: return null if id not in database, not empty model 7 years ago
Scott Nonnenberg c88df69094 New SQL indices and query tweaks to eliminate table scans
Also: New logging on client side to track performance of db queries
7 years ago
Scott Nonnenberg e086d521f1 Increase the timeout for database updates 7 years ago