Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #729 from freyacodes/dev
* 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 <git@notfab.net> * Remove doLast step from bootJar configuration Signed-off-by: Fabricio Winter <git@notfab.net> * 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 <freya@arbjerg.dev> * 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 <freya@arbjerg.dev> * 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 <freya@arbjerg.dev> * 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 <tobi@strasserhof.com> * 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 <freya@arbjerg.dev> * 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 <git@notfab.net> Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> Co-authored-by: David Amorim <66310990+davidffa@users.noreply.github.com> Co-authored-by: Walkyst <41806921+Walkyst@users.noreply.github.com> Co-authored-by: Duncan Sterken <contact@duncte123.me> Co-authored-by: Muh <52611945+Muh9049@users.noreply.github.com> Co-authored-by: ToxicMushroom <merlijn.verstraete@gmail.com> Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> Co-authored-by: mooner <moonmk10221@gmail.com> Co-authored-by: Rohan Kumar <rohan.shuvam@gmail.com> Co-authored-by: Fabricio Winter <git@notfab.net> Co-authored-by: Essem <smswessem@gmail.com> Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com> Co-authored-by: 2D <44017640+melike2d@users.noreply.github.com> Co-authored-by: Kodehawa <david.alejandro.rubio@gmail.com> Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
- Loading branch information