From 166306b29077f123d502a9c273b4fc64bcd55f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Thu, 3 Aug 2023 17:30:39 +0200 Subject: [PATCH 01/13] use lavalink lavaplayer fork 1.5.0 (#932) --- settings.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index fb98faa35..9fb4d991f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -38,10 +38,10 @@ fun VersionCatalogBuilder.spring() { } fun VersionCatalogBuilder.voice() { - version("lavaplayer", "1.4.2") + version("lavaplayer", "1.5.0") - library("lavaplayer", "com.github.walkyst.lavaplayer-fork", "lavaplayer").versionRef("lavaplayer") - library("lavaplayer-ip-rotator", "com.github.walkyst.lavaplayer-fork", "lavaplayer-ext-youtube-rotator").versionRef("lavaplayer") + library("lavaplayer", "dev.arbjerg", "lavaplayer").versionRef("lavaplayer") + library("lavaplayer-ip-rotator", "dev.arbjerg", "lavaplayer-ext-youtube-rotator").versionRef("lavaplayer") library("lavadsp", "dev.arbjerg", "lavadsp").version("0.7.8") library("koe", "moe.kyokobot.koe", "core").version("2.0.0-rc1") From 439f122eb528c5a5c02746c3c26c0c64c0e4cdb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Thu, 3 Aug 2023 17:32:39 +0200 Subject: [PATCH 02/13] Update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 325ff4880..50e278c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ Each release usually includes various fixes and improvements. The most noteworthy of these, as well as any features and breaking changes, are listed here. + +## 3.7.8 +* Fix YouTube 403 errors +* Fix YouTube access token errors + ## 3.7.7 * Add JDA-NAS support for musl (`x86-64`, `aarch64`) based systems (most notably `alpine`) From f9d8a3c016d7e977d70e9d21c810607e8b5b5fb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Thu, 3 Aug 2023 17:53:38 +0200 Subject: [PATCH 03/13] Update release.yml --- .github/workflows/release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24965ba7a..b2a3107db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,3 +32,7 @@ jobs: with: artifacts: Lavalink.jar allowUpdates: true + omitBodyDuringUpdate: true + omitDraftDuringUpdate: true + omitNameDuringUpdate: true + omitPrereleaseDuringUpdate: true From 340676640ff0bdfd35780d7902d1ec267e6cccff Mon Sep 17 00:00:00 2001 From: Victoria Casasampere Fernandez Date: Fri, 4 Aug 2023 22:19:04 +0200 Subject: [PATCH 04/13] Update frame stats documentation (V3) (#935) --- IMPLEMENTATION.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md index ef6a76141..93b0bfba7 100644 --- a/IMPLEMENTATION.md +++ b/IMPLEMENTATION.md @@ -215,7 +215,7 @@ Dispatched every x (configurable in `application.yml`) seconds with the current #### Stats OP -A collection of stats sent every minute. +A collection of statistics sent every minute. ##### Stats Object @@ -247,11 +247,13 @@ A collection of stats sent every minute. ##### Frame Stats -| Field | Type | Description | -|---------|------|----------------------------------------| -| sent | int | The amount of frames sent to Discord | -| nulled | int | The amount of frames that were nulled | -| deficit | int | The amount of frames that were deficit | +| Field | Type | Description | +|-----------|------|----------------------------------------------------------------------| +| sent | int | The amount of frames sent to Discord | +| nulled | int | The amount of frames that were nulled | +| deficit * | int | The difference between sent frames and the expected amount of frames | + +\* The expected amount of frames is 3000 (1 every 20 ms) per player. If the `deficit` is negative, too many frames were sent, and if it's positive, not enough frames got sent.
Example Payload @@ -274,9 +276,9 @@ A collection of stats sent every minute. "lavalinkLoad": 0.5 }, "frameStats": { - "sent": 123456789, - "nulled": 123456789, - "deficit": 123456789 + "sent": 6000, + "nulled": 10, + "deficit": -3010 } } ``` From a884dbc3bf9bc4d8bae8d24af6334537de1b3235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Tue, 8 Aug 2023 13:22:10 +0200 Subject: [PATCH 05/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7b305b9b..86478bf2b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Lavalink logo -A standalone audio sending node based on [Lavaplayer](https://github.com/sedmelluq/lavaplayer) and [Koe](https://github.com/KyokoBot/koe). +A standalone audio sending node based on [Lavaplayer](https://github.com/lavalink-devs/lavaplayer) and [Koe](https://github.com/KyokoBot/koe). Allows for sending audio without it ever reaching any of your shards. Being used in production by FredBoat, Dyno, LewdBot, and more. From cb866b30f78d4939f4d95a07f9c876db559f8c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Fri, 13 Oct 2023 12:24:36 +0200 Subject: [PATCH 06/13] only seek when player is playing # Conflicts: # LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt --- .../main/java/lavalink/server/player/PlayerRestHandler.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt b/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt index bf7348a19..91ee3fe6a 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt @@ -120,8 +120,10 @@ class PlayerRestHandler( // we handle position differently for playing new tracks playerUpdate.position.takeIf { it.isPresent && !playerUpdate.encodedTrack.isPresent && !playerUpdate.identifier.isPresent } ?.let { - player.seekTo(it.value) - SocketServer.sendPlayerUpdate(context, player) + if (player.isPlaying) { + player.seekTo(it) + SocketServer.sendPlayerUpdate(context, player) + } } playerUpdate.endTime.takeIf { it.isPresent && !playerUpdate.encodedTrack.isPresent && !playerUpdate.identifier.isPresent } From 14c213783595606fe241a0588b399f87eafe3473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Fri, 13 Oct 2023 12:26:34 +0200 Subject: [PATCH 07/13] fix websocket crash when seeking and nothing is playing --- .../src/main/java/lavalink/server/io/WebSocketHandler.kt | 4 ++++ .../src/main/java/lavalink/server/player/PlayerRestHandler.kt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/LavalinkServer/src/main/java/lavalink/server/io/WebSocketHandler.kt b/LavalinkServer/src/main/java/lavalink/server/io/WebSocketHandler.kt index e79db30ca..591952c80 100644 --- a/LavalinkServer/src/main/java/lavalink/server/io/WebSocketHandler.kt +++ b/LavalinkServer/src/main/java/lavalink/server/io/WebSocketHandler.kt @@ -127,6 +127,10 @@ class WebSocketHandler( private fun seek(json: JSONObject) { val player = context.getPlayer(json.getLong("guildId")) + if (!player.isPlaying) { + log.warn("Can't seek when player is not playing anything") + return + } player.seekTo(json.getLong("position")) SocketServer.sendPlayerUpdate(context, player) } diff --git a/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt b/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt index 91ee3fe6a..fe0e4fe92 100644 --- a/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt +++ b/LavalinkServer/src/main/java/lavalink/server/player/PlayerRestHandler.kt @@ -121,7 +121,7 @@ class PlayerRestHandler( playerUpdate.position.takeIf { it.isPresent && !playerUpdate.encodedTrack.isPresent && !playerUpdate.identifier.isPresent } ?.let { if (player.isPlaying) { - player.seekTo(it) + player.seekTo(it.value) SocketServer.sendPlayerUpdate(context, player) } } From cf824c1d86a8e10bf8b43dd76972571f45d06807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 5 Nov 2023 01:13:55 +0100 Subject: [PATCH 08/13] update lavaplayer version to 1.5.1 --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 9fb4d991f..f7f559986 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -38,7 +38,7 @@ fun VersionCatalogBuilder.spring() { } fun VersionCatalogBuilder.voice() { - version("lavaplayer", "1.5.0") + version("lavaplayer", "1.5.1") library("lavaplayer", "dev.arbjerg", "lavaplayer").versionRef("lavaplayer") library("lavaplayer-ip-rotator", "dev.arbjerg", "lavaplayer-ext-youtube-rotator").versionRef("lavaplayer") From 0206007a5fdbd087722936eeaad92d031a224994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 5 Nov 2023 01:21:56 +0100 Subject: [PATCH 09/13] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50e278c3e..326eb382c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ Each release usually includes various fixes and improvements. The most noteworthy of these, as well as any features and breaking changes, are listed here. +## 3.7.9 +* Update lavaplayer to [`1.5.1`](https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.1) - Fixed YouTube access token errors + ## 3.7.8 * Fix YouTube 403 errors * Fix YouTube access token errors From a7a31dfb7bada44a00f255801229727cc9622c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 5 Nov 2023 15:40:46 +0100 Subject: [PATCH 10/13] add missing changes to changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 326eb382c..a20aa28bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The most noteworthy of these, as well as any features and breaking changes, are ## 3.7.9 * Update lavaplayer to [`1.5.1`](https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.1) - Fixed YouTube access token errors +* Fixed websocket crash when seeking and nothing is playing +* Fixed error when seeking and player is not playing anything ## 3.7.8 * Fix YouTube 403 errors From aeb7f0e549a9cc80a9f6923a64bd10ec0e70ba0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 3 Dec 2023 13:13:45 +0100 Subject: [PATCH 11/13] update lavaplayer to 1.5.2 & exclude old lava-common version --- LavalinkServer/build.gradle.kts | 4 +++- settings.gradle.kts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/LavalinkServer/build.gradle.kts b/LavalinkServer/build.gradle.kts index 6af7e7f54..0ed127527 100644 --- a/LavalinkServer/build.gradle.kts +++ b/LavalinkServer/build.gradle.kts @@ -53,7 +53,9 @@ dependencies { implementation(libs.koe.udpqueue) { exclude(module="udp-queue") } - implementation(libs.bundles.udpqueue.natives) + implementation(libs.bundles.udpqueue.natives) { + exclude(group = "com.sedmelluq", module = "lava-common") + } implementation(libs.lavaplayer) implementation(libs.lavaplayer.ip.rotator) diff --git a/settings.gradle.kts b/settings.gradle.kts index f7f559986..97c3e6628 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -38,7 +38,7 @@ fun VersionCatalogBuilder.spring() { } fun VersionCatalogBuilder.voice() { - version("lavaplayer", "1.5.1") + version("lavaplayer", "1.5.2") library("lavaplayer", "dev.arbjerg", "lavaplayer").versionRef("lavaplayer") library("lavaplayer-ip-rotator", "dev.arbjerg", "lavaplayer-ext-youtube-rotator").versionRef("lavaplayer") From aca21d0d4e66582d2734d58b545bf46276038574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 3 Dec 2023 13:18:17 +0100 Subject: [PATCH 12/13] update maven repo to maven.lavalink.dev --- README.md | 2 +- build.gradle.kts | 2 +- repositories.gradle | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 86478bf2b..83d623c47 100644 --- a/README.md +++ b/README.md @@ -236,7 +236,7 @@ LOGGING_LOGBACK_ROLLINGPOLICY_MAX_HISTORY ### Binary -Download binaries from the [Download Server](https://repo.arbjerg.dev/artifacts/lavalink/), [GitHub releases](https://github.com/lavalink-devs/Lavalink/releases) (specific versions prior to `v3.5` can be found in the [CI Server](https://ci.fredboat.com/viewLog.html?buildId=lastSuccessful&buildTypeId=Lavalink_Build&tab=artifacts&guest=1)) or [GitHub actions](https://github.com/lavalink-devs/Lavalink/actions). +Download binaries from the [Download Server](https://repo.lavalink.dev/artifacts/lavalink/), [GitHub releases](https://github.com/lavalink-devs/Lavalink/releases) (specific versions prior to `v3.5` can be found in the [CI Server](https://ci.fredboat.com/viewLog.html?buildId=lastSuccessful&buildTypeId=Lavalink_Build&tab=artifacts&guest=1)) or [GitHub actions](https://github.com/lavalink-devs/Lavalink/actions). Put an `application.yml` file in your working directory. ([Example here](LavalinkServer/application.yml.example)) diff --git a/build.gradle.kts b/build.gradle.kts index 834b3dd58..3d4b90afe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -28,7 +28,7 @@ allprojects { mavenCentral() // main maven repo mavenLocal() // useful for developing maven("https://m2.dv8tion.net/releases") - maven("https://maven.arbjerg.dev/releases") + maven("https://maven.lavalink.dev/releases") jcenter() maven("https://jitpack.io") // build projects directly from GitHub } diff --git a/repositories.gradle b/repositories.gradle index 7280cc431..77ad8b14a 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -24,8 +24,8 @@ publishing { if (findProperty("MAVEN_USERNAME") != null && findProperty("MAVEN_PASSWORD") != null) { println("Publishing to Maven Repo") repositories { - def snapshots = "https://maven.arbjerg.dev/snapshots" - def releases = "https://maven.arbjerg.dev/releases" + def snapshots = "https://maven.lavalink.dev/snapshots" + def releases = "https://maven.lavalink.dev/releases" maven { url = version.endsWith("SNAPSHOT") ? snapshots : releases From fdeadb0b9b02dcaf3df6a9f699c9c4956342b049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80?= Date: Sun, 3 Dec 2023 13:41:08 +0100 Subject: [PATCH 13/13] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a20aa28bd..58991f959 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ Each release usually includes various fixes and improvements. The most noteworthy of these, as well as any features and breaking changes, are listed here. +## v3.7.10 +* Update lavaplayer to [`1.5.2`](https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.2) - Fixed NPE on missing author in playlist tracks in YouTube + ## 3.7.9 * Update lavaplayer to [`1.5.1`](https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.1) - Fixed YouTube access token errors * Fixed websocket crash when seeking and nothing is playing