Skip to content

Releases: dyc3/opentogethertube

v0.14.1

11 Apr 23:12
Compare
Choose a tag to compare

What's Changed

  • temporarily remove broken dailymotion support by @dyc3 in #1670

Full Changelog: v0.14.0...v0.14.1

v0.14.0

11 Apr 20:54
Compare
Choose a tag to compare

Highlights

  • server: debounce writing room states to redis to reduce redis load by @dyc3 in #1578
  • server: reduce the number of redis reads necessary for each request by @dyc3 in #1577
  • balancer: add deserialization to SocketAddr struct to make port for dns_config optional by @cjrkoa in #1564
  • balancer: Make load balancing configurable by @Victor-M-Giraldo in #1573
  • balancer: check and handle closed channels more aggressively by @dyc3 in #1660
  • balancer: fix how double room loads are handled by @dyc3 in #1666
  • balancer: add room arg to monolith selection by @dyc3 in #1649
  • balancer: add HashRingSelector by @dyc3 in #1650

What's Changed

  • update e2e test to make sure playback rate and captions buttons get disabled when there's no video by @dyc3 in #1576
  • fix users in user list not getting updated on login/logout by @dyc3 in #1582
  • deploy: allow clients to override how they are routed with route_override cookie by @dyc3 in #1583
  • vis: tree display: rework activity animation by @dyc3 in #1584
  • vis: ensure type definitions for SystemState stay in sync by @dyc3 in #1585
  • vis: tree display: fix links in monolith sub trees sometimes rendering on top of nodes by @dyc3 in #1586
  • balancer: return actual balancer id instead of a randomly generated one by @dyc3 in #1587
  • client: refactor media controls to use composables instead of hacky component refs by @dyc3 in #1572
  • client: exclude debug code to trim bundle size of YoutubePlayer by @dyc3 in #1588
  • client: replace hard coded strings in closed captions control with i18n strings by @dyc3 in #1589
  • deps: upgrade to cypress 13 by @dyc3 in #1590
  • client: fix playback and captions buttons not updating their enabled state on player change by @dyc3 in #1591
  • client: refactor some components to use setup to simplify them by @dyc3 in #1592
  • client: refactor more components to use setup to simplify them by @dyc3 in #1594
  • client: refactor more components to use setup to simplify them (part 3) by @dyc3 in #1595
  • vis: tree display: refactor monolith tree building code by @dyc3 in #1596
  • vis: add provisioned dashboard that is just the tree display by @dyc3 in #1597
  • vis: handle datasource websocket errors more gracefully by @dyc3 in #1598
  • vis: fix animated nodes sometimes disappearing and never coming back by @dyc3 in #1599
  • vis: tree display: add horizontal option by @dyc3 in #1601
  • vis: tree display: sort lists to reduce unnecessary node movement by @dyc3 in #1600
  • build(deps-dev): bump vite from 5.0.12 to 5.0.13 by @dependabot in #1602
  • add client ids to system state by @Victor-M-Giraldo in #1581
  • vis: add/refactor tree and bounding box utils by @dyc3 in #1603
  • vis: add TopologyView by @dyc3 in #1604
  • vis: TopologyView: position subtrees so they don't overlap by @dyc3 in #1605
  • vis: scaffold useColorProvider by @dyc3 in #1609
  • vis: TopologyView: render radial subtrees by @dyc3 in #1610
  • vis: TopologyView: color things correctly with color provider by @dyc3 in #1611
  • vis: refactor zoom code into a reusable useD3Zoom hook by @dyc3 in #1612
  • vis: TopologyView: accept node radius props by @dyc3 in #1613
  • vis: TopologyView: group subtrees by region by @dyc3 in #1614
  • vis: TopologyView: surround regions with bounding boxes by @dyc3 in #1615
  • vis: TreeDisplay: fix css class name conflict causing panel editor to render wrong by @dyc3 in #1621
  • vis: TopologyView: fix tree building so correct info is displayed by @dyc3 in #1617
  • vis: TopologyView: add text labels to nodes by @dyc3 in #1618
  • vis: TopologyView: render balancer to monolith links by @dyc3 in #1619
  • vis: TopologyView: add transition animations by @dyc3 in #1620
  • vis: TopologyView: pack clients/rooms nodes a little more tightly by @dyc3 in #1623
  • vis: TopologyView: add activity animations by @dyc3 in #1622
  • vis: TopologyView: adjust node packing logic by @dyc3 in #1624
  • deploy: increase user split to 35% by @dyc3 in #1625
  • vis: add more streamed events by @dyc3 in #1626
  • vis: TopologyView: refactor region rendering and add region labels by @dyc3 in #1629
  • upgrade some dependencies by @dyc3 in #1631
  • dev: update issue templates by @dyc3 in #1633
  • vis: TreeDisplay: fix regression causing monoliths to appear twice by @dyc3 in #1637
  • vis: rework RegionView by @dyc3 in #1634
  • vis: RegionView: build tree such that balancers and monoliths are at the same depth by @dyc3 in #1635
  • vis: RegionView: filter monoliths that are not in the same region by @dyc3 in #1636
  • vis: TopologyView: lay out regions by @dyc3 in #1638
  • vis: TopologyView: fix subtree layouts sometimes overlapping by @dyc3 in #1639
  • vis: TopologyView: deduplicate some code by @dyc3 in #1640
  • vis: TopologyView: fix subtrees with no children causing d3 to freak out by @dyc3 in #1641
  • vis: TopologyView: fix subtreePadding prop not being used by @dyc3 in #1642
  • vis: deduplicate node radius options by @dyc3 in #1643
  • Add color provider hook to manage what colors are assigned to which node by @Victor-M-Giraldo in #1644
  • vis: TreeDisplay: refactor colors to useColorProvider by @dyc3 in #1616
  • vis: rename Treedisplay to TreeView and remove GlobalView, ForceGraph by @dyc3 in #1645
  • balancer: reorganize monolith selection by @dyc3 in #1648
  • deploy: enable hashring selector in staging by @dyc3 in #1652
  • deploy: fix typo in staging config by @dyc3 in #1653
  • balancer: fix not being able to configure selection strategy by @dyc3 in #1654
  • dx: prevent docker from creating dist folders as root by @dyc3 in #1656
  • client: fix UI not updating according to grants by @dyc3 in #1663
  • balancer: tweak logging for debugging by @dyc3 in #1661
  • deploy: use IP as fallback in nginx config by @dyc3 in #1655
  • balancer: slightly improve docker layer caching by @dyc3 in #1665
  • build(deps): bump tar from 6.1.13 to 6.2.1 by @dependabot in #1664
  • balancer: refactor remove_monolith to not be async by @dyc3 in #1662
  • balancer: unload duplicates tests by @dyc3 in #1667
  • balancer: benchmark monolith selectors by @dyc3 in #1651

