Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update koe version #648

Merged
merged 5 commits into from
Jun 10, 2022
Merged

update koe version #648

merged 5 commits into from
Jun 10, 2022

Conversation

topi314
Copy link
Member

@topi314 topi314 commented Apr 12, 2022

https://github.com/Walkyst/koe-fork supports reconnecting & resuming to the discord voice servers
Official koe now supports it

after a few hours discord usually drops the connection and koe does not reconnect which then causes a close with code 1006. This should fix this

preferably you could turn on the ci(if that even works for outside prs) for this pr so we can test this further before possibly merging into dev

@alula
Copy link

alula commented Apr 19, 2022

(KyokoBot/koe maintainer here)

Why you won't upstream those fixes?

I haven't received any PR or issue upstream but I'm open to merge one if needed.

@topi314
Copy link
Member Author

topi314 commented Apr 19, 2022

its not my fork so I'm unsure about pr'ing those changes upstream

Walkyst fork is a fork of a fork

@alula
Copy link

alula commented Apr 19, 2022

The Koe project isn't in abandoned/unmaintained status so I suggest just pushing the fixes upstream instead of switching to a fork...

@alula
Copy link

alula commented Apr 19, 2022

cc @Walkyst @davidffa since I don't want to copy/merge anyone's code without consent

@Walkyst
Copy link
Contributor

Walkyst commented Apr 19, 2022

All questions to @davidffa because he is original resume code writer, i'm just use it for my own needs

@davidffa
Copy link
Contributor

Feel free to use my reconnect/resume implementation.

@alula
Copy link

alula commented Apr 27, 2022

Merged to Koe master, feel free to test so I can tag a 2.0.0 release: https://github.com/KyokoBot/koe

@topi314
Copy link
Member Author

topi314 commented Apr 27, 2022

I updated to your latest master commit so if anyone wants to test I'll paste a jar in the discord(somehow I can't upload it here lol)

@topi314 topi314 changed the title update to Walkyst koe fork update koe version Apr 27, 2022
@itsmishra19
Copy link
Contributor

These are the close code I received in the uptime of 1.5 days.

{ '1000': 1, '1006': 1, '4006': 2, '4014': 293, '4016': 1 }

@topi314
Copy link
Member Author

topi314 commented May 10, 2022

I didn't check them earlier when you sent those to me as I was on mobile
but those are not related to this pr

ConnectTimeoutException: Connect to rr2---sn-fvf-jaxl.googlevideo.com:443 [rr2---sn-fvf-jaxl.googlevideo.com/23.28.251.13] failed: Read timed out

just means either yt or your network suck

for the play op spam you just try to play the track over & over again even if it doesn't work obviously(I recommend not retrying to play it indefinitely)

@topi314
Copy link
Member Author

topi314 commented May 25, 2022

@alula Multiple people including me have ran this over a month in production without any problems 🎉
Should be ready to get tagged

@alula
Copy link

alula commented May 26, 2022

