Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* implement rest routes for ws ops * remove private val from SocketContext field * implement new player & session rest api according to new implementation proposal * fix playlistInfo fields being top level in load result * chore: cleanup stats task * allow websocket on /v3/weboscket * fix plugins & info endpoint, add identifier handling in player update endpoint, better request logging, split handlers into more files * fix route planner & decode track endpoint * json marshal tweaks * reorder update player checks * fix error when pause not provided & capitalization of voice properties * fix error while deserializing player update * fix filters * feat: add /v3/stats endpoint * chore: convert track end marker handler to kotlin * chore: add @nullable annotation to IPlayer#getTrack * chore: convert LavalinkPlayer to Kotlin * chore: cleanup some stuff/kotlin conversion All have been tested * chore: remove gson dependency * chore: remove unused class * chore: convert config classes to kotlin * chore: convert AudioLossCounter to kotlin * reformat stats stuff, fix inclusion & nullability of json fields * chore: deprecate ISocketContext#sendMessage(JSONObject) * fix stopping track, added request logging & cleanup * remove nullable modifier * use custom decoder for nullable optional fields * revert kotlin version changes * add ws command deprecation warning * make filters not nullable * cleanup unneeded stuff * fix wrong json field name in PlayerUpdateDeserializer * bump kotlin version again due to issues * add error for partial voice state update * include message in lavalink rest error responses & error data class * automatically register HandlerInterceptor for plugins to intercept rest endpoints * use custom interface for endpoint interception * deprecate org json methods in AudioFilterExtension * add deprecation notice to old methods in AudioFilterExtension * apply old loadtracks formatting to /v3/loadtracks endpoint too * allow customization of request logging * set empty after suffix * remove debug logs * formatting & more checks * validate User-Id header & cleanup sessionId generation * some more cleanup * make generateUniqueSessionId beautiful (ty gino) * replace multi if with when * proposed api changes for v3.7.0 (lavalink-devs#750) * proposed api changes for v3.6 * add missing deprecation notices in old rest routes, add changes summary and readd deprecated payloads in details view * fix typo & add time units to IMPLEMENTATION.md * Update IMPLEMENTATION.md Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> * refactor ws op & event headers & move header description into one block * fix weird wording * fix broken jump links & rework track loading endpopint * deprecate version endpoint and add info endpoint * tweak info example values * update version in info endpoint & versioning policy * Update IMPLEMENTATION.md Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> * rework event docs with markdown tables * make detail closed by default * fix missing detail close tag * update rest docs to use tables * update events docs * add missing details close tag * rewrite more rest docs to tables & fixed some issues in events & co * fix anchor * fix some smaller issues * fix search result json * convert missing docs to tables except route planner api & fixed some inconsistencies * update severity docs * cleanup some minor stuff * fix capitalization * convert missing ip router planning stuff * add missing lines * add stats endpoint * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * fix filterBand and fix tables * add equalizer band frequencies to docs * Update IMPLEMENTATION.md * Various changes to the API draft (lavalink-devs#764) * Various changes to the API draft * Expanded the change list * Added future changes in v4 and v5 * Moved WS handshake to /v3/websocket * Changed structure of Track * Removed Voice Event, replaced with existing Voice State * Clarify various things * And more * Apply suggestions from code review Co-authored-by: ToπSenpai <15636011+TopiSenpai@users.noreply.github.com> Co-authored-by: ToπSenpai <15636011+TopiSenpai@users.noreply.github.com> * Clarify buildTime * Fix formatting * Bump versions * Update IMPLEMENTATION.md Co-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com> * apply review changes & fix some more stuff * update max volume * add note about session resuming * readd track field to track json with deprecation notice * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * update track events * update volume range in player update endpoint * Update IMPLEMENTATION.md Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * fix outdated example json * update git object * Apply suggestions from code review Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> * Fix a grammar isssue * undeprecate /version * rename track to encodedTrack in track events * update significant changes * update version object * Update IMPLEMENTATION.md * Update IMPLEMENTATION.md * Update IMPLEMENTATION.md * update player update filters docs * fix typo * Update IMPLEMENTATION.md * Apply suggestions from code review Co-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com> * fix wording * Update IMPLEMENTATION.md * add migration guide & deprecation notices * Update IMPLEMENTATION.md * update PATCH session endpoint * update track event docs to match the current behavior * fix some fields being optional * update nullability of frameStats in stats object * revert track & encodedTrack in track events being nullable * update stats endpoint & make filters not nullable * document error responses and reformat * update stacktrace notice * document data types more specific * document intercepting existing REST endpoints * update plugin docs with new RestInterceptor interface * update common pitfalls and update player docs * remove optional mofiier from ready op resumed field * update ws connection header docs * Apply suggestions from code review Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> * add RestInterceptor import to PLUGINS.md * revert more specific types Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> Co-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com> * Update LavalinkServer/src/main/java/lavalink/server/info/AppInfo.kt Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> * cleanup * fix error from suggestion * Update LavalinkServer/src/main/java/lavalink/server/io/WebSocketHandler.kt Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> * chore: update kotlin version (lavalink-devs#761) * chore: update kotlin version to latest * chore: improve handling of websocket extensions * docs(plugins): add note about kotlin version Co-authored-by: ToπSenpai <15636011+TopiSenpai@users.noreply.github.com> * add filters to info endpoint & some rewording * return enabled filters in info endpoint * validate & return error for disabled filters * add missing deprecation annotations * Apply suggestions from code review Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> * get rid of unnecessary mapping annotation values * cleanup load result in protocol & LavalinkServer module * rename LoadResult.searchResult to LoadResult.searchResultLoaded * update protocol package to include lavalink api version * fix broken imports due to package renaming * protocol Track.uri should be nullable * fix plugins & info endpoint * ignore voice in update player endpoint if it didn't change * don't ignore voice when voice gateway is closed * rename oldConnection to oldConn * separate filter configs from protocol module for easier api versioning * throw error if decoded track is not able to be decoded * reformat protocol decodeTrack function * return 400 for player update with identifier resulting in playlist/search result or no matches * update update player identifier docs * add missing session id getter to plugin api * Update protocol/src/main/java/dev/arbjerg/lavalink/protocol/v3/stats.kt Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> * apply review suggestions * fix framestats type Co-authored-by: melike2d <real.melike2d@gmail.com> Co-authored-by: Devoxin <15076404+Devoxin@users.noreply.github.com> Co-authored-by: Freya Arbjerg <freya@arbjerg.dev> Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com> Co-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>
- Loading branch information