Beaudan
c27d1ef69a
Clean some stuff in loki_rpc and get new difficulty from successful requests
6 years ago
Beaudan
e520bf109a
Persist PoW difficulty and update if get response from snodes
6 years ago
Beaudan
18a87d5463
Review changes
6 years ago
Beaudan
c02d5d4053
Lint
6 years ago
Beaudan
709db4bf54
Make sendMessage take options, remove redundant retrieve function and get constant
6 years ago
Beaudan
b43978ece1
Initial refactoring of sendmessage
6 years ago
sachaaaaa
1b1c18b928
Patch from Beau
6 years ago
sachaaaaa
edd5915bf2
Fix use .length on object
6 years ago
sachaaaaa
5f77f751d9
Replace generator function and other various fixes
6 years ago
sachaaaaa
09a9cfbf37
Refactor long polling for better concurrent requests
6 years ago
Beaudan
e63e9b9053
Small optimisation
6 years ago
Beaudan
faf1b4b66b
Lint
6 years ago
Beaudan
620380d2d9
Move filter messages to message api and some other cleaning
6 years ago
Beaudan
377e90bafe
Include long polling header for retrieve messages, extend retrieveMessages timeout to 40 seconds, reduce default tmeout to 5 seconds, remove dev/prod poll time difference
6 years ago
Beaudan
db8f8ba36f
Multiple all ttl values by 1000 and stop dividing timestamp by 1000 so they are both milliseconds
6 years ago
Beaudan
f076f94e71
Clearer last hash line
6 years ago
Beaudan
fa7042c043
Added wrong swarm error which gets thrown if we receive a 421 error, update the swarm lists if we get one of those errors
6 years ago
Beaudan
0f771d4db4
Rename loki_fetch to loki_rpc
6 years ago
Beaudan
b09f2970fc
Move NotFoundError to errors.js
6 years ago
Beaudan
929d272fcc
Fixed bugs with http being appended at wrong time and lastHash not being sent properly
6 years ago
Beaudan
531ee92dcb
Updated messenger to work with slightly different storage server API and changed swarm requests to go through storage server
6 years ago
Beaudan
6656a89092
Cleaned up a lot of the logs, stop them from printing more than once etc
6 years ago
sachaaaaa
53b0574a1f
Merge branch 'development' into channel_encryption
...
* development:
Manually set the dns servers for windows
Refactor local_loki_server
Refactor rpc calls to its own function.
# Conflicts:
# js/modules/loki_message_api.js
6 years ago
sachaaaaa
55e0ff1a88
Merge pull request #208 from Mikunj/message-api-refactor
...
Refactor rpc call to its own function.
6 years ago
sachaaaaa
ad5efc9ba3
lint
6 years ago
sachaaaaa
aa722590fa
use channel encryption with storage server
6 years ago
Mikunj
4a037387e9
Refactor rpc calls to its own function.
6 years ago
Mikunj
06be1da40d
Added p2p message styling
6 years ago
Beaudan
c0a6ba25bc
Update p2p messages to follow the same endpoint format as storage server. Clean up message_api a lil bit and updated tests
6 years ago
Beaudan
d6a210efaa
Reworked the update p2p details to be more robust and stopped some redundant pings from happening
6 years ago
Beaudan
25ded46e2c
Fixed some bugs removing nodes after the first failure instead of waiting for the failure count and also reduced the number of errors logged and made some warnings
6 years ago
Beaudan
b00a0cb699
Rename isOnline to isPing for clarity, and reduce the ttl for online broadcast messages to 1 min
6 years ago
sachaaaaa
d3f23db049
serialise objects to json before node-fetch
6 years ago
sachaaaaa
8eac72b60c
Fix typo
6 years ago
sachaaaaa
ed1d06d9ce
use 'params' as per json_rpc
6 years ago
sachaaaaa
159dc711e1
use new message json rpc API
6 years ago
Beaudan
2311bd1328
Fix bug with swarm node reference, now we should only refresh swarm nodes when they fail
6 years ago
Beaudan
5d823de6f9
Renamed lokiSnodeAPI to start with lower case for consistency, refactor snode API to use conversation controller
6 years ago
Beaudan
25383458b1
Fixed bug with our swarm nodes being removed from memory after a successful request because of returning a reference
6 years ago
Beaudan
a40a3d164f
Lots of logic for establishing a p2p connection, managing when the other user is online vs offline etc. Will always try to use P2P messaging when it can and fall back to storage server otherwise
6 years ago
Mikunj
efe95a70bc
Fix review issues.
6 years ago
Mikunj
3c07d99a89
Fix variable names.
...
Fix module export to be more consistent.
6 years ago
Mikunj
ddbbb1a6f0
Refactor fetch.
6 years ago
Beaudan
6ba7fb20b8
Fixed UI blocking when creating conversation, more review comments
6 years ago
Beaudan
e735b3ca41
Review comments, moved swarmNodes database stuff to just be in data.js
6 years ago
Beaudan
38ff70e2ec
Fixed some little redundant stuff in the message and snode api
6 years ago
sachaaaaa
8f165da43d
Fix sending loop that cycles indefinitely when offline
6 years ago
Beaudan
f6d167eda1
Split logic for getting swarm nodes from db, getting from lokinet and saving to db. Now tracking successfulRequests when making queries on top of the completedNodes list
6 years ago
Beaudan
dde63a552f
Fix bug with replayable errors, fix bug with set representation of swarmNodes not being handled properly
6 years ago
Beaudan
c83661ce3f
Added DNS resolution error for when lokinet isn't working, now keeping track of the nodes that have been queried and not trying them again
6 years ago
Beaudan
561d60cfd5
Sending messages now in a while loop like retrieving messages, added a failureCount and only delete node urls if they fail 3 times
6 years ago
Mikunj
e08a63d078
Merge development into lint
6 years ago
Beaudan
bdbdf15469
Added timeouts for requests so they don't for ages. Changed swarmNodes to be a set to work property with merge, now removing contact swarmNodes if they timeout
6 years ago
Beaudan
24553e29e7
Made swarm requests ACTUALLY not wait for them all to finish and stop saving swarmNodes as DB column
6 years ago
Beaudan
7b1799c418
Big ol' hunk o' chunk. Now using random.snode to populate swarm lists, now making multiple requests from said lists and they are processed as they complete rather than waiting for all to resolve
6 years ago
Beaudan
37ba762312
First stuff for contacting specific nodes for each contact. Hard coded to hit the same bootstrap node for now plus doesn't handle unreachable nodes/errors well yet
6 years ago
Mikunj
6bd2d3962e
Linted files
6 years ago
Beaudan
6113f13d3a
Rip the worker logic out of message_receiver and add the functionality for it to work with pow. Fix pow tests to work with those changes
6 years ago
Beaudan
b515fc41e7
Removed some repetetive logs, made the polling time a variable and lower the polling time and PoW difficulty if we are in debug mode
7 years ago
sachaaaaa
ccb5ff79d4
Use correct log level in development mode and use log.debug() for some of the reoccurring logs
7 years ago
Beaudan
489ec8fc65
Heap of linting, eslint warning/error removal, and fixed a couple small bugs found along the way
...
Created new table to store the received message hashes. Checking this table when receiving messages to look for duplicates. Should be cleared of expired messages on app start and every hour after
Removed id which was not needed for seen messages. Refactored filter logic into function and found function name error
create unique index for contact prekeys (to allow using REPLACE)
Fixed lint stuff that merge brought back
7 years ago
Mikunj
ece266fffd
Added showing pow icon.
7 years ago
Beaudan
3aa135fdb4
Grabbing last hash from server response. only requesting messages after the lasthash. Keeping track of lasthash for array of nodes (currently hardcoded for one)
7 years ago
sachaaaaa
ad1cf94526
ES2015 classes for LokiServer and FallBackSessionCipher
7 years ago
Beaudan
c59b196487
Now reading messages and adding them to conversations. Some cleaning of unreachable code. Modified the message data to be encoded as base64 string before sending to server
...
Sending our public key in header of message
Now attaching our key to the source field when sending messages, allows messages to be decrypted with the fallback cypher
Now polling the server for messages every 5 seconds
Sending the source device with messages
Added mock respond function to request to leave it that same as the websocket stuff. RetrieveMessages now just returns the result
Polling now continues if the server responds with an error. Returning only the result from sendMessage and retrieveMessages
Revert commenting of unreachable code
Refactored http logic into own file
Revert a change to websocket-resources
7 years ago
Beaudan
1ccf3b6b95
Added function to loki_message_api to do a single request call to storage server. Currently just gets called once when the application starts
7 years ago
Beaudan
519d372e63
Tiny url update to work with the storage server
7 years ago
sachaaaaa
4b9fcb98d4
Linting and other housekeeping stuff
7 years ago
Beaudan
4598fd222a
Cleaned up newNonce stuff. Now doing target calculation with BigIntegers
7 years ago
Beaudan
d4180b3ca6
Some syntax tidying up, plus fixed bug with message data not being a uint8array after IPC message
7 years ago
Beaudan
dfa8b59bc3
Using let and const properly, updated number to uint function, general cleaning
7 years ago
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
6fe70b9b85
Send outgoing messages as raw bytes (Uint8Array) and moved recipient & ttl to header
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
0832806bd9
wip: added helper to create mock contacts, almost got a session working
7 years ago
sachaaaaa
b84ff76faf
Fix error handling when sending message + clean up in loki_message_api
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