I wanted to add some extra functionality of v5 before 2.0.0 release (iirc it'd just be AES encryption support), but I guess that I can tag a -rc at least.

@topi314
Copy link
Member Author

topi314 commented May 26, 2022

sounds good to me

@topi314
Copy link
Member Author

topi314 commented Jun 1, 2022

I just built a new jar with the latest koe fix KyokoBot/koe#20
and lp version 1.3.97.1 from this #661

https://cdn.discordapp.com/attachments/418817098278764544/981689979052904468/Lavalink.jar

feel free to report any issues here

@alula
Copy link

alula commented Jun 2, 2022

I've tagged a RC release since I don't expect the break the API anymore. I've also merged a small fix in this release.

https://github.com/KyokoBot/koe/releases/tag/2.0.0-rc1

@freyacodes freyacodes merged commit ad309dc into lavalink-devs:dev Jun 10, 2022
@topi314 topi314 deleted the walkyst-koe-fork branch June 10, 2022 17:49
@sarcasterXO
Copy link

These are the close code I received in the uptime of 1.5 days.

{ '1000': 1, '1006': 1, '4006': 2, '4014': 293, '4016': 1 }

did this pr fixed all the close codes?

topi314 added a commit that referenced this pull request Aug 28, 2022
* Call AudioPlayer#destroy() instead of #stop()

* Add first draft of a plugin API

* Add plugins endpoint

* Make Player implement IPlayer

* Add AudioPlayerManager configuration via plugins

* Fix error when enabling timescale and lowpass filters (#572)

* Add plugin loading

* Add automatic plugin downloading

* Use JDK 11 for Jitpack build

* Use custom jitpack install command

* Add maven plugin to API module

* Configure plugin api build

* Fix player is not playing after move between vc or changing regions (#577)

* Configure plugin api publishing

* Load plugins on startup

* Implement plugin event handling and ISocketContext

* Fix PluginsEndpoint

* Allow closing with custom close frame

* Update plugin api version

* Fix spring initialization

* Fix jitpack build

* Re-add JCenter for now

* Refactor EventEmitter

* Add JCenter to the right block

* Reconfigure build of Lavalink-Server

* Use default jitpack tasks

* Load plugin @components upon strtup

* Add filter extension support

* Fix jar loading URL

* Add custom WS handler support

* Fix WS handling

* Set plugin-api to Java 8

* Fix jar and class loading

* Load classes into a single Classloader

* Fix plugin jar management

* updaate lavalink-client & use lavalinks rest api to load tracks (#580)

* Add API javadoc

* Bump plugin-api version

* Add spring-boot dependency instead of spring-context

* Fix broken tests

* fix guild ids sent as numbers in json (#581)

* add onDestroyPlayer event for plugins to use (#583)

* Plugin version 0.7.0

* Bump lavaplayer and add YT config for avoiding age restrictions (#582)

* Bump lavaplayer and add YT config for avoiding age restrictions

* Move youtubeconfig to serverconfig

* Tweak log message

* Convert event handler from interface to abstract class

* Add plugin documentation

* Fix plugin event handler access modifiers

* add spotify plugin & reword sponsorblock (#585)

* Fix ClassNotFoundException in PluginManager outside of dev environment

* Fix lateinit exception in FilterChain

* Document audio source manager beans

* Plugin API 0.9.0

* Rename dunctebot repo (#587)

* Register http source manager last

* Refactor plugin loading

* Simplify startup slightly

* Fix REST endpoints

* Document /plugins endpoint

* Add beta warning

* Fix merge error and tests

* Fix http manager being registered before plugin managers

* Add google cloud tts plugin (#597)

* fix: missing timescale natives (#600)

Fixes the error when trying to apply timescale filters using the dev branch: #599

* feat: http proxy config for httpAudioSourceManager (#595)

* feat: http proxy config for httpAudioSourceManager

* feat(application.yml.example): add httpProxy example
fix(HttpConfig): indentation

* feat: http proxy auth

* chore: add missing config examples and comments

* chore(application.yml.example): description httpconfig

* Set endMarkerHit to correctly set FINISHED as the reason (#609)

* update links to plugins (#613)

* update spotify plugin repo link (#617)

* Added a missing space in WebSocketHandler.kt (#625)

* Added details of additional audio filter plugin (#634)

* Added new plugin details

* Added filter plugin details

* Fixed format

* Update spring dependencies

This commit should tackle any possibility of CVE-2022-22965 being exploited on LavaLink. As far as the current information available states, LavaLink is not vulnerable as we are using the Undertow container and running as a deployable jar instead of a war-file.

This dependency update required an upgrade to Gradle 6.9 as the spring-boot dependency now requires at least gradle 6.8, since 7.0 made changes to how a lot of APIs work, I've sticked with 6.9 for now.

Signed-off-by: Fabricio Winter <[email protected]>

* Remove doLast step from bootJar configuration

Signed-off-by: Fabricio Winter <[email protected]>

* fix docker workdir permisions for creation of plugins folder (#666)

* Update Lavaplayer (#661)

Resolves track searching issues.

* update koe version (#648)

* update to Walkyst koe fork, renamed VoiceConnection -> MediaConnection

* use walkyst fork ext-udpqueue

* use latest koe master branch commit

* update to latest koe commit

* update to koe 2.0.0-rc1

* Document search prefixes in IMPLEMENTATION (#657)

* Document search prefixes in IMPLEMENTATION

* Change wording of track search

Co-authored-by: Freya Arbjerg <[email protected]>

* Allow adding new MediaContainerProbes via plugins (#631)

* Allow adding new MediaContainerProbes via plugins

* Document custom MediaContainerProbe bean support

* Changes plugin decoumentation wording

Co-authored-by: Freya Arbjerg <[email protected]>

* Add log message when application is ready (#665)

* Add log message when application is ready

This marks the moment the application is ready more clearly now
that there are 2 'Started Launcher' log messages.

Additionally, this is somewhat helpful for people running LL through
subprocess that want to programmatically detect when application starts
to accept connections.

* Change "Application" to "Lavalink"

Co-authored-by: Freya Arbjerg <[email protected]>

* Merge event listeners

* undeprecate volume property in play op

* (LowPass) Change enable value, update docs. (#673)

* LowPass: enforce minimum, change enable value, update docs.

* Remove coercing to allow the filter to actually be disabled.

* Bump lowpass minimum to 1.0f

* Enforce >1.0

* add configurable track stuck threshold

* Enforce minimum bufferDuration of 50ms (#674)

* Enforce minimum of 50ms due to unexpected behaviour

* Allow exactly 50ms.

* Minimum should be divisible by 20 due to 20ms packet times.

* Lower to 40ms, mention possibility of stuttering

* 'more' is redundant, under ideal conditions there are no pauses.

* increase minimum track stuck threshold to 100ms

* Bump lavaplayer (#683)

* Bump lavaplayer

* Email and pass not necessary

* 1.3.98.1

* Switch to kotlin gradle dsl and use version catalogs (#672)

* Switch to kotlin gradle dsl and version catalogs

* Use jetbrains annotations

* We don't want tomcat

* Add spotbugs

* Revert annotation import change

Co-authored-by: TopiSenpai <[email protected]>

* added github actions to build jars & docker images

* fix dockerhub repo

* add minns updqueue natives to support more architecturtes

* specify platforms to build docker images for

* update to udpqueue natives 0.1.6 with m1 support

* fix check enabling jda nas on supported platforms

* fix github actions issues (#698)

* remove on pull_request & block job from running if no dokcer secrets are provided

* remove on pull_request for workflow

* remove unneeded check & expression syntax in if

* run docker job only if secrets are set

* fix job name

* fix needs job name

* fix docker job output

* Test docker push

* Force docker push test

* fix misnamed job output

* hopefully fix the issue to run the docker job

* fix missing "

* Delete test

Co-authored-by: Freya Arbjerg <[email protected]>

* document now supported architecures in README.md

* fix github action to upload build artifacts to releases

* Allow adjustment of opus encoding & resampling quality fields in AudioConfiguration (#699)

* Allow setting opusEncoding & resampling quality

* Mark resamplingQuality as nullable so it can be omitted

* Support useSeekGhosting setting.

* Update LP

* Update LP again.

1.3.98.2 was held by a previous build, so another release had to be made.

* Use zulu-openjdk 18 as base

* Update application.yml.example (#710)

* remove docker arm/v7 builds for now

* Refactor GitHub actions (#702)

* remove VERSION.txt and refactor github actions

* combine gradle & docker build into one job

* combine push and build

* use eclipse-temurin:18 as docker base image for linux/arm/v7 & linux/arm64/v8 images

* catch UnsatisfiedLinkError when jda nas is enabled on unsupported systems

* catch throwable instead of UnsatisfiedLinkError when jda nas is loaded

* Revert back to OpenJDK

* revert arm images

* catch throwable instead of UnsatisfiedLinkError when jda nas is loaded

* Bump lavaplayer

* mention github actions in readme

* Add XM module plugin to list (#725)

* arm docker images (#716)

* switch back to eclipse-temurin:18 docker image and reeanle linux/arm64/v8 and linux/arm/v7 docker builds

* use jre focal temurin image

Signed-off-by: Fabricio Winter <[email protected]>
Co-authored-by: Freya Arbjerg <[email protected]>
Co-authored-by: David Amorim <[email protected]>
Co-authored-by: Walkyst <[email protected]>
Co-authored-by: Duncan Sterken <[email protected]>
Co-authored-by: Muh <[email protected]>
Co-authored-by: ToxicMushroom <[email protected]>
Co-authored-by: Devoxin <[email protected]>
Co-authored-by: mooner <[email protected]>
Co-authored-by: Rohan Kumar <[email protected]>
Co-authored-by: Fabricio Winter <[email protected]>
Co-authored-by: Essem <[email protected]>
Co-authored-by: Jakub Kuczys <[email protected]>
Co-authored-by: 2D <[email protected]>
Co-authored-by: Kodehawa <[email protected]>
Co-authored-by: aikaterna <[email protected]>
freyacodes pushed a commit to freyacoded/repo-test that referenced this pull request Oct 11, 2022
* update to Walkyst koe fork, renamed VoiceConnection -> MediaConnection

* use walkyst fork ext-udpqueue

* use latest koe master branch commit

* update to latest koe commit

* update to koe 2.0.0-rc1
freyacodes added a commit to freyacoded/repo-test that referenced this pull request Oct 11, 2022
* Call AudioPlayer#destroy() instead of #stop()

* Add first draft of a plugin API

* Add plugins endpoint

* Make Player implement IPlayer

* Add AudioPlayerManager configuration via plugins

* Fix error when enabling timescale and lowpass filters (lavalink-devs#572)

* Add plugin loading

* Add automatic plugin downloading

* Use JDK 11 for Jitpack build

* Use custom jitpack install command

* Add maven plugin to API module

* Configure plugin api build

* Fix player is not playing after move between vc or changing regions (lavalink-devs#577)

* Configure plugin api publishing

* Load plugins on startup

* Implement plugin event handling and ISocketContext

* Fix PluginsEndpoint

* Allow closing with custom close frame

* Update plugin api version

* Fix spring initialization

* Fix jitpack build

* Re-add JCenter for now

* Refactor EventEmitter

* Add JCenter to the right block

* Reconfigure build of Lavalink-Server

* Use default jitpack tasks

* Load plugin @components upon strtup

* Add filter extension support

* Fix jar loading URL

* Add custom WS handler support

* Fix WS handling

* Set plugin-api to Java 8

* Fix jar and class loading

* Load classes into a single Classloader

* Fix plugin jar management

* updaate lavalink-client & use lavalinks rest api to load tracks (lavalink-devs#580)

* Add API javadoc

* Bump plugin-api version

* Add spring-boot dependency instead of spring-context

* Fix broken tests

* fix guild ids sent as numbers in json (lavalink-devs#581)

* add onDestroyPlayer event for plugins to use (lavalink-devs#583)

* Plugin version 0.7.0

* Bump lavaplayer and add YT config for avoiding age restrictions (lavalink-devs#582)

* Bump lavaplayer and add YT config for avoiding age restrictions

* Move youtubeconfig to serverconfig

* Tweak log message

* Convert event handler from interface to abstract class

* Add plugin documentation

* Fix plugin event handler access modifiers

* add spotify plugin & reword sponsorblock (lavalink-devs#585)

* Fix ClassNotFoundException in PluginManager outside of dev environment

* Fix lateinit exception in FilterChain

* Document audio source manager beans

* Plugin API 0.9.0

* Rename dunctebot repo (lavalink-devs#587)

* Register http source manager last

* Refactor plugin loading

* Simplify startup slightly

* Fix REST endpoints

* Document /plugins endpoint

* Add beta warning

* Fix merge error and tests

* Fix http manager being registered before plugin managers

* Add google cloud tts plugin (lavalink-devs#597)

* fix: missing timescale natives (lavalink-devs#600)

Fixes the error when trying to apply timescale filters using the dev branch: lavalink-devs#599

* feat: http proxy config for httpAudioSourceManager (lavalink-devs#595)

* feat: http proxy config for httpAudioSourceManager

* feat(application.yml.example): add httpProxy example
fix(HttpConfig): indentation

* feat: http proxy auth

* chore: add missing config examples and comments

* chore(application.yml.example): description httpconfig

* Set endMarkerHit to correctly set FINISHED as the reason (lavalink-devs#609)

* update links to plugins (lavalink-devs#613)

* update spotify plugin repo link (lavalink-devs#617)

* Added a missing space in WebSocketHandler.kt (lavalink-devs#625)

* Added details of additional audio filter plugin (lavalink-devs#634)

* Added new plugin details

* Added filter plugin details

* Fixed format

* Update spring dependencies

This commit should tackle any possibility of CVE-2022-22965 being exploited on LavaLink. As far as the current information available states, LavaLink is not vulnerable as we are using the Undertow container and running as a deployable jar instead of a war-file.

This dependency update required an upgrade to Gradle 6.9 as the spring-boot dependency now requires at least gradle 6.8, since 7.0 made changes to how a lot of APIs work, I've sticked with 6.9 for now.

Signed-off-by: Fabricio Winter <[email protected]>

* Remove doLast step from bootJar configuration

Signed-off-by: Fabricio Winter <[email protected]>

* fix docker workdir permisions for creation of plugins folder (lavalink-devs#666)

* Update Lavaplayer (lavalink-devs#661)

Resolves track searching issues.

* update koe version (lavalink-devs#648)

* update to Walkyst koe fork, renamed VoiceConnection -> MediaConnection

* use walkyst fork ext-udpqueue

* use latest koe master branch commit

* update to latest koe commit

* update to koe 2.0.0-rc1

* Document search prefixes in IMPLEMENTATION (lavalink-devs#657)

* Document search prefixes in IMPLEMENTATION

* Change wording of track search

Co-authored-by: Freya Arbjerg <[email protected]>

* Allow adding new MediaContainerProbes via plugins (lavalink-devs#631)

* Allow adding new MediaContainerProbes via plugins

* Document custom MediaContainerProbe bean support

* Changes plugin decoumentation wording

Co-authored-by: Freya Arbjerg <[email protected]>

* Add log message when application is ready (lavalink-devs#665)

* Add log message when application is ready

This marks the moment the application is ready more clearly now
that there are 2 'Started Launcher' log messages.

Additionally, this is somewhat helpful for people running LL through
subprocess that want to programmatically detect when application starts
to accept connections.

* Change "Application" to "Lavalink"

Co-authored-by: Freya Arbjerg <[email protected]>

* Merge event listeners

* undeprecate volume property in play op

* (LowPass) Change enable value, update docs. (lavalink-devs#673)

* LowPass: enforce minimum, change enable value, update docs.

* Remove coercing to allow the filter to actually be disabled.

* Bump lowpass minimum to 1.0f

* Enforce >1.0

* add configurable track stuck threshold

* Enforce minimum bufferDuration of 50ms (lavalink-devs#674)

* Enforce minimum of 50ms due to unexpected behaviour

* Allow exactly 50ms.

* Minimum should be divisible by 20 due to 20ms packet times.

* Lower to 40ms, mention possibility of stuttering

* 'more' is redundant, under ideal conditions there are no pauses.

* increase minimum track stuck threshold to 100ms

* Bump lavaplayer (lavalink-devs#683)

* Bump lavaplayer

* Email and pass not necessary

* 1.3.98.1

* Switch to kotlin gradle dsl and use version catalogs (lavalink-devs#672)

* Switch to kotlin gradle dsl and version catalogs

* Use jetbrains annotations

* We don't want tomcat

* Add spotbugs

* Revert annotation import change

Co-authored-by: TopiSenpai <[email protected]>

* added github actions to build jars & docker images

* fix dockerhub repo

* add minns updqueue natives to support more architecturtes

* specify platforms to build docker images for

* update to udpqueue natives 0.1.6 with m1 support

* fix check enabling jda nas on supported platforms

* fix github actions issues (lavalink-devs#698)

* remove on pull_request & block job from running if no dokcer secrets are provided

* remove on pull_request for workflow

* remove unneeded check & expression syntax in if

* run docker job only if secrets are set

* fix job name

* fix needs job name

* fix docker job output

* Test docker push

* Force docker push test

* fix misnamed job output

* hopefully fix the issue to run the docker job

* fix missing "

* Delete test

Co-authored-by: Freya Arbjerg <[email protected]>

* document now supported architecures in README.md

* fix github action to upload build artifacts to releases

* Allow adjustment of opus encoding & resampling quality fields in AudioConfiguration (lavalink-devs#699)

* Allow setting opusEncoding & resampling quality

* Mark resamplingQuality as nullable so it can be omitted

* Support useSeekGhosting setting.

* Update LP

* Update LP again.

1.3.98.2 was held by a previous build, so another release had to be made.

* Use zulu-openjdk 18 as base

* Update application.yml.example (lavalink-devs#710)

* remove docker arm/v7 builds for now

* Refactor GitHub actions (lavalink-devs#702)

* remove VERSION.txt and refactor github actions

* combine gradle & docker build into one job

* combine push and build

* use eclipse-temurin:18 as docker base image for linux/arm/v7 & linux/arm64/v8 images

* catch UnsatisfiedLinkError when jda nas is enabled on unsupported systems

* catch throwable instead of UnsatisfiedLinkError when jda nas is loaded

* Revert back to OpenJDK

* revert arm images

* catch throwable instead of UnsatisfiedLinkError when jda nas is loaded

* Bump lavaplayer

* mention github actions in readme

* Add XM module plugin to list (lavalink-devs#725)

* arm docker images (lavalink-devs#716)

* switch back to eclipse-temurin:18 docker image and reeanle linux/arm64/v8 and linux/arm/v7 docker builds

* use jre focal temurin image

Signed-off-by: Fabricio Winter <[email protected]>
Co-authored-by: Freya Arbjerg <[email protected]>
Co-authored-by: David Amorim <[email protected]>
Co-authored-by: Walkyst <[email protected]>
Co-authored-by: Duncan Sterken <[email protected]>
Co-authored-by: Muh <[email protected]>
Co-authored-by: ToxicMushroom <[email protected]>
Co-authored-by: Devoxin <[email protected]>
Co-authored-by: mooner <[email protected]>
Co-authored-by: Rohan Kumar <[email protected]>
Co-authored-by: Fabricio Winter <[email protected]>
Co-authored-by: Essem <[email protected]>
Co-authored-by: Jakub Kuczys <[email protected]>
Co-authored-by: 2D <[email protected]>
Co-authored-by: Kodehawa <[email protected]>
Co-authored-by: aikaterna <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants