Commit graph

116 commits

Author SHA1 Message Date
ansuz
4aaef2d811 remove use of deprecated 'new Buffer' instanciation 2020-01-06 14:29:45 -05:00
ansuz
af59f4c2c2 guard against invoking a method of an undefined attribute, resulting in a memory puddle 2019-12-09 18:30:23 -05:00
yflory
96cf6971ce Fix cancelling pending uploads 2019-10-31 12:07:38 +01:00
ansuz
afae5d7f85 apparently readline expects a 'close' event listener, not 'end' 2019-09-30 17:14:11 +02:00
ansuz
069776e804 use fast implementations of tweetnacl serverside 2019-09-27 13:30:17 +02:00
ansuz
744be9929f handle stream errors when uploading 2019-09-23 11:17:42 +02:00
ansuz
8326b8b270 disable automatic blob expiration since we can't quite rely on atime as an inactivity metric 2019-09-23 10:56:38 +02:00
ansuz
f2db93834b implement blob archival and WIP blob iteration methods 2019-09-20 16:43:57 +02:00
ansuz
d1e1a11e38 fix path issues in blobStore 2019-09-20 13:37:38 +02:00
ansuz
cb6b4a8eb3 always supply a callback when writing messages 2019-09-12 18:04:24 +02:00
ansuz
c7f70d7264 implement blob management methods in a dedicated file 2019-09-12 17:27:44 +02:00
ansuz
7cc1832a1f handle stream errors when checking for metadata 2019-09-11 15:40:25 +02:00
ansuz
ab868237a0 replace ad hoc line stream with readline module 2019-09-11 11:01:41 +02:00
ansuz
1d5534b593 provide more debugging info on metadata parse errors 2019-09-09 16:03:14 +02:00
ansuz
b59f03b949 consider changes to metadata logs as channel activity 2019-08-30 14:30:17 +02:00
ansuz
d6fc35cab4 mkdirp the path to metadata before writing 2019-08-26 17:44:21 +02:00
ansuz
b82c0a420a merge latest staging 2019-08-22 18:01:20 +02:00
ansuz
84e1057153 address remaining notes in the storage api 2019-08-22 17:48:28 +02:00
ansuz
a63bea1f59 remove invalid callback which would totally break channelBytes 2019-08-22 11:50:06 +02:00
ansuz
3c1aadd6c1 archive metadata even if there is no corresponding channel log 2019-08-22 11:49:43 +02:00
ansuz
a3a7bcbe35 add comments for lots of functions 2019-08-21 12:15:27 +02:00
ansuz
d6d7f4f601 include the size of the metadata log in the computed size of a channel 2019-08-21 12:14:49 +02:00
ansuz
2aebadcff3 use the correct path for channel data when restoring logs from the archive 2019-08-21 12:13:39 +02:00
ansuz
1c89e8d6ac A few updates for editable metadata
* add and update many comments
* correctly handle metadata for young channels and range requests
* add a simple implementation of 'writeMetadata'
2019-08-14 14:37:54 +02:00
ansuz
206de52ee8 call back from writeMetadata 2019-08-12 15:25:37 +02:00
ansuz
bf058d8042 prevent multiple callbacks when reading dedicated metadata 2019-07-23 13:56:37 +02:00
ansuz
b36f50f2c9 update metadata queries to include edits 2019-06-27 18:21:12 +02:00
ansuz
b128b7f02c updated methods for working with editable metadata 2019-06-26 17:55:36 +02:00
ansuz
fd43da2dbf archive and restore metadata logs and channel logs together 2019-06-25 16:38:29 +02:00
ansuz
a16d7171ad add some more notes 2019-06-25 16:31:21 +02:00
ansuz
0668abf68c correct the regular expression for iterating over channels 2019-06-25 15:42:10 +02:00
ansuz
fc9aaf0ecb remove unnecessary argument from channelExists
also add some notes
2019-06-25 15:41:20 +02:00
ansuz
3513e437b6 update atime when accessing files 2019-06-25 15:38:56 +02:00
ansuz
46cd796db5 label code that will need to change for editable metadata 2019-06-25 13:43:15 +02:00
ansuz
0cb3a13aca lint compliance 2019-06-19 12:10:14 +02:00
ansuz
b59969f48b archive channels at expiration time if configured to prefer archiving 2019-06-19 11:52:20 +02:00
ansuz
d19b704bb8 fix an inverted boolean 2019-06-14 13:38:09 +02:00
ansuz
1e5248ff9d implement methods for checking if a file exists in the database or the archive 2019-06-14 11:38:16 +02:00
ansuz
58cee9e13d remove an XXX because the code looks safe 2019-06-13 16:48:12 +02:00
ansuz
6aa6b706a4 don't release until you think about this XXX a bit more 2019-06-13 16:36:22 +02:00
ansuz
ddf4a6a784 pass the correct path to 'listChannels' for 'listArchivedChannels' 2019-06-13 12:16:23 +02:00
ansuz
7e455e6fce drop unnecessary code, restore instead of remove archived files in restoration script, change restore archived name 2019-06-13 12:16:23 +02:00
ansuz
cb0c4ee944 don't continue iterating in listChannels until a the current task has called back 2019-06-13 12:16:23 +02:00
ansuz
c0d908af4d implement 'unarchiveChannel' 2019-06-13 12:16:23 +02:00
ansuz
11976b262e add a note for later 2019-06-13 12:16:23 +02:00
ansuz
dd375a2a22 every type of storage should have its own nested directory within the archive 2019-06-13 12:16:23 +02:00
ansuz
7647f7c68a implement four new storage APIs
* listChannels
* listArchivedChannels
* archiveChannel
* removeArchivedChannel
2019-06-13 12:16:23 +02:00
ansuz
aa9a27634a actual lint compliance 2019-04-23 17:29:39 +02:00
ansuz
ec64de2c67 additional work on the storage API
* optimize layout on the filesystem
* drop some unused functions
* don't recurse over folders that you know won't be relevant
* remove empty folders
* add a migration API
* fix some minor bugs with asynchrony
* lint compliance
2019-04-23 17:20:03 +02:00
ansuz
7b55df5931 rewrite task execution as API instead of a script 2019-04-23 13:26:45 +02:00