Full Changelog: v0.13.0...v0.14.0

v0.13.0

28 Mar 00:58
Compare
Choose a tag to compare

Highlights

We are now running the load balancer in production with 20% of clients going through the balancer. We are continuing to monitor, and hope to completely switch over by the end of April. This means we are really close to horizontal scaling, and ultimately reducing latency for users in Europe and Asia.

What's Changed

  • make balancer ids constant from the perspective of the monolith by @Victor-M-Giraldo in #1411
  • vis: tweak how loading is rendered so the panel flashes less by @dyc3 in #1496
  • vis: add zooming to force graph by @dyc3 in #1497
  • vis: add TreeDisplay by @dyc3 in #1495
  • convert all icons to mdi icons by @dyc3 in #1499
  • build(deps): bump follow-redirects from 1.15.2 to 1.15.6 by @dependabot in #1500
  • improve the appearance of the add preview text box for better UX by @dyc3 in #1498
  • misc bundle size micro optimizations by @dyc3 in #1501
  • vis: fix tree display rerendering on any zoom transforms by @dyc3 in #1503
  • vis: fix monolith tree positions sometimes overlapping by @dyc3 in #1502
  • fix updates to systemstate breaking tree display by @dyc3 in #1504
  • fix tree positions so they actually don't overlap by @dyc3 in #1505
  • add cool transitions to tree display by @dyc3 in #1506
  • collector: don't try to send events when nothing can receive them by @dyc3 in #1507
  • fix panel layout shift when in loading state by @dyc3 in #1508
  • vis: use radial trees for better space management in tree display by @dyc3 in #1509
  • vis: tree display: fix balancer nodes not spanning the entire height they should by @dyc3 in #1510
  • dx: add --cache to eslint in lint scripts by @dyc3 in #1512
  • vis: tree display: place clients closer to monoliths by @dyc3 in #1514
  • vis: tree display: add keys to data joins by @dyc3 in #1513
  • vis: tree display: make client nodes a fixed distance away by @dyc3 in #1517
  • vis: tree display: tweak transition animations by @dyc3 in #1516
  • update average-load load test to be more reasonable by @dyc3 in #1515
  • vis: tree display: use linkRadial for links and adjust radius when there are no clients by @dyc3 in #1518
  • vis: tree display: minor fix for tree radius by @dyc3 in #1519
  • ci: disable cypress e2e job parallelization by @dyc3 in #1520
  • vis: tree display: place monolith trees in 2 columns on both sides of the balancers by @dyc3 in #1521
  • vis: tree display: apply minor optimizations by @dyc3 in #1522
  • ci: fix e2e grafana job not running panel e2e tests by @dyc3 in #1523
  • ci: fix node deps not getting cached properly by @dyc3 in #1524
  • ci: add typos job and fix typos across the repo by @dyc3 in #1525
  • balancer: filter logs streamed to collector to avoid overwhelming it by @dyc3 in #1526
  • jobs: fix pg backup job by @dyc3 in #1528
  • vis: tree display: add an option to switch the style of the balancer monolith links by @dyc3 in #1529
  • vis: tree display: add misc options to the panel UI by @dyc3 in #1530
  • vis: tree display: use pack to display balancers by region by @dyc3 in #1532
  • vis: tree display: minor refactors and code cleanup by @dyc3 in #1533
  • update docker configs for balancer and collector to allow configs to be read from host by @dyc3 in #1536
  • balancer: protect state endpoints with a simple api key by @dyc3 in #1535
  • collector: fix becoming unresponsive when scaling down balancers by @dyc3 in #1537
  • Switch to using zod for validation on queue API endpoints by @Victor-M-Giraldo in #1534
  • deploy balancer to prod and enable balancing on monolith by @dyc3 in #1538
  • deploy nginx to prod and route 5% of clients through balancer by @dyc3 in #1539
  • update nginx deployment by @dyc3 in #1541
  • Changed the path to the correct environment location by @cloudmaker97 in #1542
  • balancer: fix memory leak caused by clients connecting by @dyc3 in #1543
  • balancer: fix high cpu usage by @dyc3 in #1545
  • reenable traffic to balancer in prod by @dyc3 in #1544
  • allow discovery polling interval to be configurable by @moreno-michael in #1459
  • balancer: add support for http2 by @dyc3 in #1548
  • client: remove a bunch of unused css from the bundle by @dyc3 in #1549
  • client: fix long video descriptions not getting truncated by @dyc3 in #1551
  • client: fix video queue item buttons wrapping to new row on mobile by @dyc3 in #1552
  • client: fix controls alignment and fix controls making site unusable on mobile by @dyc3 in #1553
  • client: tweak the behavior of auto hide on video controls to be less janky by @dyc3 in #1554
  • deploy: increase client split to 20% and tweak fly config for nginx by @dyc3 in #1556
  • revert change to nginx fly config by @dyc3 in #1557
  • vis: add e2e smoke tests for datasource by @dyc3 in #1558
  • server: don't consider balancer fully connected until init message is received by @dyc3 in #1559
  • client: display a better error when rate limited for add previews by @dyc3 in #1560
  • Switch to using zod for validation for account recovery endpoints. by @Victor-M-Giraldo in #1555
  • client: refactor volume controls into a composable for simplicity by @dyc3 in #1561
  • server: add some more detail to logs around client connects by @dyc3 in #1567
  • fix new rust lints by @dyc3 in #1568
  • balancer: treat room names as case insensitive by @dyc3 in #1569
  • deploy: add auto start/stop to fly configs for balancers by @dyc3 in #1570
  • e2e: add more playback integration tests by @dyc3 in #1574
  • build(deps): bump express from 4.18.2 to 4.19.2 by @dependabot in #1571

