Commit Graph

148 Commits

Author SHA1 Message Date
ansuz f86196e40a implement shared environment between historyKeeper and RPC 2020-02-17 09:01:10 -05:00
ansuz 3f606d8c75 remove some duplicated code 2020-02-14 16:45:53 -05:00
ansuz 725d10fc60 nest storage directory inside './lib' 2020-02-14 16:29:30 -05:00
ansuz 38c1700173 Respond to pinning RPCs as soon as possible
(instead of waiting until you've read an unbounded number
of pin logs while queries back up in memory)

Also replace instances of 'publicKey' with 'safeKey' or 'unsafeKey'
to clearly and correctly indicate their format.
2020-02-14 13:46:40 -05:00
ansuz cded52f83f replicate existing pinned.load API correctly 2020-02-14 11:45:51 -05:00
ansuz 65f88617cf add support for an optional handler for each pin log
great for analyzing which files are most in need of optimization
2020-02-13 18:16:32 -05:00
ansuz 3dc789cbca replace pinned.js with low-profile streaming implementation 2020-02-13 17:46:10 -05:00
ansuz 609eddc9e1 reimplement the the Pinned.load API
* recurse into directories on demand
* optimized for lower memory consumption
* less parallelism than before
2020-02-13 17:41:36 -05:00
ansuz 2345323f0d lint compliance 2020-02-13 17:40:55 -05:00
ansuz 2d6626234b yet another async scheduler, this time supporting flexible runtime control flow based on declarative priority levels 2020-02-13 16:44:11 -05:00
yflory 0f697ac865 Merge branch 'staging' into communities-trim 2020-02-11 11:10:12 +01:00
ansuz 1231cacef1 remove XXX 2020-02-10 11:21:04 -05:00
ansuz 57be324850 remove some XXX notes 2020-02-10 10:01:02 -05:00
ansuz 68a77885d4 suppress some routine server logs 2020-02-10 09:03:16 -05:00
ansuz 7f22da0f57 fix use of incorrect key format in admin-rpc 2020-02-10 08:07:29 -05:00
ansuz 7000be0e70 clean up historykeeper 2020-02-07 18:58:57 -05:00
ansuz 802034616c centralize historykeeper-rpc interaction in rpc methods 2020-02-07 12:53:12 -05:00
yflory fd095644a2 Merge branch 'staging' into communities-trim 2020-02-06 11:55:07 +01:00
yflory 64c0f3a90d Add missing RPC command 2020-02-06 11:54:46 +01:00
yflory 9a857ea058 Merge branch 'staging' into communities-trim 2020-02-06 10:55:12 +01:00
ansuz b4172676f3 lint compliance 2020-02-05 18:12:09 -05:00
ansuz f17d14fd99 simpler limit updates 2020-02-05 18:01:48 -05:00
ansuz bde17a62a1 continue refactoring rpc 2020-02-05 17:31:44 -05:00
ansuz fa525817ba fix broken removePins RPC 2020-02-05 13:05:06 -05:00
ansuz a00a9fd018 don't hang when reading unparseable lines from history 2020-02-05 13:05:05 -05:00
yflory 1d56c08700 Merge branch 'staging' into communities-trim 2020-02-05 18:23:10 +01:00
ansuz 3741cbcbc0 rewrite trimmed history WITH newlines 2020-02-05 12:22:53 -05:00
yflory 4079f1bfdb Fix RPC command 2020-02-05 18:12:10 +01:00
yflory 6655f493e0 Merge branch 'staging' into communities-trim 2020-02-05 17:56:14 +01:00
ansuz 5808c534b5 fix function signature for trimHistory RPC 2020-02-05 11:53:47 -05:00
yflory c9676e1c91 Merge branch 'staging' into communities-trim 2020-02-05 17:05:45 +01:00
ansuz 9c28941f6c lint compliance 2020-02-05 10:47:43 -05:00
yflory 5cb266838a Fix syntax error 2020-02-05 11:28:27 +01:00
ansuz 0d69620687 tweak the metadata line handler to handle an edge case in trim history 2020-02-04 17:33:51 -05:00
ansuz f8f3a48e8b use latest chainpad-server 2020-02-04 11:15:44 -05:00
ansuz 46dfa026f0 fix an API change that caused a typeError 2020-02-03 18:47:18 -05:00
ansuz 88be40ede3 standardize some function signatures and factor out a lot of boilerplate 2020-02-03 18:32:21 -05:00
ansuz 65ba85d97b clear historyKeeper cache when we trim a channel 2020-02-03 17:14:42 -05:00
ansuz 43307ffb1a define all server intervals in a map so we can easily clear them all 2020-02-03 17:14:23 -05:00
ansuz 6523974ca2 fix a WRITE_PRIVATE_MESSAGE rpc regression 2020-02-03 15:47:41 -05:00
ansuz 779e817443 stop relying on netflux-server internals
* create RPC module from inside historyKeeper
* stop passing around netflux-server context
  * update to use newer netflux-server's formal APIs
