ansuz
af47b2cab1
implement ADD_QUOTA admin decree
4 years ago
ansuz
998f2267c4
ensure the path to the decree file exists before attempting to write to it
4 years ago
ansuz
c2918ac888
fix inverted conditional
4 years ago
ansuz
b62d4387a6
drop support for SET_DEFAULT_STORAGE_LIMIT
...
it's redundant now that we support persistent admin decrees
and it was never exposed via the UI anyway
4 years ago
ansuz
0c5db31fbc
refactor quota logic for external usage
4 years ago
ansuz
bd6234c5bc
lint compliance and some notes
4 years ago
ansuz
1781ee2585
implement 'UPDATE_DEFAULT_STORAGE' as a decree
4 years ago
ansuz
7aa7d5978f
implement persistence of config changes from admin panel
4 years ago
ansuz
fcfcb3dca6
fix history trim for channels with access lists
4 years ago
ansuz
d509fd8b8f
downgrade severity of several XXX notes
4 years ago
ansuz
1ba080739b
Merge branch 'X' into staging
4 years ago
ansuz
cfcfe2f65f
enable APIs for XLSX export in firefox
4 years ago
yflory
e698241ee9
Merge branch 'historyOO' into staging
4 years ago
ansuz
04d1bc9cd7
archive inactive data in one of the server's workers
4 years ago
ansuz
6ada5fd751
always consider premium accounts to be active
4 years ago
ansuz
5358fab615
more WIP inactive account eviction
4 years ago
ansuz
a9b95865ba
Merge branch 'staging' into inactive-accounts
4 years ago
ansuz
d9219f4ecc
add a note for later
4 years ago
ansuz
5749b6fd7b
add an admin RPC to archive documents
4 years ago
ansuz
d794e0b48f
include inactive accounts in the archival script
4 years ago
yflory
25606b92bf
lint compliance
4 years ago
yflory
4f147d4fd2
Add support for onlyoffice history
4 years ago
yflory
b31707098a
Improve getHistoryRange to support 'toHash'
4 years ago
ansuz
95778cc7c9
respond with ENOENT instead of E_NO_OWNERS when archiving a file that does not exist
4 years ago
ansuz
b04133e6c3
remove some dead code
4 years ago
ansuz
a21c3372c0
avoid a potential type error
4 years ago
yflory
04af753a81
lint compliance
4 years ago
ansuz
03be102ce4
deduplicate some code by reusing the client definition on the server
4 years ago
ansuz
ebcc9a069b
add server-side support for the new format of public signing keys
4 years ago
ansuz
48deced859
fix serverside index corruption
5 years ago
ansuz
5b2929a6fc
suppress some useless info from some commonly logged errors
5 years ago
ansuz
9f1f01f3b4
disable worker task queueing and address a probable memory leak
5 years ago
ansuz
b0af6b5488
fix an incorrect condition when checking for available server workers
...
Also, log when the RPC queue has a backlog and when it is drained
5 years ago
ansuz
4037270a23
add a FIXME note for a sketchy implementation in history keeper
5 years ago
ansuz
02347d134a
queue signature validation per-channel to ensure correct ordering
5 years ago
ansuz
9975c27e84
increase timeout from one minute to three and decrease the number of parallel jobs per worker
5 years ago
ansuz
488f876ad6
lint compliance
5 years ago
ansuz
d35b015c3f
log some info on successful file uploads
5 years ago
ansuz
37d3995ac1
unify format of console output with stored logs
5 years ago
ansuz
8a5d012edf
add special error handling for a few special serverside errors
5 years ago
ansuz
8bee95d13d
improve error reporting in GET_HISTORY
5 years ago
ansuz
e05891184e
fix regression in maxWorkers
5 years ago
ansuz
b56c73be6e
delegate more work from getOlderHistory to the worker
5 years ago
ansuz
fd169ff39c
close streams after 2 minutes instead of 5
...
Hopefully this helps to even out our memory and CPU usage.
There's also some improved labels so that IF streams time out
we will know the exact origin of the offending call.
5 years ago
ansuz
bac8ef3c6e
lint compliance
5 years ago
ansuz
4e57e390da
write tasks inside of workers
5 years ago
ansuz
ba6faca02e
make the number of workers configurable
5 years ago
ansuz
0465f31a45
add a FIXME note
5 years ago
ansuz
04ab7f538a
recover from worker faults and unify worker types
5 years ago
ansuz
e0a6852b79
correctly serialize an error log
5 years ago
ansuz
9ed82640bf
Merge branch 'worker-queue' into staging
5 years ago
ansuz
e8b1fcf710
solve some cases where crashing workers could result in an invalid state for the queue
5 years ago
ansuz
9ed26cfeb0
lint compliance
5 years ago
ansuz
dc0460780f
Merge branch 'soon' into staging
5 years ago
ansuz
74567e0cf4
return process memory usage in GET CACHE STATS RPC
5 years ago
Martin Alexander Neumann
e3f42cbc20
Allow config.defaultStorageLimit to be zero bytes
5 years ago
ansuz
89262cd29e
resolve silly conflict and merge staging
5 years ago
ansuz
e527867e2e
queue blob and channel deletions per-user
5 years ago
ansuz
bd3e18d1a8
only cache a user's pinned channels if there are no errors when loading them
5 years ago
ansuz
bef18a9320
hotfix
5 years ago
ansuz
7fac997e93
increase some file storage timeouts related to streams
5 years ago
ansuz
95965c1dee
keep a parallel implementation of the pin loader to validate the new one
5 years ago
ansuz
a57bf94058
remove XXX note
5 years ago
ansuz
c53675c9d5
WIP worker rpc call queue
5 years ago
ansuz
d802173325
remove an invalid line
5 years ago
ansuz
2b3f6e3464
Merge branch 'soon' into staging
5 years ago
ansuz
adfd1eaaa2
avoid a silly typeError in the event of an error
5 years ago
yflory
32406a5995
Merge branch 'master' into staging
5 years ago
ansuz
834c96a4fc
update comments and remove some notes
5 years ago
ansuz
ed5d97f899
WIP history-keeper fixes
5 years ago
ansuz
eddbe80eef
Merge branch 'soon' into staging
5 years ago
ansuz
3d8e78a268
fix overly broad config interpretation for daily check
5 years ago
ansuz
e6ec891d9a
improve admin rpc for diagnosing memory used by the cache
5 years ago
ansuz
77961e3954
trim lookup tables for channels without checkpoints
5 years ago
ansuz
db9eaa8d4f
Merge branch 'soon' into staging
5 years ago
ansuz
6d0dee979a
allow admins to inspect index/metadata caches
5 years ago
ansuz
cbd3547814
remove log statements
5 years ago
ansuz
9058a59555
reassign db tasks if the responsible worker fails
5 years ago
ansuz
172823c954
lint compliance
5 years ago
ansuz
b5649707d1
export 'tryParse' command
5 years ago
ansuz
64b0879984
improve logging for parse errors
5 years ago
ansuz
3f86b6141e
rename worker processes
5 years ago
ansuz
d8a88cb4ca
run expiration tasks in a worker instead of the main process
5 years ago
ansuz
b0179eaad9
drop XXX note
5 years ago
ansuz
9dbd32758a
improve worker logging and move blob deletion to worker processes as well
5 years ago
ansuz
5f69fc18d0
suppress some noisy errors
5 years ago
ansuz
5f2d7c8dcf
increase worker rpc wait time before timeout
5 years ago
ansuz
33e8e65507
handle errors in the server's workers
5 years ago
ansuz
a4c8039cc7
improve error handling with rpc response API
5 years ago
ansuz
cb53bd1c15
lint compliance
5 years ago
yflory
e15196bd53
Merge branch 'reconnect' into staging
5 years ago
ansuz
14feef1757
calculate pin list checksums in a worker
5 years ago
ansuz
70a0d4efb4
move more database reads into the database worker
5 years ago
ansuz
bc13a21796
give fileStreams a little bit more time before closing them
5 years ago
ansuz
4ba36a9173
load user pins in the database worker
5 years ago
ansuz
50e8893b24
move the 'getOlderHistory' call into the database worker
5 years ago
ansuz
471e374533
compute metadata in the same child process that builds indexes
5 years ago
ansuz
479b76f848
lint compliance
5 years ago
ansuz
c2fcba31e3
remove an XXX
5 years ago
ansuz
967ca6afa9
suppress ENOENT errors when checking empty chat channels
5 years ago
ansuz
40251948d4
check authenticated rpc signatures in separate threads
5 years ago
ansuz
0e09c73a60
Merge branch 'master' into soon
5 years ago
ansuz
a2facc4a0d
Merge pull request #513 from 7adietri/patch-1
...
Add shutdown() to non-disk logger
5 years ago
ansuz
e128683ffb
call back with errors instead of throwing within the Storage module
5 years ago
ansuz
1240f4a2a5
Merge branch 'master' into soon
5 years ago
ansuz
90899aa2f4
start reviewing and removing XXX notes
5 years ago
yflory
fe14399e67
Merge branch 'whiteboard' into soon
5 years ago
ansuz
2ef0af29e5
guard against index worker rpc responses for a txid with no supplied callback
5 years ago
ansuz
ee8d5c9c36
fix the premiumUploadSize validation to check the correct attribute
5 years ago
yflory
dc0b26da0b
Merge branch 'soon' into staging
5 years ago
Alexander
a190af079d
Add shutdown() to non-disk logger
...
The script `evict-inactive.js` calls `Log.shutdown()` at the end, which currently fails if logging to disk has been disabled via `logPath`.
5 years ago
ansuz
ed63d98ab0
Merge branch 'scaling-index' into soon
5 years ago
ansuz
590e249500
resolve merge conflict
5 years ago
ansuz
31c7cecaf9
add a few checks for safety
5 years ago
ansuz
cea9705bbe
Merge branch 'aggressive-stream-closing' into staging
5 years ago
ansuz
faa133aab8
remove an XXX
5 years ago
ansuz
d386e223e4
simplify open/close of writeStreams
5 years ago
ansuz
32cd0f3c4d
increase timeout value from 15s to 45. ought to be enough for anybody
5 years ago
ansuz
05a4e86cdb
close streams whenever we finish using them. time out if necessary
5 years ago
ansuz
4522ffa18a
compute indexes in child processes
5 years ago
ansuz
f8ad649b45
[style] bail out early to avoid nesting
5 years ago
ansuz
019e5e708b
wrap workers in a function scope and add a validateMessage method to HK's Env
5 years ago
ansuz
5467e1ffac
replace ad-hoc response handler with Util.response
5 years ago
ansuz
9e85a1411e
abstract the logic around worker choice out of message handling
5 years ago
ansuz
631ea54b49
lint compliance
5 years ago
ansuz
67dd4a608c
Merge remote-tracking branch 'origin/scaling' into scaling2
5 years ago
ansuz
b2fcde87d8
implement an admin command to update the default storage limit without a restart
5 years ago
yflory
923616aef0
Use each process in order instead of using a random one
5 years ago
ansuz
f345998956
fix undefined reference
5 years ago
yflory
fb0eb1b20c
Use more subprocesses
5 years ago
yflory
0d636dabc9
Check signature for history keeper in a different process
5 years ago
ansuz
30f17040ac
close streams when possible, simplify some code, enforce asynchrony
5 years ago
ansuz
2a9780abcf
lint compliance
5 years ago
yflory
578042154e
Better reconnect after invalid lastKnownHash
5 years ago
ansuz
2d47e7e2cf
implement an admin rpc to fetch ulimit data
5 years ago
ansuz
81c7416095
lint compliance
5 years ago
ansuz
f644c24362
add an admin-rpc to count the number of open files
5 years ago
ansuz
1230057970
disable IS_PAD_PINNED
5 years ago
ansuz
e1a0daac9c
possible server fixes
5 years ago
ansuz
bc034d95a3
enforce asynchrony in 'gethistoryOffset'
5 years ago
ansuz
d4038344ba
stop iterating over tasks if you can't read the root directory
5 years ago
ansuz
4e8ebac3c1
guard against the possible non-existence of metadata for a channel
5 years ago
ansuz
b32f3e34af
fix local worker debugging on firefox
5 years ago
ansuz
6d8cdca7a3
add 'rejected' field to metadata when getMetadata requests are blocked
5 years ago
ansuz
9d8bb43d03
finally untangle metadata and index caches
5 years ago
ansuz
32d769447a
begin standardizing our method of streaming lines from files
5 years ago
ansuz
35eca2c5d2
pull file streaming out into its own file, leave a few notes
5 years ago
ansuz
ce6cf6f727
revert some changes that couldn't have possibly worked
5 years ago
ansuz
b126e4456b
simplify quota logic
5 years ago
ansuz
53ed247bc2
expose maxUploadSize and premiumUploadSize via /api/config
5 years ago
ansuz
170aa6d47e
clean up a few tasks related to allow lists
5 years ago
ansuz
2f00ff3278
simplify check-in deactivation
5 years ago
ansuz
03ff9bd0d7
start deprecating usage of myDomain
5 years ago
ansuz
de6b9e2228
apply some defaults when loading the config
5 years ago
ansuz
94d8e7f2c2
provide a consistent type for 'customLimits'
5 years ago
ansuz
3cf09924ae
fix default CSP headers
5 years ago
ansuz
8d509fd6d5
Merge branch 'staging' into small-config
5 years ago
ansuz
c26560e3f9
commit stashed admin-rpc refactor
5 years ago
ansuz
02fc343727
Merge branch 'staging' into small-config
5 years ago
ansuz
3df47a1415
continued WIP config reorganization
5 years ago
ansuz
294a444603
WIP removing defaults from the example config file
5 years ago
ansuz
59ad80d7f1
support larger upload sizes for users with premium accounts
5 years ago
ansuz
3f2ebb773b
merge master back to staging
5 years ago
ansuz
542150b775
merge server components from staging
5 years ago
ansuz
f951951077
merge communities-allow-list and lint compliance
5 years ago
ansuz
f0e5fc7614
merge some missing code from communities-allow-list
5 years ago
ansuz
ad08fe0c08
silence a few more routine websocket errors
5 years ago
ansuz
021a6b361f
remove a bogus XXX note
5 years ago
ansuz
033bd361f9
add backwards compatibility with older servers
5 years ago
ansuz
cac114bb52
merge staging into pending allow-list work
5 years ago
ansuz
386add7c58
fix an invalid use of dropChannel
5 years ago
ansuz
33c12c27a1
ignore successive metadata errors with the same message
5 years ago
ansuz
7ee8778210
kick unauthorized users from restricted channels
...
and update dependencies
5 years ago
ansuz
fe0e02a421
restrict access to metadata
5 years ago
ansuz
791aad53f2
WIP allow list changes
5 years ago
ansuz
597f417ad6
WIP block history requests that bypass JOIN restriction (where appropriate)
5 years ago
ansuz
79bc8830ef
disable access restriction if all owners are removed
5 years ago
ansuz
f579c9b059
semi-functional allow-list implementation in historyKeeper
5 years ago
ansuz
0edcdcb1b8
oups! fix a missing callback that's been here for a while...
5 years ago
ansuz
27e57e7af0
oups! fix a missing callback that's been here for a while...
5 years ago
ansuz
eac3e4cbcd
sketch out some historyKeeper functionality related to access lists
5 years ago
ansuz
156c37942d
implement new metadata commands related to allow lists and mailboxes
5 years ago
ansuz
a280cc85d2
Merge branch 'staging' into communities-allow-list
5 years ago
ansuz
626a031115
resolve conflict with master/staging
5 years ago
ansuz
ff73e96cb8
reimplement the trim history fix from staging
5 years ago
ansuz
a4be6185de
merge staging and do a little lint compliance
5 years ago
ansuz
f478ae725d
Merge branch 'staging' into communities-allow-list
5 years ago
ansuz
79f1280cf3
Merge branch 'soon' into staging
5 years ago
ansuz
b56367414b
don't overwrite cached indices when new users join a channel
5 years ago
ansuz
253ea0d336
Merge branch 'staging' into communities-allow-list
5 years ago
ansuz
e8949168ec
lint compliance
5 years ago
ansuz
5dff6535ed
add a simple guard against unparsed messages when trimming history
5 years ago
ansuz
8694c17023
sketch out metadata commands for allow lists
5 years ago
ansuz
f86196e40a
implement shared environment between historyKeeper and RPC
5 years ago
ansuz
3f606d8c75
remove some duplicated code
5 years ago
ansuz
725d10fc60
nest storage directory inside './lib'
5 years ago
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.
5 years ago
ansuz
cded52f83f
replicate existing pinned.load API correctly
5 years ago
ansuz
65f88617cf
add support for an optional handler for each pin log
...
great for analyzing which files are most in need of optimization
5 years ago
ansuz
3dc789cbca
replace pinned.js with low-profile streaming implementation
5 years ago