New Contributors

Full Changelog: v0.12.0...v0.13.0

v0.12.0

13 Mar 14:30
Compare
Choose a tag to compare

Highlights

  • cache sponsorblock segments in redis by @dyc3 in #1482
  • fix room requests originating from rest api not emitting room events by @dyc3 in #1453
  • put auth token in cookies by @dyc3 in #1457
  • significantly increase cache duration for static assets by @dyc3 in #1460
  • Use zod for validation on create endpoint by @Victor-M-Giraldo in #1391
  • increase the timeout for toasts of undoable events to 20s by @dyc3 in #1487

What's Changed

  • add ability for dns_server in discovery to be customizable by @cjrkoa in #1436
  • update balancer to accept json values for room metadata by @Victor-M-Giraldo in #1452
  • add font-display: swap for better LCP by @dyc3 in #1458
  • upgrade project to yarn 4 by @dyc3 in #1316
  • re-upgrade axios to 1.6 by @dyc3 in #1465
  • update console-subscriber to 0.1.10 by @dyc3 in #1468
  • upgrade trust-dns-resolver to hickory-resolver 0.24 by @dyc3 in #1469
  • upgrade hyper to 1.0 by @dyc3 in #1171
  • refactor datasource to use observables instead of promises by @dyc3 in #1470
  • fix .player-container being oversized on webkit by @dyc3 in #1472
  • refactor youtube player fitToContainer to be more simple by @dyc3 in #1473
  • fix youtube player resize runaway on old versions of safari by @dyc3 in #1475
  • add per layer filtering for tracing so that tokio-console is usable without setting a specific log level by @dyc3 in #1478
  • improve harness test assertions to be more resilient to protocol changes by @dyc3 in #1485
  • Switch to using zod for validation on voting API endpoints by @Victor-M-Giraldo in #1476
  • harness: retry client connects when they fail by @dyc3 in #1491
  • vis: add infra for streaming events from balancers to grafana by @dyc3 in #1467

