- proper gzip download for disk system (aka WNI reinventing the Content-Encoding: gzip wheel)
- send Last-Modified for static files
- send wtv-checksum for all disk system downloads
- other fixes
- rewrote sync system yet again
- more classes
- WTVShared class for shared functions
- clientShowAlert class for easy client:showalert urls
- User File Store
- Can upload with PUT commands in wtv-disk
- Programmically access files with new functions in WTVClientSessionData
- TODO: file browser
- other stuff I can't remember
- move wtv-update to wtv-disk
- allow accessing wtv-disk:/sync?group=&diskmap=
- rewrite Download List generation to be more proper
- only send files if diskmap has changed
- allow force redownload with &force=true
- fix bugs
- more WNI-like flow path
- make scripts use `service_name` variable so that they should work in a renamed service (eg not wtv-flashrom, untested)
- define a catchall name to run globally or per service
- catchall must be javascript, but not necessarily a .js file
- catchall can request async mode
- catchall will catch any non-existing requests under its directory
- see wtv-flashrom:/content/content-serve.js as an example, which will catch wtv-flashrom:/content/ URLs.
- http pc: sends HTTP/1.0 to PC clients
- can be disabled with `pc_server_hidden_service_enabled`: false
- can change servicevault path by changing string of pc_server_hidden_service
- get.js in default PC service vault to get any WTV Url on the service
- allow calls to saveSessionData() but do not actually write if user is guest
- saveSessionData() returns true even if guest, because false is meant to define an error
- You can also use SaveIfRegistered(), this will return false on both saveSessionData() errors AND guest mode;
- if you want to block guests, check for isRegistered() and block the request if it is false
- otherwise this update will allow all tools (including any logins) to work with guest mode, but the stored SessionData will not be persistently saved, and lost when the cleanup timeout hits (default 3 min), or the server is restarted.