* Add methods to gather plugin versions from servers
* Gathering and storage for plugin version history
* Test plugin gathering
* Test plugin metadata storage
* /v1/pluginHistory endpoint
* Plugin history tab
* Plugin history to performance tab
* Possibly fix ConfigChange.MovedValue being applied all the time
* Updated locale files
* Export pluginHistory for server page
* Add plugin history to network page
* Access control and improvements
* Remove pluginHistory from export since it now requires auth
* Fix access visibility tests
* Fix VelocitySensor during test
Affects issues:
- Close#2360
* Removed Plugin.Use_Legacy_Frontend feature flag
* Remove version modal html generation in Java
* Remove contributor list html generation in Java
* Remove more html generation in Java
* Delete old web file bundle
* Removed locale html/js translation from backend
* Move Html#swapColorsToSpan to the React side
* Reimplement datatables and backend for preferences
* Load preferences from backend
* Usability fixes to the players table
* Delete WebAssetVersionCheckTask
* Add new locale to locale files
* Export defaultPreferences as json on react export
Affects issues:
- Close#2905
- Change proxy server info storage to allow multiple proxies to exist in the database
- Allow naming Proxies with Server.Name config setting
- Server.IP is no longer required to be set during installation
- Change logic reliant on single proxy server to consider multiple proxies
- If multiple proxies have webserver or export enabled, the address given by commands can be any of them.
- Network players online graph now stacks if redisbungee is not used. Individual players online graphs for different proxies can be viewed from Performance tab.
- Last Peak and All Time Peak are not given for multi-proxy networks without redisbungee since it would be expensive to calculate.
- Improved network performance tab considerably
- /plan info displays the Server UUID of the current server
- /plan server link goes to /server/UUID instead of /server/Name
- Fix join address graphs not loading if strict GROUP BY is enabled in MySQL
Affects issues:
- Close#1454
- Applied relocation hack suggested by Vankka
- Removed metrics for velocity (They were using the unrelocated logger, but there was no way to unrelocate it)
Affects issues:
- Fixed#2497
- Refactored player online listeners to move common. often changed logic to common package
- Changed method fabric uses to get join address to use the client handshake packet which has the address
- Added command `/plan db removejoinaddresses {server}` to allow removing invalid join address data
- Changed build pipeline to always build jars even if tests fail
- Disabled one flaky test
Affects issues:
- Closed#817
- Fixed #2526
This code was improper use of dagger for dependency injection,
and could be fixed by introducing new method to Component classes
that gives the initialized ErrorLogger directly.
* Initial commit for Sponge API 8 port
* Change Sponge PAL version to include -sponge version suffix
* Comment out Nucleus w/ needs a update in ExtensionRegister
* Fix error with ArtifactVersion (from org.apache.maven) being relocated
* Correct todos related to getting values from ResourceKeys
* Cleanup sponge buildscript a bit
* Remove sout
* Update Extension-Sponge-Economy to 8.0.0-R0.3
* Convert to Sponge's new preferred way to load in jar resources
* Convert SpongeMessageBuilder and VelocityMessageBuilder into AdventureMessageBuilder
* Add back the command
* Update bStats to 3.0.0, re-enable bStats for Sponge
* Implement gamemode change mixin
* Remove unused import
* Update SpongeGMChangeListener's error logging as suggested
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
* PAL 5.1.0
* Add a check in SpongeCommand to update the ErrorLogger and Subcommand if the PlanSpongeComponent changes
* Combine try-with-resources in SpongePlanFiles#asStringResource
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
- Hopefully fix user_id relation error once and for all.
- Set timezone to 00:00 properly when MySQL initializes connection
Affects issues:
- Close#1239
- Ping gathering now uses a map of timestamps
- Removes a task that waited for ping data to be reliable (one task / join)
- Cookie expiration now uses a map of timestamps
- Removes a task that waited for cookie to expire (one task / login cookie)
Affects issues:
- Possibly fixed#1984
* Bump io.github.slimjar from 1.2.1 to 1.2.2 in /Plan
Bumps io.github.slimjar from 1.2.1 to 1.2.2.
---
updated-dependencies:
- dependency-name: io.github.slimjar
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Added vshnv.tech repository for including the slimjar library jar
* use papermc.io/repo for downloading slimjar dependencies
Affects issues:
- Resolved https://github.com/slimjar/slimjar/issues/52
- Resolved https://github.com/slimjar/slimjar/issues/53
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Risto Lahtela <24460436+AuroraLS3@users.noreply.github.com>
* Add Velocity 3.0.0 support
- Switched `VelocityCommand` implementation to `SimpleCommand` subinterface
- Removed old & deprecated `text` component handling API in favor of Adventure components
* Fix hover & click events not working
- Split Session into ActiveSession and FinishedSession, replaced their usage
- Replaced UUID with ServerUUID when the data type
Affects issues:
- Close#1746
Replaced Abstract Plugin Framework with Platform Abstraction Layer
Large amount of changes due to removal of features from the library,
and change of the way the abstraction is achieved.
Removes features from Plan:
Removed debug logging (Considered useless when debugging issues)
Removed /debug page (Considered useless when debugging issues)
Removed enable timing (Benchmarking utility was removed from the library)
- Filter interface
- Wrote 5 filters
- Wrote QueryFilters that manages different Filters
Plan is to link the QueryFilters to Resolvers:
- One that returns all filters and their options as json
- One that users the query parameters (eg ?q={json}) and gets the filters
- FilterQuery has a static method to parse the json
- Added a field is_proxy to plan_servers
- Patch to populate the new field
- Field is set to true when proxy enables to fix any broken data
- Allows any name for a proxy
- Updated server save queries
- Changed isProxy method in Server.java to match the change
- Changed query for fetching the proxy server
Affects issues:
- Close#1678