Commit Graph

129 Commits (5710c410c78a8dca6b3db2c658437384c30bfae2)

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