* manage your own cache of indexes instead of storing things in the netflux context
2020-02-03 14:20:05 -05:00
ansuz 06c29ef1d1 latest api changes to match the netflux-server refactor 2020-02-03 10:03:43 -05:00
ansuz b922860339 drop usage of historyKeeper.setConfig 2020-01-27 18:54:16 -05:00
ansuz 80c012f34d prepare to merge history keeper and rpc 2020-01-27 17:57:39 -05:00
ansuz b093d3f0d2 WIP massive rpc refactor 2020-01-24 14:45:53 -05:00
ansuz ceb351326c split out some more rpc functionality and fix broken module paths 2020-01-24 13:36:14 -05:00
ansuz c1f222dd6c move metadata commands from rpc to their own module 2020-01-24 13:19:40 -05:00
ansuz bb7e8e4512 move login block functionality into its own rpc module 2020-01-24 13:14:26 -05:00
ansuz c765362744 move more rpc functionality into modules 2020-01-24 13:06:46 -05:00
ansuz c93b39c094 separate more rpc functionality into pinning and core submodules 2020-01-24 12:43:11 -05:00
ansuz ba6e3f33bd move admin commands into their own module 2020-01-24 11:25:48 -05:00
ansuz 39b0785406 apply custom limits immediately at startup 2020-01-24 09:57:12 -05:00
ansuz 9cdf54aff2 untested implementation of trimHistory 2020-01-23 17:58:24 -05:00
ansuz c388641479 drop support for 'retainData' configuration 2020-01-23 15:13:19 -05:00
ansuz f45de2b52f move some server deps from repo root to lib/ 2020-01-23 15:01:56 -05:00
ansuz b585dd998d throw in a little asynchrony 2020-01-23 13:27:12 -05:00
ansuz 7072fe4fa4 implement and test a complex constrained scheduler 2020-01-15 13:32:52 -05:00
Adrian Nöthlich a714e41d49
Log errors in faulty custom config file
CryptPAD now terminates and does not fallback to default config if the custom config is faulty.
The error in the custom config is logged to the terminal now.