Full Changelog: v0.11.1...v0.12.0

v0.11.1

05 Mar 02:39
Compare
Choose a tag to compare

What's Changed

  • deps: upgrade vue to 3.4.21 and vuetify to 3.5.7 by @dyc3 in #1444
  • fix misc peer dep issues by @dyc3 in #1445
  • fix youtube channel link parsing regex not correctly parsing handles with periods by @dyc3 in #1448

Full Changelog: v0.11.0...v0.11.1

v0.11.0

02 Mar 20:45
Compare
Choose a tag to compare

Highlights

  • add config option video.enable_sponsorblock to disable sponsorblock globally by @dyc3 in #1344
  • remove google analytics tag by @dyc3 in #1351
  • remove an unnecessary select query from updateRoom by @dyc3 in #1389
  • lots of dependency updates
  • finished MVP of custom grafana panels

What's Changed

  • Add compatibility with Docker dns servers by @moreno-michael in #1290
  • ci: attempt to make cypress component tests more reliable by @dyc3 in #1335
  • add load test: average-load by @dyc3 in #1340
  • add a command line argument to validate the config and exit by @Victor-M-Giraldo in #1303
  • add config option video.enable_sponsorblock to disable sponsorblock globally by @dyc3 in #1344
  • balancer: make json parsing errors include the path to the key causing the error by @dyc3 in #1345
  • remove/convert misc items related to jest by @dyc3 in #1346
  • remove dead code by @dyc3 in #1348
  • add ott-vis-common, make grafana datasource return sample data by @dyc3 in #1349
  • remove google analytics tag by @dyc3 in #1351
  • tests: fix some minor flakiness issues by @dyc3 in #1354
  • upgrade axios to 1.6.7 by @dyc3 in #1353
  • build(deps): bump postcss from 8.4.19 to 8.4.35 by @dependabot in #1355
  • switch ott-server to import ott-common instead of referencing the relative file path by @dyc3 in #1356
  • move MonolithDiscoverer trait and implementations to ott-common crate by @dyc3 in #1352
  • build(deps): bump ip from 2.0.0 to 2.0.1 by @dependabot in #1363
  • balancer: add a command line argument to validate config by @Victor-M-Giraldo in #1317
  • add ott-collector crate by @dyc3 in #1364
  • add new docker-compose in ott-vis-common to be able to spin up all grafana plugins by @dyc3 in #1366
  • hook up ott-vis-datasource to ott-vis by @dyc3 in #1367
  • fix balancers not recognizing client disconnects by @dyc3 in #1368
  • fix deploys by @dyc3 in #1369
  • fix deploys for real by @dyc3 in #1371
  • fix start-lean by @dyc3 in #1373
  • fix component tests by @dyc3 in #1374
  • fix docker image build by @dyc3 in #1376
  • add test for malformed websocket by @cjrkoa in #1271
  • revert changes to ott-common by @dyc3 in #1377
  • improve docker layer caching for faster container builds by @dyc3 in #1379
  • switch ott-server to use proper ott-common imports by @dyc3 in #1378
  • copy some dependency declarations to the packages where they are used by @dyc3 in #1380
  • upgrade axios again (whoops) by @dyc3 in #1382
  • remove unused decorator options from root tsconfig by @dyc3 in #1383
  • fix k6 load tests so post bodies will be json by @dyc3 in #1384
  • minor refactor for tests for readability by @dyc3 in #1387
  • scroll to the top on mobile when entering landscape mode by @dyc3 in #1386
  • add retries to make unit tests a little less flaky by @dyc3 in #1388
  • remove some unused configuration by @dyc3 in #1390
  • remove an unnecessary select query from updateRoom by @dyc3 in #1389
  • enforce some new lints by @dyc3 in #1392
  • client: fix vote toggle button not being localizable by @dyc3 in #1393
  • client: fix playback blocked prompt not being localizable by @dyc3 in #1394
  • add retry to flaky test by @dyc3 in #1395
  • client: add missing queue modes to create room form by @dyc3 in #1396
  • build(deps): bump follow-redirects from 1.15.2 to 1.15.5 by @dependabot in #1249
  • collector: permit cross origin requests by @dyc3 in #1398
  • implement testDatasource for ott-vis-datasource and add configurable baseUrl by @dyc3 in #1399
  • remove an unnecessary await by @dyc3 in #1400
  • dev: enforce lints related to promises by @dyc3 in #1401
  • dev: enforce camelcase for ott-vis packages by @dyc3 in #1402
  • client: fix in-player banner notifs appearing above the app bar by @dyc3 in #1403
  • upgrade eslint to v8 by @dyc3 in #1404
  • build(deps): bump es5-ext from 0.10.62 to 0.10.63 by @dependabot in #1405
  • ci: dont fail job if coverage fails to upload by @dyc3 in #1406
  • add docker file for ott-collector by @dyc3 in #1408
  • dev: enforce camelcase better in various places by @dyc3 in #1407
  • client: fix PermissionsEditor not propagating changes to parent by @dyc3 in #1412
  • dev: add db:migrate:undo script by @dyc3 in #1413
  • Make ott-vis-datasource and ott-collector communicate by @cjrkoa in #1397
  • refactor timestamp test to be slightly less flakey by @dyc3 in #1414
  • collector: reorganize imports, add derives to SystemState and others by @dyc3 in #1415
  • change the port grafana is served on for testing to 3500 by @dyc3 in #1417
  • balancer: add /api/state endpoint to serve current state to ott-collector by @dyc3 in #1416
  • ott-vis: fix monoliths with no rooms not getting displayed by @dyc3 in #1420
  • allow ott-collector to discover balancers by @moreno-michael in #1419
  • collector: make it actually collect state from discovered balancers by @dyc3 in #1418
  • rename monolith discovery to service discovery by @dyc3 in #1426
  • rename ott-vis packages to have more consistent names by @dyc3 in #1428
  • ott-vis-panel: refine forcegraph forces for better node positioning by @dyc3 in #1429
  • ott-vis-panel: improve performance by letting react render svg elements by @dyc3 in #1430
  • balancer: let balancer containers scale when using docker compose by @dyc3 in #1431
  • ott-vis-panel: add text to some nodes to differentiate them easier by @dyc3 in #1432
  • collector: add configuration for discovery method and collecting interval by @dyc3 in #1433
  • dev: enforce jest lint rules for ott-vis unit tests by @dyc3 in #1437
  • client: move room state store to seperate vuex module by @dyc3 in #1438
  • Improve type checks for sync message serialization and add support for serializing bigint by @dyc3 in #1439

