* button "dl" in settings UI (always takes precedence)
* global-option and/or volflag "dlni"
* url-parameter ?dlni or ?dlni=0
the preference is applied per-volume when navigating between folders,
unless the settings-button has been toggled, which overrides that
until now, shares could be created with permissions read/write/delete
(any combination thereof), however the delete option was never fully
implemented and dysfunctional, hence now removed
using vn0/rem0 throughout _handle_rm would almost be sufficient
however the primary concern is ensuring integrity of metadata tables,
and _forget_file expects a dbv rather than the share's vn
responses sent early during request processing (primarily for
invalid requests) would display the username " " rater than "*"
in the controlpanel, in one case leading to user confusion
hooks returning exitcode 0 will:
* run the next hook, if any
* allow the original action, unless successive hook opposes
hooks returning exitcode 100 will:
* abort running successive hooks
* allow the original action
hooks returning anything other than 0 or 100 will:
* abort running successive hooks
* REJECT the original action
zmq can now respond with json; a dict with "rc", "rejectmsg",
"reloc" and so on, just like other hooks replying with json
context: if webworkers fail to initialize within 5sec,
up2k falls back to hashing on the main-thread instead
problem: if webworkers eventually do finish init,
they would then be racing the mainthread
fix: disconnect webworkers if init timeout
additionally, gradually extend the timeout as long as
the workers are still making progress initializing
if a textfile was shared with permission r below/inside a more
restrictive volume, then:
* if the parent volume had either permission g or h, then the files in
the parent folder could be accessed
* if the parent volume had anything stricter than g or h, then filenames
in the parent volume could be seen, but not accessed