Commit Graph

413 Commits (b92d56af01a7568217e119b7448535465b18636e)

Author SHA1 Message Date
ansuz 0edcdcb1b8 oups! fix a missing callback that's been here for a while...
ansuz 27e57e7af0 oups! fix a missing callback that's been here for a while...
ansuz eac3e4cbcd sketch out some historyKeeper functionality related to access lists
ansuz 156c37942d implement new metadata commands related to allow lists and mailboxes
ansuz a280cc85d2 Merge branch 'staging' into communities-allow-list
ansuz 626a031115 resolve conflict with master/staging
ansuz ff73e96cb8 reimplement the trim history fix from staging
ansuz a4be6185de merge staging and do a little lint compliance
ansuz f478ae725d Merge branch 'staging' into communities-allow-list
ansuz 79f1280cf3 Merge branch 'soon' into staging
ansuz b56367414b don't overwrite cached indices when new users join a channel
ansuz 253ea0d336 Merge branch 'staging' into communities-allow-list
ansuz e8949168ec lint compliance
ansuz 5dff6535ed add a simple guard against unparsed messages when trimming history
ansuz 8694c17023 sketch out metadata commands for allow lists
ansuz f86196e40a implement shared environment between historyKeeper and RPC
ansuz 3f606d8c75 remove some duplicated code
ansuz 725d10fc60 nest storage directory inside './lib'
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.
ansuz cded52f83f replicate existing pinned.load API correctly
ansuz 65f88617cf add support for an optional handler for each pin log
great for analyzing which files are most in need of optimization
ansuz 3dc789cbca replace pinned.js with low-profile streaming implementation
ansuz 609eddc9e1 reimplement the the Pinned.load API
* recurse into directories on demand
* optimized for lower memory consumption
* less parallelism than before
ansuz 2345323f0d lint compliance
ansuz 2d6626234b yet another async scheduler, this time supporting flexible runtime control flow based on declarative priority levels
yflory 0f697ac865 Merge branch 'staging' into communities-trim
ansuz 1231cacef1 remove XXX
ansuz 57be324850 remove some XXX notes
ansuz 68a77885d4 suppress some routine server logs
ansuz 7f22da0f57 fix use of incorrect key format in admin-rpc
ansuz 7000be0e70 clean up historykeeper
ansuz 802034616c centralize historykeeper-rpc interaction in rpc methods
yflory fd095644a2 Merge branch 'staging' into communities-trim
yflory 64c0f3a90d Add missing RPC command
yflory 9a857ea058 Merge branch 'staging' into communities-trim
ansuz b4172676f3 lint compliance
ansuz f17d14fd99 simpler limit updates
ansuz bde17a62a1 continue refactoring rpc
ansuz fa525817ba fix broken removePins RPC
ansuz a00a9fd018 don't hang when reading unparseable lines from history
yflory 1d56c08700 Merge branch 'staging' into communities-trim
ansuz 3741cbcbc0 rewrite trimmed history WITH newlines
yflory 4079f1bfdb Fix RPC command
yflory 6655f493e0 Merge branch 'staging' into communities-trim
ansuz 5808c534b5 fix function signature for trimHistory RPC
yflory c9676e1c91 Merge branch 'staging' into communities-trim
ansuz 9c28941f6c lint compliance
yflory 5cb266838a Fix syntax error
ansuz 0d69620687 tweak the metadata line handler to handle an edge case in trim history
ansuz f8f3a48e8b use latest chainpad-server
ansuz 46dfa026f0 fix an API change that caused a typeError
ansuz 88be40ede3 standardize some function signatures and factor out a lot of boilerplate
ansuz 65ba85d97b clear historyKeeper cache when we trim a channel
ansuz 43307ffb1a define all server intervals in a map so we can easily clear them all
ansuz 6523974ca2 fix a WRITE_PRIVATE_MESSAGE rpc regression
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
ansuz 06c29ef1d1 latest api changes to match the netflux-server refactor
ansuz b922860339 drop usage of historyKeeper.setConfig
ansuz 80c012f34d prepare to merge history keeper and rpc
ansuz b093d3f0d2 WIP massive rpc refactor
ansuz ceb351326c split out some more rpc functionality and fix broken module paths
ansuz c1f222dd6c move metadata commands from rpc to their own module
ansuz bb7e8e4512 move login block functionality into its own rpc module
ansuz c765362744 move more rpc functionality into modules
ansuz c93b39c094 separate more rpc functionality into pinning and core submodules
ansuz ba6e3f33bd move admin commands into their own module
ansuz 39b0785406 apply custom limits immediately at startup
ansuz 9cdf54aff2 untested implementation of trimHistory
ansuz c388641479 drop support for 'retainData' configuration
ansuz f45de2b52f move some server deps from repo root to lib/
ansuz b585dd998d throw in a little asynchrony
ansuz 7072fe4fa4 implement and test a complex constrained scheduler
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>
ansuz 1da662687f guarantee asynchronous execution for batch reads and write queues
ansuz 9b74136b66 Merge branch 'invitations' into staging
ansuz 69e61ec2f2 ignore metadata commands which add invalid owners
ansuz 069776e804 use fast implementations of tweetnacl serverside
ansuz cb6b4a8eb3 always supply a callback when writing messages
ansuz ab868237a0 replace ad hoc line stream with readline module
ansuz 73854a8b6a implement Util.both
ansuz a3eff2728e update lib/once.js to match clientside definition
ansuz 29813e485d add a little debugging info to batch-read
ansuz fe884278f4 ignore non-interesting errors when processing metadata
ansuz dc078c1ca1 test mailboxes and RPCs from the command line, fix some minor errors
ansuz d81ff791ad WIP cli tests for rpc
ansuz 9ce7cea9cc abstract historyKeeper's batched reads implementation into a library
ansuz 4902554a61 implement per-channel fifo queues for metadata and channel writes
ansuz 70161dbd73 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into teams-server-features
ansuz ba18d5c79d WIP CLI client
yflory 4027672678 Store the mailbox of all the owners
yflory d52e449f87 Fix setMetadata RPC saferphore
yflory ed5671a548 Don't write metadata updates to the log if it doesn't change the value
yflory 738030e8c0 Add pending_owners commands
yflory e12e5e1f25 Allow pending_owners to claim ownership
yflory 28b2341f2c Serverside metadata update
ansuz c5ca82f0e1 throw errors if you try to update expiration times, as this isn't implemented yet
ansuz 0a0c64d240 only increment the metadata line index if you can parse the line
ansuz 1c37ec7aee prevent duplicated owners in metadata amendments
ansuz ce847700c4 expose the index of the metadata log processor
ansuz b36f50f2c9 update metadata queries to include edits
ansuz efd0efede4 implement RESET_OWNERS command for editable metadata
ansuz 7b18bf91ce implement functions for iterating over metadata logs
zimbatm 35dd3abbb5
make the config path configurable
ansuz ecd9647a2e add shutdown command for the logstore
ansuz cd793b295d provide a standard api for calculating pin data for a given public key
ansuz 5c9cd5ffc6 standardize pin calculation routine
ansuz d5a9eacef0 standardize loading of server configuration
ansuz dde28dfa02 reorder logLevel priority
ansuz f9eb1fde67 oops
ansuz 0bd14bfcbe fix logging to stdout and document logging configuration
ansuz b3e0f9e886 fix use before definition
ansuz 4e9273f35c improved logger behaviour and updated default configuration
ansuz e1e6d51038 new logging api