- numerous bug fixes
- wtv-mail system
- user account updates
- viewergen alpha (experimental webtv viewer patcher on pc_service)
- implement wtv-favorites with huge help from @JarHead4
- add wtv-ticket store api
- Bump vm2 from 3.9.5 to 3.9.7 in /zefie_wtvp_minisrv
- fix bf0app default rom
- Add wtv-1800 service to wtv-1800:/noflash
- handle webtvism:
- allow get/post variables to be the same name multiple times
- rather than overwrite, the server will now change the variable from a string to an array.
- Rewrite script processing a bit
- Instead of using eval() we now use a proper VM Context
- As a result, any scripting errors will now give a more useful filename and line number.
- However, some things may break, if they are dependant on variables we are not allowing in the context.
- BREAKING CHANGES:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts
- add star service
- change how we handle modules for services in the VM
- fixed wtv-disk:/sync always failed the first time
- implement production-like wtv-star handling (when a service port becomes unavailable, it requests the url over the wtv-star port to show an error page)
- renamed WTVDownloadList.js to WTVDisk.js
- a bit more work on WTVNews (created class)
- probably more stuff I can't remember
- numerous bug fixes
- add UTV tellyscripts
- BREAKING CHANGE: doErrorPage moved to wtvshared.doErrorPage
- but I fixed flashrom error handling..
- added a passthrough for old scripts
- added eMac's lzpf compression
- Bump vm2 from 3.9.3 to 3.9.5 in /zefie_wtvp_minisrv
- convert post_data to query if valid query data
- wtv-register system
- Store Session data as JSON flat file
- wtv-cookie support
- spent way too much time on a page no one will read
- move filterSSID to WTVClientSessionData
- disable compression until fixed
- do not delete WTVSec on last socket, instead recreate on prereg
- set 'wtv-bypass-proxy' to false
- rework header whitelist system for HTTP(s) proxy
- clean up SSID session data only if client is not seen for 3 minutes
- add shouldWeCompress() function
- add additional headers to wtv-setup:/get
- add initial blank wtv-music:/get-playlist
- update: WTVClientCapabilities: add unknown bits instead of logging error
- update: fix flashrom system
- update: webone example config
- update: app.js: more 'binary block' exclusions
- update: fix tellyscript folder name for case-sensitive filesystems
- add Lzpf compression
- added example docker-compose for minisrv + webone
- update: wtv-home:/home: reduce size of title to fit longer version numbers
- update: wtv-chat:/home: fix colors
- update: login system: do not send tellyscript nor login headers to reconnecting (eg client:redial) client
- fix: fixed tellyscript path for wtv-1800:/noflash (bf0app braindead)
- update flashrom subsystem:
- moved duplicate code into WTVFlashrom class
- smarter part information detection
- http(s) proxy updates:
- allow ~ character
- fix HTTPS when using HTTP proxy
- include example webone.conf for external HTTP Proxy
- update: app.js: enable graceful shutdown with SIGTERM
- update: add service ip to wtv-tricks:/info
- minor update: app.js: fix found file path in log on windows
- update: WTVClientCapabilities.js: allow setting flags to false, to prevent potential issue with changing cap flags
- update: add 'hasCap(flag)' function to WTVClientSessionData for easier client-capabilities checking (see wtv-home/home.js for an example)
- update: add isMiniBrowser() to WTVClientSessionData for easier detection of MiniBrowser.
- update: add 'setIRCNick()' function to WTVClientSessionData for ease of use
- update: add primative getMaxUsernameLength() to overcome username limitation in older builds
- update: wtv-chat:/home template
- update: app.js: add logging errors to file
- update: app.js: add really long timeout for closing missed sockets
- update: app.js: fix for minibrowser connectivity
- update: app.js: enhance security
- update: wtv-home:/home: fix wtv-needs-upgrade -> wtv-need-upgrade
- update: wtv-head-waiter:/login-stage-two: do not send wtv-settings:/get to minibrowser
- update: wtv-1800:/preregister: Disconnect and clean up all previous sockets for the connecting SSID when hitting preregister. Also re-create wtvsec_login.
- update: add initial wtv-capability-flags decoding, as well as wtv-tricks:/info demonstration
- update: rename classes
- minor update: quirky 'Special Thanks' in each custom class.
- minor update: notice about Initial Shared Key and multiple minisrvs
- update: wtv-music:/demo/index: update wtv-star image paths
- update: app.js: fix unencrypted post
- update: app.js: improve buffering and cleanup in attempt to fix occasional 'double-up' bug
- update: info.js: remove debug dump of capabilities
- Update: add test.js, syntax-testing script for `npm test`
- Update: wtv-chat:/home experimental nick change page thanks to MattMan (chat still giving issues on real boxes, works in Viewer)
- Update: README.md: Add ways to support the project
- major update: app.js: rewrite socket handling to stream data (fix issues POSTing with shoddy dialup, namely fix wtv-update:/sync issues)
- update: wtv-home:/home: remove broken irc test, add links to DiskHax and VFatHax, remove URL Accessor form from MiniBrowser because it doesn't work
- update: wtv-update:/sync: skip file if the Content-length matches the client and the client file is equal or newer, since client is not storing wtv-checksum for some reason. Client file time is set to when the client received the file last, and not actually when the file was modified on our end
- update: wtv-head-waiter:/login-stage-two: offer prompt to minibrowser to go to home or willie
- fix: clean up socket session data on socket error
- code fixup: use `${}` instead of escaping string
- app.js: better minibrowser session cleanup
- update: http(s) proxy: do not send internal 'wtv-connection-close' header to client
- fix: http(s) proxy: handle socks HostUnreachable error
- fix: wtv-head-waiter:/login-stage-two: usernames longerfix: build 3833 crashes when `wtv-user-name` is too long
- fix: wtv-log:/log
- add: wtv-chat
- add: wtv-setup