Signed-off-by: Adrian Nöthlich <git@promasu.tech>
2020-01-04 23:58:01 +01:00
ansuz 1da662687f guarantee asynchronous execution for batch reads and write queues 2019-12-05 13:35:26 -05:00
ansuz 9b74136b66 Merge branch 'invitations' into staging 2019-09-30 10:53:10 +02:00
ansuz 69e61ec2f2 ignore metadata commands which add invalid owners 2019-09-27 14:28:59 +02:00
ansuz 069776e804 use fast implementations of tweetnacl serverside 2019-09-27 13:30:17 +02:00
ansuz cb6b4a8eb3 always supply a callback when writing messages 2019-09-12 18:04:24 +02:00
ansuz ab868237a0 replace ad hoc line stream with readline module 2019-09-11 11:01:41 +02:00
ansuz 73854a8b6a implement Util.both 2019-09-11 10:54:44 +02:00
ansuz a3eff2728e update lib/once.js to match clientside definition 2019-09-09 16:39:54 +02:00
ansuz 29813e485d add a little debugging info to batch-read 2019-09-06 15:03:42 +02:00
ansuz fe884278f4 ignore non-interesting errors when processing metadata 2019-09-06 13:36:06 +02:00
ansuz dc078c1ca1 test mailboxes and RPCs from the command line, fix some minor errors 2019-09-06 13:35:36 +02:00
ansuz d81ff791ad WIP cli tests for rpc 2019-09-05 18:01:21 +02:00
ansuz 9ce7cea9cc abstract historyKeeper's batched reads implementation into a library 2019-09-04 17:22:06 +02:00
ansuz 4902554a61 implement per-channel fifo queues for metadata and channel writes 2019-09-04 11:51:33 +02:00
ansuz 70161dbd73 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into teams-server-features 2019-09-03 17:08:16 +02:00
ansuz ba18d5c79d WIP CLI client 2019-09-03 16:36:27 +02:00
yflory 4027672678 Store the mailbox of all the owners 2019-09-03 15:11:23 +02:00
yflory d52e449f87 Fix setMetadata RPC saferphore 2019-09-03 13:29:57 +02:00
yflory ed5671a548 Don't write metadata updates to the log if it doesn't change the value 2019-09-02 17:16:14 +02:00
yflory 738030e8c0 Add pending_owners commands 2019-08-30 12:07:03 +02:00
yflory e12e5e1f25 Allow pending_owners to claim ownership 2019-08-30 11:49:15 +02:00
yflory 28b2341f2c Serverside metadata update 2019-08-28 12:40:35 +02:00
ansuz c5ca82f0e1 throw errors if you try to update expiration times, as this isn't implemented yet 2019-08-21 12:28:19 +02:00
ansuz 0a0c64d240 only increment the metadata line index if you can parse the line 2019-08-21 12:26:46 +02:00
ansuz 1c37ec7aee prevent duplicated owners in metadata amendments 2019-08-21 12:25:17 +02:00
ansuz ce847700c4 expose the index of the metadata log processor 2019-08-12 15:26:23 +02:00
ansuz b36f50f2c9 update metadata queries to include edits 2019-06-27 18:21:12 +02:00
ansuz efd0efede4 implement RESET_OWNERS command for editable metadata 2019-06-27 12:13:29 +02:00
ansuz 7b18bf91ce implement functions for iterating over metadata logs 2019-06-27 11:11:22 +02:00
zimbatm 35dd3abbb5
make the config path configurable 2019-05-15 14:56:07 +02:00
ansuz ecd9647a2e add shutdown command for the logstore 2019-04-23 13:25:03 +02:00
ansuz cd793b295d provide a standard api for calculating pin data for a given public key 2019-04-17 16:30:45 +02:00
ansuz 5c9cd5ffc6 standardize pin calculation routine 2019-04-17 14:46:46 +02:00
ansuz d5a9eacef0 standardize loading of server configuration 2019-04-17 13:48:39 +02:00
ansuz dde28dfa02 reorder logLevel priority 2019-04-11 11:23:22 +02:00
ansuz f9eb1fde67 oops 2019-04-11 10:54:00 +02:00
ansuz 0bd14bfcbe fix logging to stdout and document logging configuration 2019-04-09 14:29:02 +02:00
ansuz b3e0f9e886 fix use before definition 2019-04-09 11:57:33 +02:00
ansuz 4e9273f35c improved logger behaviour and updated default configuration 2019-04-09 11:40:51 +02:00
ansuz e1e6d51038 new logging api 2019-04-08 18:11:36 +02:00