Full Changelog: v0.10.0...v0.11.0

v0.10.0

14 Feb 14:43
Compare
Choose a tag to compare

Highlights

Like the previous releases, this release gets us closer to being able to scale up OTT and deploy it in different regions.

  • Added a selector to room settings to pick which types of SponsorBlock segments you want skipped. (Thanks @ceofil)
  • Remove usage of Google Fonts -- all fonts are served by OTT now. (Thanks @NickSlowinski)

What's Changed

  • collect test coverage from ott-vis, remove unused prettier config by @dyc3 in #1267
  • add default d3 visualization by @cjrkoa in #1261
  • add must_use directive to TestRunner::url and allow scheme to be specified by @dyc3 in #1270
  • add a job to clean up stale cached videos by @dyc3 in #1266
  • abstract balancing logic by @Victor-M-Giraldo in #1243
  • Bump alpine to 3.19 by @NickSlowinski in #1274
  • client: switch to locally hosted fonts by @NickSlowinski in #1273
  • balancer: don't accept websocket connections if no monoliths are available by @dyc3 in #1276
  • dev: actually ignore ts-out, ignore other built files by @dyc3 in #1277
  • client: add reconnect query param to websocket reconnects by @dyc3 in #1278
  • clean up unused config files by @dyc3 in #1279
  • ott-vis: add strict to tsconfig by @dyc3 in #1282
  • client: remove mentions of reddit source support from add preview UI by @moreno-michael in #1269
  • fix room url connection parsing by @dyc3 in #1284
  • server: improve parsing of websocket connection URL, and add tests by @dyc3 in #1288
  • add panels to dash by @Victor-M-Giraldo in #1292
  • fix typo in add preview component by @dyc3 in #1298
  • add type annotations to sendMock by @dyc3 in #1299
  • make monolith ids constant by @Victor-M-Giraldo in #1287
  • vis: set up datasource package by @dyc3 in #1301
  • integrate d3 visualization to grafana panel by @cjrkoa in #1275
  • restructure ott-vis to allow for multiple visualization types by @dyc3 in #1304
  • add some toy k6 load tests by @dyc3 in #1307
  • only count users that are eligible to vote skip for the skip threshold by @dyc3 in #1308
  • fix ott-common import woes by @dyc3 in #1310
  • refactor navbar components to reduce complexity by @dyc3 in #1312
  • add separate toggles for auto-skip categories by @ceofil in #1253
  • ci: add ott-vis-datasource e2e job by @dyc3 in #1313
  • ci: upgrade node 16 actions by @dyc3 in #1314
  • tweak docker image to be slightly smaller by @dyc3 in #1315
  • upgrade vitest to v1 by @dyc3 in #1318
  • jobs: clean up db backups after upload by @dyc3 in #1319
  • minor fix for chatty-users load test by @dyc3 in #1321
  • upgrade vuetify by @dyc3 in #1322
  • upgrade vue by @dyc3 in #1324
  • build(deps): bump @babel/traverse from 7.21.2 to 7.23.9 by @dependabot in #1325
  • gut jest from ott-common by @dyc3 in #1327
  • gut jest from ott-server by @dyc3 in #1328
  • improve assertion for flaky test by @dyc3 in #1330
  • make GlobalView render from the provided SystemState by @dyc3 in #1329
  • vis: implement RegionView by @dyc3 in #1331
  • update ci jobs to not use node 16 by @dyc3 in #1332
  • fix add preview validation by @dyc3 in #1333
  • balancer: send pongs in response to websocket pings by @dyc3 in #1334

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

