Releases: dyc3/opentogethertube
Releases · dyc3/opentogethertube
v0.6.0
What's Changed
- harness: add
TestRunner::restart_balancer()
by @dyc3 in #1141 - use a faster postgres query for estimating row counts by @dyc3 in #1146
- fix
HarnessMonolithDiscoverer
not reconnecting if connection lost by @dyc3 in #1154 - harness: refactor all http request tests to not have base url hard coded by @dyc3 in #1153
- fix e2e playback test being flaky by @dyc3 in #1155
- make M2BRoomMsg usable with types other than
Box<RawValue>
by @dyc3 in #1152 - balancer: better logging by @dyc3 in #1160
- update validateB2M by @dyc3 in #1161
- fix harness discovery provider not reconnecting on balancer restart by @dyc3 in #1162
- balancer: fix load_epoch not getting updated on gossip, causing room unloads by @dyc3 in #1163
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- add
region
field to balancer protocol by @dyc3 in #1124 - add a script to automate bumping the version number by @dyc3 in #1132
- harness: keep track of client ids in emulated monoliths by @dyc3 in #1128
- balancer: unload duplicate rooms by @dyc3 in #1131
- add builder api for emulated monoliths by @dyc3 in #1133
- balancer: add prometheus metrics by @cjrkoa in #1109
- balancer: gather process metrics by @dyc3 in #1139
- balancer: Add Region Configuration by @cjrkoa in #1138
- add emulated monolith behaviors by @dyc3 in #1134
Full Changelog: v0.4.0...v0.5.0
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
- d...
v0.3.0 Checkpoint
ATTENTION SELF HOSTERS: This release marks the latest version of OTT before the configuration changes in #849. These are possibly breaking changes, so this release is here to to help self hosters update on their own time. See #853.
What's Changed
- fix #423 by @dyc3 in #424
- allow joining rooms without a session cookie by @dyc3 in #425
- fix a bug that prevents room settings from being loaded correctly by @dyc3 in #427
- lint cleanup by @dyc3 in #428
- add an e2e test for video playback in a room by @dyc3 in #437
- misc fixes by @dyc3 in #440
- fix #439 by @dyc3 in #441
- add ClientNotFoundInRoomException by @dyc3 in #443
- attempted fix for #444 by @dyc3 in #445
- fix #446 by @dyc3 in #447
- adjust logging by @dyc3 in #448
- adjust logging by @dyc3 in #449
- add loop queue mode by @dyc3 in #451
- don't dequeue next video unless there is something to dequeue by @dyc3 in #455
- fix 456 by @dyc3 in #457
- update optic by @dyc3 in #458
- fixes #452 by @dyc3 in #459
- room settings request by @dyc3 in #462
- allow multiple lines for add preview by @dyc3 in #466
- Authentication overhaul by @dyc3 in #454
- pass redisclient to youtube adapter by @dyc3 in #467
- add some stat counters for videos watched by @dyc3 in #468
- fix #471 by @dyc3 in #472
- Bump ws from 7.4.5 to 7.4.6 by @dependabot in #422
- Bump dns-packet from 1.3.1 to 1.3.4 by @dependabot in #420
- remove dependency on redis for all unit tests by @dyc3 in #474
- Add play now button by @dyc3 in #475
- add link parsing for youtube shorts and youtube studio links by @dyc3 in #476
- Convert infoextractor to typescript by @dyc3 in #477
- permissions typescript by @dyc3 in #479
- fix add all button appearing in the wrong spot by @dyc3 in #480
- hack: fix permissions editor not parsing new RoleGrants format by @dyc3 in #481
- lots of linting related changes by @dyc3 in #482
- small logging fix by @dyc3 in #485
- update package lock by @dyc3 in #486
- node-sass is deprecated, move to dart sass by @dyc3 in #489
- dep updates2 by @dyc3 in #490
- add node 16 to ci by @dyc3 in #491
- Bump path-parse from 1.0.6 to 1.0.7 by @dependabot in #469
- switch docker images to node 14 by @dyc3 in #492
- youtube api error handling by @dyc3 in #493
- Bump tmpl from 1.0.4 to 1.0.5 by @dependabot in #494
- split room request metadata by @dyc3 in #496
- Fix docker health check by @dyc3 in #497
- Improve compliance with strictNullChecks for tests and youtube adapter by @dyc3 in #498
- Improve compliance with strict null checks by @dyc3 in #499
- Finally finish enabling strict null checks by @dyc3 in #500
- hotfix: join requests don't have the client id in the context by @dyc3 in #501
- add all UI for DJ queue mode, closes #450 by @dyc3 in #502
- use custom logging function for sequelize logs by @dyc3 in #503
- UI improvements by @dyc3 in #506
- fix for client ids missing from join request contexts by @dyc3 in #507
- add some logging around voting to help debug #508 by @dyc3 in #509
- debug logging by @dyc3 in #510
- debug logging by @dyc3 in #512
- fix first vote casts multiple votes bug, fixes #508 by @dyc3 in #513
- Add support for playing reddit videos by @dyc3 in #514
- fix a couple of add preview bugs by @dyc3 in #515
- Add Tubi support by @dyc3 in #516
- test fixtures by @dyc3 in #517
- add support for m3u, m3u8 hls video links by @dyc3 in #520
- issue templates by @dyc3 in #521
- Slider improvements by @dyc3 in #523
- hack: fix seek preview not working by @dyc3 in #524
- seek preview fix by @dyc3 in #526
- Reorganize some stuff on the client side by @dyc3 in #527
- Sponsorblock support by @dyc3 in #528
- don't spam requests if getting segments fails by @dyc3 in #529
- make VideoQueueItem slightly more robust to missing info by @dyc3 in #533
- room name validation by @dyc3 in #537
- move toast notifications to the right side, closes #534 by @dyc3 in #538
- fix missing playback slider, fixes #539 by @dyc3 in #541
- Add a couple new room API tests by @dyc3 in #542
- make skipping a video clear video segments by @dyc3 in #544
- actually force segments to get cleared on skipping video by @dyc3 in #547
- adjust token experation times by @dyc3 in #550
- dailymotion: add link parsing for embed links by @dyc3 in #551
- adjust sponsorblock segment clearing again by @dyc3 in #557
- don't send multiple requests for segments if we haven't heard back from the first one yet by @dyc3 in #559
- Name change propagation fix by @dyc3 in #560
- Add keyboard shortcut to enable debug panel in production by @dyc3 in #562
- Refactor how hiding video controls work by @dyc3 in #563
- make sure debug mode is hidden by default in production by @dyc3 in #564
- fix video controls hiding and not being able to make them show up again, fix #561 by @dyc3 in #565
- Update landing page and add some more links by @dyc3 in #566
- closable chat by @dyc3 in #571
- document FFPROBE_PATH env var, closes #297 by @dyc3 in #572
- Restore integrity of democracy by @dyc3 in #573
- protect queue writes with a mutex, fixes #478 by @dyc3 in #574
- update some dependencies by @dyc3 in #579
- use a resize observer to tell the youtube iframe to resize by @dyc3 in #578
- Bump color-string from 1.5.3 to 1.9.0 by @dependabot in #580
- double star to ignore all fixtures recursively by @dyc3 in #581
- make play now invalidate video segments by @dyc3 in #582
- fix skipping ahead if a client joins the room after the video has been paused for a little while by @dyc3 in #584
- ensure token before join by @dyc3 in #585
- add support for direct audio files in mp3 and ogg format by @dyc3 in h...
New architecture
This release does not contain very many changes visible to the end user, but there are a few.
Changes
- Added a proper toast notification queue system. Toasts now have a little timer to indicate when they will disappear.
- No more random leaving and joining.
- The video playback slider is smother, playback position is no longer rounded to the nearest second.
- New look for chat, now with little animations.
- Added animations for the video queue.
Technical Changes
- Added Typescript support for front end, back end, and back end unit tests.
- New architecture that separates websocket connections from room state.
Initial release
Merge pull request #417 from dyc3/misc-server-updates misc server updates