* 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
- Don't log "database is closed" when query tries to execute after database close
- Log better error help when mysql fails to connect
Affects issues:
- Fixed#2499
- 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.
* Adds swagger dependencies and annotations for json endpoints for documentation
* Add swagger ui to react project
* Access control to swagger endpoints
* Include swagger.json in jars using custom configuration
Also:
* Reworked project shadow configurations to avoid shadowing shadow versions of modules
Why: Extra dependencies were being included when using shadow scope
What:
- modules no longer depend on shadow configurations,
which speeds up IDEA indexing after build considerably
(No need to index *-all.jars)
- 'shadow' scope is now used for artifacts that need to be included
- 'shadow' scope is also 'api' so that modules that depend on common
can import the libraries. This may cause issues in projects
depending on Plan so this may need to be reconsidered
- Relocations and exclusions were moved to plugin module
org.slf4j is now included in 2 locations which may cause issues.
Needs testing with servers
- Found out that all Extension dependencies include junit as compile
scope which caused it to be included.
Affects issues:
- Close#1890
- 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>
* Wrote a query and utility for getting server uptime
* Added current_uptime to json endpoints
* Load current uptime on the website
* Moved nukkit repo to nukkit module
* Added equals and hashcode to QueryStatement and QueryAPIQuery
* Remove dependency on codemc repository
Affects issues:
- Close#1845
Updates gradle to version 7 and sorts out all the deprecated stuff
Affects issues:
- Clsoe #1871
Co-authored-by: Antti Koponen <koponen942@outlook.com>
Applied some thought to how this stuff should work.
- nulls now possible in the column when value is not available
- Called "Join addresses" instead of hostnames
- Remove bogus data with a patch
- Proper hostname method for spigot
- Removed method calls from nukkit since there was nothing that sounded
proper
Affects:
- Close#1798 (Copied all code over)
Bugs fixed:
- LinkCommands: The return value of "orElseThrow" must be used.
- RegistrationCommands: Optional isPresent not same instance as Optional get
Smells fixed:
- Plan: "logger" is the name of a field in "JavaPlugin"
- PlayersTableJSONCreator: Reduce the total number of break and continue statements in this loop to use at most one.
- BukkitAFKListener, SpongeAFKListener, NukkitAFKListener, PlanAPI, CapabilityService: match the regular expression '^[a-z][a-zA-Z0-9]*$'
- TaskSystem: Reorder the modifiers to comply with the Java Language Specification.
- EntityNameFormatter: StringUtils.removeAll moved to RegExUtils.removeAll
- FiltersJSONResolver: fulfill compareTo contract
- ExportTask: Removed duplicate string literal
- FinishedSession.Id: Rename field "id"
- Session save is now properly waited for when plugin disables
The session save attempt times out after 4 seconds instead of
waiting forever
- If shutdown save is not performed, instead of attempting again on JVM death,
the sessions are placed into a file that is read next time the plugin
enables.
Affects issues:
- Fixed#1770
- 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)