25 Jan 15:41
Compare
Choose a tag to compare

What's Changed

  • fix a new clippy lint by @dyc3 in #1211
  • balancer: fix build by @dyc3 in #1213
  • add CONTRIBUTING.md by @dyc3 in #1215
  • clientmanager: fix index mangling when removing balancer clients on balancer disconnect by @dyc3 in #1214
  • balancer: fix clients not being removed from balancer context on disconnect by @dyc3 in #1212
  • make auto-derived direct video titles slightly easier to read by @dyc3 in #1219
  • balancer: slightly declutter logs by @dyc3 in #1218
  • fix usernames sometimes not immediately updating when using balancer by @dyc3 in #1220
  • fix room migrations by @dyc3 in #1217
  • tests: have jest ignore stuff in ts-out by @dyc3 in #1223
  • harness: consume output of balancer when running tests by @Victor-M-Giraldo in #1221
  • dash support by @dyc3 in #1047
  • ci: wait until monoliths are done deploying successfully before deploying the balancer by @dyc3 in #1226
  • docs: update documentation to accurately reflect how OTT works now by @dyc3 in #1227
  • client: refactor PlyrPlayer for better typechecking by @dyc3 in #1229
  • server: fix parsing iso8601 durations with decimals in the seconds place by @dyc3 in #1230
  • dash: don't use profiles to determine if a video is a live stream by @dyc3 in #1231
  • dash: clean up objects when video changes by @dyc3 in #1234
  • fix overly permissive regexs by @dyc3 in #1235
  • docs: add linux dependencies, fix devcontainer config by @dyc3 in #1236
  • upgrade to vite 5 by @dyc3 in #1237
  • add docker-compose config that includes the balancer and is compatible with scaling by @dyc3 in #1240
  • server: improve error message when client is not present by @dyc3 in #1242
  • client: fix typo on homepage by @Victor-M-Giraldo in #1241
  • ci: add release workflow, misc minor fixes by @dyc3 in #1245
  • ci: dynamically collect code coverage reports by @dyc3 in #1248
  • initalize visualization grafana plugin by @cjrkoa in #1244
  • add config option users.enable_registration to allow admins to disable creating user accounts by @dyc3 in #1246
  • ci: add grafana plugin to workflows by @dyc3 in #1250
  • refactor: some of the unit tests for the user api by @dyc3 in #1254
  • client: Spanish Localization by @Victor-M-Giraldo in #1263
  • fix monolith sending incorrect playbackPosition on initial sync by @dyc3 in #1264
  • disable metrics collectors on staging to make logs a little easier to read by @dyc3 in #1265

