Skip to content

Releases: dyc3/opentogethertube

v0.6.0

06 Dec 19:13
Compare
Choose a tag to compare

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

23 Nov 15:52
9fe123b
Compare
Choose a tag to compare

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

31 Oct 14:19
Compare
Choose a tag to compare

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...
Read more

v0.3.0 Checkpoint

20 Apr 23:08
e9a44b2
Compare
Choose a tag to compare

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...
Read more

New architecture

30 May 16:01
b38814d
Compare
Choose a tag to compare

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

29 May 19:30
6508b2e
Compare
Choose a tag to compare
Merge pull request #417 from dyc3/misc-server-updates

misc server updates