v0.4.0
What's Changed
- fix some code style issues by @dyc3 in #855
- fix crashing and burning if unloading a room fails by @dyc3 in #858
- Better Config by @dyc3 in #849
- update dockerignore by @dyc3 in #861
- refactor: use redis a bit less by @dyc3 in #854
- refactor Client into DirectClient and BalancerClient by @dyc3 in #856
- Make using
roommanager.getRoom
harder to fuck up by @dyc3 in #863 - hotfix for exceptions being thrown by @dyc3 in #865
- fix remaining getroom calls by @dyc3 in #866
- Add Load Balancer Prototype by @dyc3 in #857
- add rust CI job by @dyc3 in #872
- fix clippy lints by @dyc3 in #873
- don't let getClientInfo throw exceptions by @dyc3 in #874
- Balancer: refactor to use hyper instead of rocket by @dyc3 in #875
- Balancer: add minimal reverse proxy by @dyc3 in #876
- Stability fixes by @dyc3 in #877
- Monolith: add support for balancer clients by @dyc3 in #880
- fix e2e tests and misc other little things by @dyc3 in #883
- Misc Balancer connection management stuff by @dyc3 in #884
- update cypress to 12.8.1 by @dyc3 in #892
- Add video queue exporting by @dyc3 in #886
- add support for node 20 by @dyc3 in #894
- Change default room visibility to unlisted by @GPery in #896
- update vuetify to 3.3.3 by @dyc3 in #898
- finish converting api endpoints to typescript by @dyc3 in #897
- add
postgres_table_ops
by @dyc3 in #903 - Optimize user list sync bandwidth and performance by @dyc3 in #902
- Misc typescript conversions by @dyc3 in #900
- convert usermanager to typescript by @dyc3 in #907
- fix some errors and logging by @dyc3 in #909
- improve missing token error by @dyc3 in #910
- fix rooms not being saved to the database by @dyc3 in #911
- Allow logging in with username and password by @dyc3 in #908
- Make email optional when registering by @dyc3 in #912
- fix new clients not getting auth tokens by @dyc3 in #914
- Allow signed in users to own temporary rooms by @dyc3 in #915
- adjust how usernames are generated from discord profiles by @dyc3 in #916
- update dependencies by @dyc3 in #917
- adjust behavior around kicking clients for errors by @dyc3 in #922
- Playback Speed by @dyc3 in #825
- add counter for logs by @dyc3 in #923
- fix db mode not having an effect in production environments by @dyc3 in #924
- hotfix by @dyc3 in #925
- fix an edge case when claiming rooms by @dyc3 in #929
- include current video in exported queue by @dyc3 in #930
- fix room owner not getting persisted by @dyc3 in #932
- Update deployment docs by @dyc3 in #933
- fix user roles not getting loaded properly by @dyc3 in #937
- fix 936 by @dyc3 in #938
- fix youtube video slowly scrolling out of view in full screen mode with great comedic timing by @dyc3 in #940
- fix chat being positioned weirdly by @dyc3 in #943
- fix discord login by @dyc3 in #945
- fix a couple lints, reenable some tests by @dyc3 in #946
- db model refactor by @dyc3 in #934
- Finish converting storage module to typescript by @dyc3 in #947
- fix cachedvideo migration so it always works by @dyc3 in #948
- Automatically save the current queue when the room is unloaded, and have the option to restore it by @dyc3 in #949
- hotfix for migration by @dyc3 in #950
- add devcontainer config by @dyc3 in #951
- adjust metrics by @dyc3 in #954
- kinda sorta improve ott-common jank by @dyc3 in #957
- hotfix by @dyc3 in #959
- Add room setting to control queue restore behavior by @dyc3 in #956
- Add vote skipping by @dyc3 in #960
- limit how fast clients send player status updates by @dyc3 in #961
- update jest and fix flaky tests (hopefully) by @dyc3 in #962
- fix 963 by @dyc3 in #964
- fix migration by @dyc3 in #965
- fix users not appearing in the user list, fixes #966 by @dyc3 in #967
- hotfix to stop leaking auth tokens to other users by @dyc3 in #968
- Minor refactor to the join process by @dyc3 in #969
- tweak video caching by @dyc3 in #971
- Add a parser for m3u8 files, and switch away from video.js to use plyr by @dyc3 in #918
- add captions support to direct and hls video by @dyc3 in #972
- Add a kick button by @dyc3 in #973
- update vite to 4.4.2 by @dyc3 in #974
ott-common
improvements by @dyc3 in #975- make ott-server an esmodule and fix imports by @dyc3 in #976
- update deploy docs by @dyc3 in #981
- fix imports by @dyc3 in #982
- better logging for redis client errors by @dyc3 in #983
- fix redis subscriber by @dyc3 in #984
- make playback e2e test more robust by @dyc3 in #985
- misc typescript strictness improvements by @dyc3 in #987
- add patch package by @dyc3 in #990
- upgrade redis to v4 by @dyc3 in #992
- Bump openssl from 0.10.51 to 0.10.55 by @dependabot in #941
- Bump semver from 5.7.1 to 5.7.2 by @dependabot in #986
- Role Name Localization by @cjrkoa in #978
- end support for node 16 by @dyc3 in #993
- Experimental Peertube support by @dyc3 in #994
- fix bad auth tokens from crashing the server by @dyc3 in #995
- upgrade typescript to 5.1.6 by @dyc3 in #997
- force clients to wait for their auth token before connecting by @dyc3 in #998
- Add sound effects for chat messages by @dyc3 in #999
- set up configuration stuff for deploying on flyio by @dyc3 in #1002
- make the balancer configurable by @dyc3 in #1003
- balancer: room list endpoint, gossip by @dyc3 in #1005
- balancer: fix client disconnects not being sent to monoliths by @dyc3 in #1004
- add deploy config for ott-balancer-staging by @dyc3 in #1006
- disable accepting gossip messages because it breaks things for mysterious reasons by @dyc3 in #1008
- balancer: don't follow redirects for http requests by @dyc3 in #1009
- add config stuff for production deployment on fly by @dyc3 in #1011
- add fly migration scripts by @dyc3 in #1013
- minor announcement toast improvements by @dyc3 in #1014
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #1015
- add support for subpath hosting via the
OTT_BASE_URL
environment variable by @dyc3 in #1000 - add config option to enable/disable video services by @dyc3 in #1016
- Add automated account recovery via email verification by @dyc3 in #1017
- fix trust proxy setting for fly deployment by @dyc3 in #1018
- fix job runner so that it actually works by @dyc3 in #1019
- actually fix clients not receiving messages from balancers for real by @dyc3 in #1020
- reenable gossip code by @dyc3 in #1021
- add init message to M2B protocol and implement it by @dyc3 in #1022
- misc balancer fixes by @dyc3 in #1023
- balancer: add cli args for setting the log level by @dyc3 in #1024
- docs: discord login setup by @dyc3 in #1025
- convert some more bits to typescript by @dyc3 in #1026
- minor e2e test improvements by @dyc3 in #1027
- balancer: disconnect all clients when the monolith they are connected to disconnects by @dyc3 in #1028
- fix backup script so rclone doesn't run out of memory by @dyc3 in #1029
- Very experimental pluto tv support by @dyc3 in #953
- prevent vimeo player from escaping bounding box by @dyc3 in #1033
- Avoid using ts-node for prod deployment by @dyc3 in #1034
- Fix progress slider on videos with irregular lengths by @daichuanwu21 in #1031
- batch pluto calls by @dyc3 in #1037
- log job by @dyc3 in #1039
- very minor memory optimizations by @dyc3 in #1040
- refactor: ffprobe running strategies by @dyc3 in #1041
- fix mass-adding non-cachable videos from a list of video urls by @dyc3 in #1042
- fix #1044 by @dyc3 in #1045
- adjust logging by @dyc3 in #1046
- redis bandwidth optimizations by @dyc3 in #1048
- fix buffer indicators not appearing by @dyc3 in #1050
- fix PlyrPlayer from stopping playback when transitioning from one video to the next by @dyc3 in #1049
- add theme tester page to preview themes easier by @dyc3 in #1051
- misc theme fixes by @dyc3 in #1053
- add greenslate theme by @dyc3 in #1052
- add strawberry theme by @dyc3 in #1054
- client: add preload="auto" to PlyrPlayer by @dyc3 in #1055
- add a warning when the client hasn't buffered enough of the video to play from the current timestamp by @dyc3 in #1057
- tweak the buffer warning banner to be a little smaller and show a loading indicator by @dyc3 in #1058
- hls: give some better errors by @dyc3 in #1059
- vimeo: misc player visual fixes by @dyc3 in #1062
- fix "play next" and "play last" not working, fixes #1060 by @dyc3 in #1063
- refactor: minor type annotations by @dyc3 in #1064
- refactor: make balancers connect to monoliths instead of the other way around by @dyc3 in #1065
- balancer: fix router rules by @dyc3 in #1066
- adjust add preview response caching by @dyc3 in #1067
- balancer: minor tweaks to
proxy_request
by @dyc3 in #1069 - remove usage of redis for conveying room state by @dyc3 in #1074
- Lazy load room state from redis instead of on startup. by @dyc3 in #1075
- set up 2 new crates for testing the load balancer by @dyc3 in #1077
- Bump webpki from 0.22.0 to 0.22.1 by @dependabot in #1078
- add prototype balancer testing harness by @dyc3 in #1079
- harness: add prototype emulated monoliths and discovery provider by @dyc3 in #1081
- docs and misc docker compose fixes by @dyc3 in #1083
- balancer: faster monolith discovery by @dyc3 in #1084
- remove benchmarks folder by @dyc3 in #1086
- balancer: make harness use random ports for harness discoverer by @dyc3 in #1088
- balancer: fix monolith discovery not removing monoliths when told to by @dyc3 in #1087
- add prototype emulated clients by @dyc3 in #1089
- harness: add
WebsocketSender
trait by @dyc3 in #1091 - harness: add http mocking to emulated monoliths by @dyc3 in #1093
- harness: add MockService for mocking monolith http by @dyc3 in #1096
- balancer: add some integration tests by @dyc3 in #1097
- ci: update vue config to maybe get cypress to work more often by @dyc3 in #1098
- another possible fix for flaky component tests by @dyc3 in #1104
- add
un
/load_room
to emulated monoliths by @dyc3 in #1105 - Disconnect clients when monolith connection is severed by @cjrkoa in #1092
- add typeshare by @dyc3 in #1103
- Add git commit hash to client builds by @dyc3 in #1107
- add a harness test for #1076 by @dyc3 in #1106
- balancer: fix room load/client join race condition by @dyc3 in #1102
- add config options to disable room creation by @dyc3 in #1111
- add a close button to the video buffer warning banner by @dyc3 in #1113
- attempt to make
route_ws_to_correct_monolith_race
less flaky by @dyc3 in #1114 - fix a typo in load epoch check by @dyc3 in #1115
- allow balancers to unload rooms by @dyc3 in #1119
New Contributors
- @GPery made their first contribution in #896
- @cjrkoa made their first contribution in #978
- @daichuanwu21 made their first contribution in #1031
Full Changelog: v0.3.0...v0.4.0