Full Changelog: v0.8.0...v0.9.0

v0.8.0

10 Jan 21:25
Compare
Choose a tag to compare

This release gets us closer to being able to scale up OTT and deploy it in different regions.

What's Changed

  • ci: deploy monolith and balancer to staging branch by @dyc3 in #1191
  • split ott-balancer-bin into 2 crates by @dyc3 in #1190
  • harness: improve robustness of tests by @dyc3 in #1194
  • balancer: add message latency benchmarks by @dyc3 in #1173
  • refactor benchmarks to reduce duplicated code by @dyc3 in #1197
  • initial attempt to fix title > 255 char by @Victor-M-Giraldo in #1189
  • improve type checking for room api by @dyc3 in #1193
  • balancer: improve connection manager resilience by @dyc3 in #1200
  • balancer: fix infinite loop in client connection handling by @dyc3 in #1202
  • balancer: tweak dockerfile to improve layer caching by @dyc3 in #1203
  • balancer: add room join benchmarks by @dyc3 in #1198
  • balancer: add --remote-console cli flag to enable remote connections to console subscriber for debugging by @dyc3 in #1201
  • adjust logging around client disconnects/leaves to debug #1207 by @dyc3 in #1208

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

20 Dec 13:19
Compare
Choose a tag to compare

What's Changed

  • clientmanager: add some unit tests by @dyc3 in #1165
  • adjust route_ws_to_correct_monolith to be less flaky by @dyc3 in #1169
  • return http status 201 instead of 200 when creating rooms or user accounts by @dyc3 in #1167
  • ci: disable parallel execution for component tests by @dyc3 in #1168
  • balancer: group monoliths by region by @dyc3 in #1157
  • Add region to emulated monolith by @cjrkoa in #1149
  • balancer: rename MonolithDiscovery to MonolithDiscoverer by @dyc3 in #1172
  • upgrade tungstentite by @dyc3 in #1175
  • add unicast room messaging by @cjrkoa in #1151
  • fix monolith not removing the correct balancer on disconnect by @dyc3 in #1174
  • balancer: make the join race test more reliable by @dyc3 in #1181
  • upgrade typescript to 5.3 by @dyc3 in #1180
  • balancer: prioritize routing new rooms to monoliths in the same region by @dyc3 in #1182
  • balancer: reduce lock contention when processing inbound client messages by @dyc3 in #1178
  • perform partial room unloads when monolith is shutting down by @dyc3 in #1183

Full Changelog: v0.6.0...v0.7.0