* Implement first response parts of http caching
* Implement cached response for static resources
* Implement HTTP caching for json responses
* Fix last seen value for online players
* Implement http caching for pages (.html)
* Use placeholder cache even with async requests.
Affects issues:
- Close#2813
- Fixed SQL-injection vulnerability in an endpoint
- Fixed XSS on Whitelist deny 403 page
- Fixed XSS on Internal Error 500 page if untrusted data ends up in exception message
Join addresses were missing
- Implemented new group visualizer that allows viewing group data as column/bar/pie/table
- Implemented latest join address pie on server page (was missing)
- Implemented join addresses per day graph on new Join addresses tab
- Made playerbase overview use the group visualizer
Affects issues:
- Close#2362
* 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
* Fixed disk medium threshold not showing color
* Added 'serverName' and 'serverUUID' to optimizedPerformance endpoint
* Added /v1/network/listServers endpoint
* Added /v1/network/performanceOverview?servers endpoint
* Hide negative values from performance graphs
* Allow json cache bypass by not providing timestamp parameter in URIQuery
* Ignore negative values in low tps spike count
* Added (Unavailable with Export) to exported network html performance tab title
Affects issues:
- Close#1693
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)
- Split Session into ActiveSession and FinishedSession, replaced their usage
- Replaced UUID with ServerUUID when the data type
Affects issues:
- Close#1746
Reduced resolution of data:
- Last 30 days: Full resolution (1 per minute)
- Last 60 - 30 days: 1 per 5 minutes
- 60+ days old: 1 per 20 minutes
Effect:
- Reduced /v1/graphs?type=performance size from 21 MB to 9.15 MB (126k rows in database)
Added new endpoint /v1/graphs?type=optimizedPerformance that doesn't parse series separately
- Sends a single array of arrays instead of one array for each series
- Added a parseDataSeries to graphs.js that translates the data
Effect:
- Reduced from 9.15 MB to 3.35 MB
- Moved some workload to the browser
Affects issues:
- Fixed#1622
The type parameter was passed to an exception that is currently turned into
json, but in the future the way this exception is handled could have changed.