Commit Graph

4292 Commits

Author SHA1 Message Date
Risto Lahtela
c3ce37bfa9 Plan API 5.2-R0.4: SchedulerService
Allows scheduling async tasks for platforms that don't have static
accessors for registering tasks, such as Velocity
2021-04-11 10:28:08 +03:00
Risto Lahtela
9302067a49 Plan API 5.2-R0.3: ListenerService
Allows registering listeners for platforms that don't have static
accessors for registering listeners, such as Velocity
2021-04-11 10:16:37 +03:00
Risto Lahtela
5af889cba3 Registered React Extension
Affects issues:
- #583
2021-04-10 14:47:38 +03:00
Risto Lahtela
bafbfd65f9 Registered PlotSquared extension
Affects issues:
- #583
2021-04-10 14:09:12 +03:00
Risto Lahtela
2a0474a5c6 Registered Heroes Extension
Affects issues:
- #583
2021-04-09 17:21:34 +03:00
Risto Lahtela
699666e2ce Registered MarriageMaster Extension
Adds data about marriages and weddings.

Affects issues:
- Close #1229
2021-04-09 11:51:29 +03:00
Risto Lahtela
1fafd303d3 Publish Plan API 5.2-R0.2 with DataExtension Builder API 2021-04-09 11:00:53 +03:00
dependabot-preview[bot]
02877fd2fb Bump dagger-compiler from 2.33 to 2.34 in /Plan
Bumps [dagger-compiler](https://github.com/google/dagger) from 2.33 to 2.34.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.33...dagger-2.34)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 05:49:26 +00:00
dependabot-preview[bot]
5793872660 Bump mockito-junit-jupiter from 3.8.0 to 3.9.0 in /Plan
Bumps [mockito-junit-jupiter](https://github.com/mockito/mockito) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.8.0...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 05:48:20 +00:00
dependabot-preview[bot]
a085e88be1 Bump dagger from 2.33 to 2.34 in /Plan
Bumps [dagger](https://github.com/google/dagger) from 2.33 to 2.34.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.33...dagger-2.34)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 05:38:42 +00:00
dependabot-preview[bot]
74bfe68e7a Bump mockito-core from 3.8.0 to 3.9.0 in /Plan
Bumps [mockito-core](https://github.com/mockito/mockito) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.8.0...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 05:38:20 +00:00
Risto Lahtela
9466dc3e9d Added a valueBuilder convenience method to DataExtension 2021-04-07 20:11:59 +03:00
Risto Lahtela
113d46669b
DataExtension Builder API (#1833)
* Rewrote annotated extension method extraction
* Enclose annotation based methods into a single ExtensionDataBuilder

All of the reflection related to extension annotation was difficult,
so now it's all dealt with in one place and it's abstracted away with the
upcoming builder based API.

Some odd additions had to be made to the interface, but they are mostly harmless,
as the annotations are used as method parameters where necessary. This way the
users of the API are unable to give weird values.

It was possible to reuse MethodWrapper and Parameters classes for calling the methods.

* Refactored server value storage to use builder data
* Refactored player value storage to use builder data
* Refactored table gathering to use builders
* Handle extension errors properly
* Javadocs for DataExtension builder API
* Removed DataProviders based implementation

- Renamed ProviderValueGatherer to DataValueGatherer
2021-04-07 19:09:38 +03:00
WolverStone
175094b6d6
Update locale_CS.txt (#1830) 2021-04-04 16:22:10 +03:00
Risto Lahtela
57b6ec87fd Updated SB Admin 4.2.1 -> 4.5.3
- Moved some of the custom rules to style.css
- Did not apply some color changes from upstream.
2021-04-04 10:56:44 +03:00
Hasan-Kose
d1e5b93eaa
Update locale_TR.txt (#1826) 2021-04-02 18:18:03 +03:00
Aurélien
aef0592b86
Update locale_FR (#1819)
* Update locale_FR
* Final edit
* Add missing translation
2021-03-31 08:46:23 +03:00
Risto Lahtela
2daedf98b7 Fixed server page calendar not appearing 2021-03-29 20:12:41 +03:00
Risto Lahtela
923e1ba892
Turkish locale updated by BruilsiozPro (#1823)
* Update locale_TR.txt (#1821)

Co-authored-by: Hasan-Kose <78485017+Hasan-Kose@users.noreply.github.com>

* Update locale_TR.txt (#1822)

Co-authored-by: Hasan-Kose <78485017+Hasan-Kose@users.noreply.github.com>

* Update LangCode.java

* Update Contributors.java

Co-authored-by: Hasan-Kose <78485017+Hasan-Kose@users.noreply.github.com>
2021-03-28 23:48:52 +03:00
Risto Lahtela
7325a92b56 Fixed exported player page not loading json 2021-03-26 18:52:54 +02:00
Kevin
757a31cfa6
Update locale_DE.txt (#1818) 2021-03-26 11:29:07 +02:00
Risto Lahtela
d29e1058a5 Fixed loader not being removed from player calendar 2021-03-26 09:35:10 +02:00
Risto Lahtela
335778d9af Fixed world change not applying world playtime to sessions properly 2021-03-26 09:32:02 +02:00
Risto Lahtela
fb8c381466 Applied typo fixes by WolverStones to Czech locale
- Added contributor & translator marks in the code

Affects:
- #1817 (Changes incorporated)
2021-03-26 08:53:57 +02:00
Risto Lahtela
28826f3b88
Update json-endpoints.md 2021-03-25 15:54:28 +02:00
Risto Lahtela
3acc001a13 Added a geolocations filter to query page 2021-03-25 09:42:37 +02:00
Risto Lahtela
837616159c Made join-address pie show text instead when there is only one address
Affects issues:
- Close #1809
2021-03-25 08:13:53 +02:00
Risto Lahtela
a0029f1df8 Made processing shutdown more aggressively
Affects issues:
- #1814
2021-03-25 08:00:04 +02:00
Risto Lahtela
4f39481549 Made sure json memory cache is never null
Affects issues:
- #1814
2021-03-25 07:52:51 +02:00
Risto Lahtela
42827d95b9 Added missing license header 2021-03-24 16:41:13 +02:00
Risto Lahtela
6ca352e6d0 Bump palVersion to 4.0.13 2021-03-24 14:52:23 +02:00
Risto Lahtela
6e2ea888dd Fix typo in utf8mb4 error message 2021-03-24 14:18:45 +02:00
Risto Lahtela
05cf40caac Updated locale files with new language 2021-03-24 14:07:25 +02:00
Risto Lahtela
d7ca428d41 Made shutdown session save a throwaway transaction 2021-03-24 14:03:57 +02:00
Risto Lahtela
2c8bbc80d8 Added a wait for SQLite to finish queries before closing the connection
Also:
- Transactions now execute as much as possible on the same connection instead
  of getting a new connection
- More shutdown messages when waiting for things (Like SQLite queries, or db transactions).

Affects issues:
- Possibly fixed #1814
2021-03-24 14:00:08 +02:00
dependabot-preview[bot]
a44c90f479 Bump net.kyori.blossom from 1.1.0 to 1.2.0 in /Plan
Bumps net.kyori.blossom from 1.1.0 to 1.2.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-24 05:25:57 +00:00
Risto Lahtela
2997e882a5 Fixed a bunch of IntelliJ inspection issues and typos 2021-03-23 11:57:01 +02:00
Risto Lahtela
bde57a0bdf Removed unnecessary parenthesis 2021-03-22 07:18:09 +02:00
Risto Lahtela
03782f18d5 Wrote an access control test for bypass checks
One bypass was discovered for detecting who has played on a server, where
403 is given for level 2 when user has played and 400 when they have not.
This was fixed.

One 500 error was discovered when the network has no proxy server, /v1/network/servers
ran into NullPointerException in a query.
2021-03-22 07:13:27 +02:00
Risto Lahtela
111affaa50 Implemented EnderCrystal kill detection for Sponge
Affects issues:
- #1571
2021-03-21 15:37:34 +02:00
Risto Lahtela
1f76e4a7c7 Implemented EnderCrystal kill detection for Nukkit
Affects issues:
- #1571
2021-03-21 14:58:05 +02:00
Risto Lahtela
89a3d63d8b Implemented EnderCrystal kill detection for Bukkit
Marks player EnderCrystal kills for a player and
also counts mobs killed with EnderCrystal explosions as mob kills for a player.

Affects issues:
- Close #1571
2021-03-21 14:49:14 +02:00
Risto Lahtela
8e0d833f3f Made filters more error-resilient for the future 2021-03-21 13:43:41 +02:00
Risto Lahtela
ac9ca5949e Fixed JSONStorage sometimes fetching the wrong thing 2021-03-21 12:10:27 +02:00
Risto Lahtela
19b64455b4 Catch UnsatisfiedLinkError when getting CPU usage
Affects issues:
- Fixed #1807
2021-03-21 11:12:24 +02:00
Risto Lahtela
624ed50054 Fixed order by related exception with some mysql versions 2021-03-21 11:09:53 +02:00
Creeperface01
0dd5d41955
Update nukkit module to support new PlaceholderAPI version (#1806) 2021-03-21 10:36:15 +02:00
Risto Lahtela
15aca9aafa Sorted out loaders for graphs 2021-03-21 08:41:57 +02:00
Risto Lahtela
cbb2d328a1 Removed some unused code 2021-03-21 08:26:25 +02:00
Risto Lahtela
8624d86793 Added a Join Address filter to query page 2021-03-20 21:05:05 +02:00
Risto Lahtela
9ee2a15008 Wrote tests for ElementOrder serialization 2021-03-20 17:34:58 +02:00
Risto Lahtela
7f153efcfa Fixed AFK Tracker counting afk time for those with ignore permission when they use afk command 2021-03-20 17:26:34 +02:00
Risto Lahtela
0851055d22 Wrote a test for AveragePing class 2021-03-20 17:25:54 +02:00
Risto Lahtela
91aa9e7ca6 Added missing command name for logout command 2021-03-20 13:44:20 +02:00
Risto Lahtela
080d3697ff Clear previous test's cookies during test 2021-03-20 12:56:19 +02:00
Risto Lahtela
8fa4af5a61 Fixed tests running to NPE with runnable factory 2021-03-20 12:44:32 +02:00
Risto Lahtela
07cca1f008 Added a logout command
Permission: plan.logout.other
Usage: /plan logout * or /plan logout <username>

Used for forcing a logout for users.
2021-03-20 12:33:09 +02:00
Risto Lahtela
fb4b272844 Implemented persistent cookies
Fixed security vulnerability with cookies not being invalidated properly
  Request headers were not properly set for the Request object,
  leading to the Cookie header missing when logging out, which then left
  the cookie in memory. Rogue actor who gained access to the cookie could then
  use the cookie to access the panel.

Made cookie expiry configurable with 'Webserver.Security.Cookie_expires_after'

Due to cookie persistence there is no way to log everyone out of the panel.
  This will be addressed in a future commit with addition of a command.

Affects issues:
- Close #1740
2021-03-20 12:02:02 +02:00
Risto Lahtela
a71d2f730f Unregister mysql driver after use
Affects issues:
- Fixed #1804
2021-03-19 17:45:52 +02:00
Risto Lahtela
b956a8f2ba Added warning when extension data can not be cleaned 2021-03-19 16:49:03 +02:00
Risto Lahtela
ebd6330ec1 Sort out weird time in DB clean task 2021-03-19 16:38:57 +02:00
Antti Koponen
aa1a35f794
Add a list of servers to the navbar (#1805)
Affects issues:
- Close #1790
2021-03-19 12:25:55 +02:00
Antti Koponen
428331de5b
Fixed URL hash handling with graph tabs (#1803)
Affects issues:
- Fixed 1736
2021-03-19 09:48:42 +02:00
Risto Lahtela
3ca98bb634 Enabled ExtensionsDatabaseTest again
Might hang in Github Actions, but remains to be seen if changes to
testing environment have fixed the test hanging
2021-03-18 11:27:45 +02:00
Risto Lahtela
7906126b5e Made fetchUserInformationOfUser return a Set instead of List
Fixes tests where there was some order-dependent stuff.
2021-03-18 10:15:39 +02:00
Antti Koponen
477c547c51
Fix page loader centering (#1802)
Affects issues:
- Fixed #1783
2021-03-18 09:25:50 +02:00
Risto Lahtela
aa25f2ff07 Fix issues caused by lowercasing of the join addresses 2021-03-17 16:19:26 +02:00
Risto Lahtela
ff679d626d Lowercase join addresses in the pie 2021-03-17 16:15:00 +02:00
Risto Lahtela
36bb989d7c Fixed network join address pie having duplicated address numbers
This would happen if player joined two game servers on a network
2021-03-17 16:11:15 +02:00
Risto Lahtela
2f240bd7d9 Moved join address pie further down on server page 2021-03-17 11:42:26 +02:00
Risto Lahtela
0e8b8315a2 Use last index of : instead of first to remove port 2021-03-17 11:31:57 +02:00
Risto Lahtela
2bc15db6d0 Sort out player join address things
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)
2021-03-17 11:31:27 +02:00
Risto Lahtela
3711f0ca60 Fixed stackoverflow error 2021-03-16 18:30:12 +02:00
Risto Lahtela
62da72e6f1 Use paper method when available for hostname 2021-03-16 17:47:26 +02:00
Risto Lahtela
0ba6ff3d70 Update Host name every time player logs in 2021-03-16 17:40:48 +02:00
Risto Lahtela
2e753516e2 Revert changes to URIPathTest.java 2021-03-16 11:36:45 +02:00
Risto Lahtela
1c8fa4c18e Removed parameterized test names 2021-03-16 11:29:55 +02:00
Risto Lahtela
ebffd886fe Fixed parameterized test errors 2021-03-16 10:51:46 +02:00
Risto Lahtela
baab6e5f88 Fixing sonarcloud bugs and smells
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"
2021-03-16 10:41:17 +02:00
Risto Lahtela
c54c3ce88b Fixed test compilation 2021-03-16 09:42:50 +02:00
Risto Lahtela
2e01758fd6 Fixed lag from host name lookup 2021-03-16 09:02:30 +02:00
Risto Lahtela
e66900117c Replace jcenter with mavenCentral since it is sunset 2021-03-15 18:26:57 +02:00
Risto Lahtela
2767c0ff65 Remove duplicate mysql relocation line 2021-03-15 18:25:16 +02:00
Risto Lahtela
7e08ea8245 Fixed plugin not enabling on Sponge or nukkit
- Removed module-info.class that came from asm
- Don't relocate SQLite since the NativeDB class is not relocated properly
2021-03-15 18:24:40 +02:00
Risto Lahtela
ac526e7542 Fixed hostname pie for export 2021-03-15 17:34:32 +02:00
Risto Lahtela
f1cb5ed071 Added hostname pie to server pages 2021-03-15 17:29:10 +02:00
Risto Lahtela
ccd3a32bf5 Wrote more tests for the new shutdown storage procedure 2021-03-15 17:23:47 +02:00
Risto Lahtela
e1dae855d9 Bump Extension-McMMO to 2.1.149-R1.5 2021-03-15 17:08:02 +02:00
Risto Lahtela
bfcb7eea85
Dependency downloading (#1795)
Affects issues:
- Fix #1759
2021-03-15 15:28:36 +02:00
Risto Lahtela
42ecfa7298 Removed unnecessary libraries from the jar
- Removed http client dependency
- Removed html compressor dependency

- No longer shadowing http client from geolite2 dependencies
2021-03-15 13:56:36 +02:00
Risto Lahtela
87a70d4745 Update BanManagerExtension
- Made Sponge scope provided
2021-03-13 11:14:21 +02:00
Risto Lahtela
e6299d6dd6 Removed failing test 2021-03-13 10:21:58 +02:00
Risto Lahtela
a9ce521c0c Made shutdown session save less disruptive
- 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
2021-03-13 10:15:29 +02:00
Risto Lahtela
4f411e648b Updated mcMMO Extension
- Disabled potential offline database calls

Affects issues:
- Fixed #1791
2021-03-13 08:12:55 +02:00
Risto Lahtela
8f85c23c2f Refactoring: ActiveSession, FinishedSession and ServerUUID
- Split Session into ActiveSession and FinishedSession, replaced their usage
- Replaced UUID with ServerUUID when the data type

Affects issues:
- Close #1746
2021-03-12 18:03:12 +02:00
Risto Lahtela
0ca3e7f060 Stop checking package-info for licenses 2021-03-11 16:18:59 +02:00
Risto Lahtela
bdcd84749b Added some package-info files for javadocs 2021-03-10 11:38:48 +02:00
Risto Lahtela
4e3c901e59 Reversed regular->inactive metric dates
The dates were calculating the metric wrong way around,
- the first index was for current time
  - Regulars
- the second index was for 30 days ago
  - Inactive
So it was calculating inactive->regular instead

Affects issues:
- Fixed #1775
2021-03-10 09:57:25 +02:00
Risto Lahtela
600d64999a Added error information for SQL error code 13
Affects issues:
- Close #1784
2021-03-10 09:48:56 +02:00
dependabot-preview[bot]
403d87fe2e Bump palVersion from 4.0.2 to 4.0.5 in /Plan
Bumps `palVersion` from 4.0.2 to 4.0.5.

Updates `platform-abstraction-layer-api` from 4.0.2 to 4.0.5

Updates `platform-abstraction-layer-bukkit` from 4.0.2 to 4.0.5

Updates `platform-abstraction-layer-sponge` from 4.0.2 to 4.0.5

Updates `platform-abstraction-layer-nukkit` from 4.0.2 to 4.0.5

Updates `platform-abstraction-layer-bungeecord` from 4.0.2 to 4.0.5

Updates `platform-abstraction-layer-velocity` from 4.0.2 to 4.0.5

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-10 05:26:36 +00:00
Risto Lahtela
e1bffbcc1f
Swap Abstract Plugin Framework for Platform Abstraction Layer library (#1787)
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)
2021-03-09 11:36:07 +02:00
Risto Lahtela
4da7497d82
Player Hostname PieChart Added (#1679 #1786)
Affects issues:
- Close #783

Co-authored-by: Arnold Hamstra <youtube@minecraftercity.com>
Co-authored-by: Arnold <a_hamstra@hotmail.com>
2021-03-09 10:01:09 +02:00
dependabot-preview[bot]
d61c85962f Bump Extension-Towny from 0.96.7.4-R0.1 to 0.96.7.4-R0.2 in /Plan
Bumps Extension-Towny from 0.96.7.4-R0.1 to 0.96.7.4-R0.2.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-08 05:37:37 +00:00
Risto Lahtela
dc5206700f Updated Advanced Achievements extension 2021-03-05 14:34:09 +02:00
Risto Lahtela
b7af2a5717 Moved to using the new repository
- Updated some extensions
- Removed GriefPreventionPlus extension since it was no longer
  available anywhere for installing

Affects issues:
- Close #1779
2021-03-05 14:27:30 +02:00
Risto Lahtela
92cefaafa3 Publish plan-api with Github Packages instead
Affects issues:
- #1779
2021-03-04 09:41:12 +02:00
dependabot-preview[bot]
4ecc827272 Bump HikariCP from 4.0.2 to 4.0.3 in /Plan
Bumps [HikariCP](https://github.com/brettwooldridge/HikariCP) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/brettwooldridge/HikariCP/releases)
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-4.0.2...HikariCP-4.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-04 05:28:44 +00:00
dependabot-preview[bot]
5014b3c9f3 Bump mockito-core from 3.7.7 to 3.8.0 in /Plan
Bumps [mockito-core](https://github.com/mockito/mockito) from 3.7.7 to 3.8.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.7.7...v3.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-26 06:06:36 +00:00
dependabot-preview[bot]
9df9717dcf Bump dagger-compiler from 2.32 to 2.33 in /Plan
Bumps [dagger-compiler](https://github.com/google/dagger) from 2.32 to 2.33.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.32...dagger-2.33)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-26 06:05:50 +00:00
dependabot-preview[bot]
4da22e89e6 Bump dagger from 2.32 to 2.33 in /Plan
Bumps [dagger](https://github.com/google/dagger) from 2.32 to 2.33.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.32...dagger-2.33)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-26 05:56:36 +00:00
dependabot-preview[bot]
043c6d2670 Bump mockito-junit-jupiter from 3.7.7 to 3.8.0 in /Plan
Bumps [mockito-junit-jupiter](https://github.com/mockito/mockito) from 3.7.7 to 3.8.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.7.7...v3.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-23 05:32:17 +00:00
Risto Lahtela
693099a099 Fixed servers tab refresh time display 2021-02-19 11:40:15 +02:00
Risto Lahtela
00eb4bb8bd Stopped ignoring old data on exported files
Adds technical debt that replaces stuff in the exported files.

Affects issues:
- Fixed  #1763
2021-02-19 11:35:54 +02:00
Risto Lahtela
7fc7488e16 Stopped throwing error when system clock is out of sync
Causes a different kind of issue where the page attempts to load
for a longer time.

Affects issues:
- Fixed #1764
2021-02-19 11:21:49 +02:00
dependabot-preview[bot]
77c3e2e74c Bump HikariCP from 4.0.1 to 4.0.2 in /Plan
Bumps [HikariCP](https://github.com/brettwooldridge/HikariCP) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/brettwooldridge/HikariCP/releases)
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-4.0.1...HikariCP-4.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-15 05:30:07 +00:00
Risto Lahtela
4604bd930e Relocated Caffeine library later
Affects issues:
- Fixed #1756
2021-02-14 19:46:21 +02:00
Risto Lahtela
b4fb931c23 Update placeholder cache all the time 2021-02-14 18:31:36 +02:00
Risto Lahtela
2f48f17a4e Cache placeholder result on non-server thread
Affects issues:
- Fixed #1756
2021-02-14 18:24:42 +02:00
Risto Lahtela
a7e4b7df42 Prevent NaN entries entering TPS insert
Affects issues:
- Fixed #1757
2021-02-14 16:34:37 +02:00
Risto Lahtela
3ee0d2e455 Sorted out bStats shenanigans
- Added bStats support for Velocity
- Fixed Sponge bStats issues
- Added bStats link for Velocity to html
2021-02-14 15:56:19 +02:00
Rsl1122
94c9dd3f95 Username change Rsl1122 -> AuroraLS3 2021-02-13 15:16:03 +02:00
Risto Lahtela
6c3382ae87 Prevent sending Transfer-encoding: chunked and Content-Length at the same time
Affects issues:
- Fixed #1488
2021-02-12 13:52:05 +02:00
Risto Lahtela
da3b71f8b9 Added a few data warnings
- Warning for No game servers
- Warning for disabled geolocations
- Warning for sponge chunks

Affects issues:
- Close #1730
2021-02-12 13:33:16 +02:00
Risto Lahtela
15cbbd86a1 Fixed AFK time calculation of query results 2021-02-12 13:11:57 +02:00
Risto Lahtela
e3cdf76d50 Fixed player name placeholder replacement on player.html 2021-02-12 13:08:48 +02:00
Risto Lahtela
b4a17ad6c4 Fixed datatables links in network page 2021-02-12 13:05:42 +02:00
Risto Lahtela
c5d675d2a0 Blocked placeholder replacement for Plan on server thread
Affects issues:
- Fixed #1694
2021-02-12 12:48:56 +02:00
Risto Lahtela
a4e1b8200a Encode player name as URI component
Affects issues:
- Fixed #1751
2021-02-12 12:39:01 +02:00
Risto Lahtela
576ea45462 Added a setting to limit max MySQL connections
Affects issues:
- Close #1754
2021-02-12 11:50:39 +02:00
Risto Lahtela
e22d54aba6 Update night mode for query page and player tables 2021-02-12 11:45:22 +02:00
Risto Lahtela
5110da3267 Added logout button to query page 2021-02-12 11:35:19 +02:00
Risto Lahtela
0769ddc3d4 Removed some unused variables I missed 2021-02-12 11:08:53 +02:00
Risto Lahtela
95af3f5f8b Removed JSONCache and its invalidation uses 2021-02-12 10:56:48 +02:00
Risto Lahtela
f48ab818ef Updated datatables and its style 2021-02-12 10:49:23 +02:00
Risto Lahtela
1b7e91b87b Made server calendar refreshable 2021-02-12 10:32:42 +02:00
Risto Lahtela
1118b80f61 Don't update performance graph twice on load
This behavior was janky
2021-02-12 10:18:10 +02:00
Risto Lahtela
dbe3b849c4 Cache and refreshable player tables 2021-02-12 10:16:23 +02:00
Risto Lahtela
714b1a2b0c Stored plugin tabs in different cache 2021-02-12 09:50:40 +02:00
Risto Lahtela
36ff87abf2 Made UnitSemaphoreAccessLock use a while loop to check condition 2021-02-12 09:39:29 +02:00
Risto Lahtela
c0a210956d Refactored file deletion checks for JSONFileStorage 2021-02-12 09:34:48 +02:00
Risto Lahtela
5c01cde102 Prevented synchronization issue with UnitSemaphoreAccessLock
Using the boolean outside of the synchronized block might have caused issues.
2021-02-12 09:27:56 +02:00
Risto Lahtela
2c9c691b4f Refactored AsyncJSONResolverService to reduce duplicate code 2021-02-11 18:09:59 +02:00
Risto Lahtela
92e98948ec Fixed export issues 2021-02-11 12:58:30 +02:00
Risto Lahtela
794c995012 Made player kills table load again 2021-02-11 12:49:20 +02:00
Risto Lahtela
6715244b2c Made session accordion load again 2021-02-11 12:43:31 +02:00
Risto Lahtela
85c0a10c12 Removed some jquery usage from color selector 2021-02-11 12:18:30 +02:00
Risto Lahtela
4d46102a98 Moved graph loading functions to network-values.js 2021-02-11 11:49:25 +02:00
Risto Lahtela
691ebc1ed4 Plugins overview tab name capitalized 2021-02-11 11:27:17 +02:00
Risto Lahtela
0ac377bd93 Changed ping table json format
In order to support timestamp values the json is now an object instead of an array.

Previously available data is accessible via json.table
2021-02-11 11:25:20 +02:00
Risto Lahtela
e2af7bb467 Made table headers show a pointer when they sort 2021-02-11 11:15:29 +02:00
Risto Lahtela
b4a4f39ac8 Sorted out the refresh barrier issue 2021-02-11 11:12:48 +02:00
Risto Lahtela
23ecc5d697 Fixed JSONStorageTest compilation 2021-02-11 09:44:38 +02:00
Risto Lahtela
d6814a8581 Fixed the freeze from rendering performance graphs 2021-02-11 09:42:20 +02:00
Risto Lahtela
be92653508 Graphs now load again similarly to overview content 2021-02-10 13:11:14 +02:00
Risto Lahtela
b5365d2321 Cache graph responses 2021-02-10 13:11:14 +02:00
Risto Lahtela
f5a9d03da9 Reduced refresh barrier down to 15 seconds 2021-02-10 13:11:13 +02:00
Risto Lahtela
ab5e0120be Deprecate JSONCache 2021-02-10 13:11:12 +02:00
Risto Lahtela
b660c3b57b Moved JSON storage to delivery.webserver.cache 2021-02-10 13:11:12 +02:00
Risto Lahtela
f9e16c75a9 Removed jQuery usage from network-values.js 2021-02-10 13:11:11 +02:00
Risto Lahtela
5bde256fdc Made things on the network page load again
- All the things that currently use the async loader now function.
2021-02-10 13:11:10 +02:00
Risto Lahtela
61be4e784f Clean up server-values.js 2021-02-10 13:11:09 +02:00
Risto Lahtela
fc61c0d7e7 Removed jQuery usage in server-values.js 2021-02-10 13:11:09 +02:00
Risto Lahtela
6ab44a81ce Made performance overview update again on load 2021-02-10 13:11:08 +02:00
Risto Lahtela
265c4e24e7 Made ping table update again on load 2021-02-10 13:11:08 +02:00
Risto Lahtela
720d2e2d3d Made playerbase overview update again on load 2021-02-10 13:11:07 +02:00
Risto Lahtela
b0e1928b0e Made pvp&pve update again on load 2021-02-10 13:11:06 +02:00
Risto Lahtela
c6817e0e28 Made session overview update again on load 2021-02-10 13:11:05 +02:00
Risto Lahtela
b8ec15e381 Made online activity overview update again on load 2021-02-10 13:11:04 +02:00
Risto Lahtela
6b4fb12755 Made server overview update again on load 2021-02-10 13:11:04 +02:00
Risto Lahtela
54874175d8 Added timestamp to stored json that did not contain it
This will allow cached data to include the time it was refreshed at.
2021-02-10 13:11:03 +02:00
Risto Lahtela
aca573e353 Removed file cache setting 2021-02-10 13:11:02 +02:00
Risto Lahtela
3619ff814a JSON File storage clean task
- Cleans query files
- Cleans other json files that are old
2021-02-10 13:11:01 +02:00
Risto Lahtela
a621b343e8 Implemented a memory storage for json
This will replace JSONCache eventually
2021-02-10 13:11:00 +02:00
Risto Lahtela
49f6b7708f Made update threshold configurable 2021-02-10 13:11:00 +02:00
Risto Lahtela
899d29f2d2 Reduced chance of duplicate refresh processes
- Access lock prevents duplicate processes being placed if two
  threads enter the same method in such a way that both get before
  the first one puts the update Future in the Map.
- Update threshold prevents all calls without timestamp causing a new
  refresh process from being created
- Bad request 400 prevents timestamp from being too far in the future
  to avoid bad actor increasing timestamp to create new refresh processes
2021-02-10 13:10:59 +02:00
Risto Lahtela
05a2c20fdd Added a service for updating JSON asynchronously
Still needs:
- an in-memory cache that invalidates things
- add the current timestamp to the returned json
- javascript side that updates data if the timestamp is old
2021-02-10 13:10:58 +02:00
QuakyCZ
2a75e7fb5a
Translated new keys in CS locale file. (#1750)
* Fixed Czech translation
- all rows are translated
- fixed weird translations
- missing keys for texts in server's insights (average chunks, average entities)

* Added our names in LangCondejava

* Translated new keys.

Missing keys:
* player base development - Players in graph
* all graphs: months, Zoom, From, To

* fixed translation for licenced_under
2021-02-09 17:52:39 +02:00
dependabot-preview[bot]
7271515728 Bump dagger-compiler from 2.31.2 to 2.32 in /Plan
Bumps [dagger-compiler](https://github.com/google/dagger) from 2.31.2 to 2.32.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.31.2...dagger-2.32)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-09 05:36:14 +00:00
dependabot-preview[bot]
c8b005fd5f Bump dagger from 2.31.2 to 2.32 in /Plan
Bumps [dagger](https://github.com/google/dagger) from 2.31.2 to 2.32.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.31.2...dagger-2.32)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-09 05:27:34 +00:00
dependabot-preview[bot]
fc7e251a12 Bump RedisBungee from 0.6-SNAPSHOT to 0.6 in /Plan
Bumps RedisBungee from 0.6-SNAPSHOT to 0.6.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-08 05:46:24 +00:00
Risto Lahtela
66eb192735 Changed how first filter with CompleteSetException works
Now if the first filter instead says (skip) and returns 0 players.
I considered that all players could be returned, but it is better if
users get to choose their filter again in this case.

Affects issues:
- Fixed #1742
2021-02-07 23:04:51 +02:00
dependabot-preview[bot]
bcaed53f19 Bump junit-jupiter-params from 5.7.0 to 5.7.1 in /Plan
Bumps [junit-jupiter-params](https://github.com/junit-team/junit5) from 5.7.0 to 5.7.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.0...r5.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-05 05:45:53 +00:00
dependabot-preview[bot]
b5fdd38e90 Bump junit-jupiter-api from 5.7.0 to 5.7.1 in /Plan
Bumps [junit-jupiter-api](https://github.com/junit-team/junit5) from 5.7.0 to 5.7.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.0...r5.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-05 05:36:49 +00:00
dependabot-preview[bot]
de76b1ae4c Bump junit-jupiter-engine from 5.7.0 to 5.7.1 in /Plan
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.7.0 to 5.7.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.0...r5.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-05 05:27:29 +00:00
Risto Lahtela
715f613d6a Added filter names to locale 2021-02-03 21:30:59 +02:00
Risto Lahtela
0b3fb94509 Fixed the session summary query 2021-02-03 21:21:09 +02:00
Risto Lahtela
97e22bbf17 Replaced breaking translation matches
Affects issues:
- Fixed #1734
2021-02-03 21:16:57 +02:00
Risto Lahtela
df96360c94 Readable filter names to query path 2021-02-03 19:50:40 +02:00
Risto Lahtela
4a95ad5f5d Fixed session aggregate calculations in Query page
Players with no sessions within view did not affect the data
2021-02-03 19:46:00 +02:00
Risto Lahtela
db0a8359b9 Fixed optimized performance graph issues with gap on
Because of the new resolution reduction the gap algorithm was not
advanced enough to differentiate between lower resolution and missing data.

This was fixed by adding 3 different Gap strategies for the different
resolutions
2021-02-03 19:38:53 +02:00
Risto Lahtela
8f6c286d9c Removed ServerContainerQuery
APIv4 (deprecated) getServerContainer now returns empty data
2021-02-03 19:25:04 +02:00
Risto Lahtela
23748becb6 Fixed Day by Day disappearing with gaps on
Affects issues:
- Fixed #1735
2021-02-03 19:18:16 +02:00
Risto Lahtela
eebf3d28f9 Fixed Query viewfinder graph gap fill 2021-02-03 19:08:55 +02:00
Risto Lahtela
0b187ef20c Removed non-main server plugin data from query results 2021-02-03 18:43:41 +02:00
Risto Lahtela
2cd5cf9564 Fixed duplicate rows in query table
Applied the previous fix from NetworkTablePlayersQuery to the same issue
2021-02-03 18:43:40 +02:00
Risto Lahtela
9e63b82c99 Improved filter selector 2021-02-03 18:43:40 +02:00
Risto Lahtela
9aa9970d26 Fixed plugin group filters 2021-02-03 18:43:39 +02:00
QuakyCZ
3f118a5ea8
Improved CZ Locale by QuakyCZ and MrFriggo (#1732)
- all rows are translated
- fixed weird translations
2021-02-02 22:11:49 +02:00
Risto Lahtela
ae4fb0c98e Fixed error in serverPreferencePieValuesAreCorrect test 2021-02-02 14:01:16 +02:00
Risto Lahtela
25e98ef7b5 Reproduced, tested and fixed DbOpException
Error was caused by table name alias in the query

Affects issues:
- Fixed #1731
2021-02-02 07:51:43 +02:00
Risto Lahtela
2ab49aa60f Update Sponge repository url 2021-02-01 08:18:19 +02:00
Risto Lahtela
a2708c9113 Fixed hash not being applied on login 2021-01-31 16:48:51 +02:00
Risto Lahtela
c897fb7868 Implement loaders for query 2021-01-31 13:26:13 +02:00
Risto Lahtela
54b95c1c0a Fixed filter form data resetting when adding filter 2021-01-31 13:03:56 +02:00
Risto Lahtela
180547e078 Rename performQuery -> performNewQuery 2021-01-31 12:26:55 +02:00
Risto Lahtela
7f953e989e Fixed night mode not applying to query graphs
Issue was that HighCharts was too late in the load order
to apply color-selector.js method
2021-01-31 12:24:35 +02:00
Risto Lahtela
12c8f24773 Updated HighCharts 2021-01-31 12:15:33 +02:00
Risto Lahtela
70695b6854 Display query path on success as well 2021-01-31 11:46:31 +02:00
Risto Lahtela
504e117248 Refactored multiple variables into queryState 2021-01-31 11:32:50 +02:00
Risto Lahtela
cacdc4641d Extracted insertElementBefore to domUtils.js 2021-01-31 11:14:52 +02:00
Risto Lahtela
bf835c3b2e Extract method in FiltersJSONResolver#getResponse 2021-01-31 11:07:58 +02:00
Risto Lahtela
ae416cc49f Refactored QueryJSONResolver#getResponse method 2021-01-31 11:06:19 +02:00
Risto Lahtela
86c4da43a5 Replaced uncaught exceptions with BadRequestExceptions
These two errors could have caused confusion in the future
2021-01-31 10:58:19 +02:00
Risto Lahtela
7480aa9d63 Rename things for better understanding
fetchQueryPreviewPlayersOnline -> fetchViewPreviewGraphData
FilterQuery -> SpecifiedFilterInformation
ExtensionQueryPlayerDataTableQuery -> ExtensionQueryResultTableDataQuery
ExtensionServerPlayerDataTableQuery -> ExtensionServerTableDataQuery
2021-01-31 10:55:08 +02:00
Risto Lahtela
c55f44a3e5 Fix 2 minor smells 2021-01-31 10:49:22 +02:00
Risto Lahtela
f85a2b1017 Removed unnecessary line-break 2021-01-31 10:48:01 +02:00
Risto Lahtela
0408e34cd0 Made filter html easier to read 2021-01-31 10:46:42 +02:00
Risto Lahtela
625f1dcd27 Extracted filter classes to filters.js 2021-01-31 10:40:16 +02:00
Risto Lahtela
8524c9a0c3 Removed unused variable s 2021-01-31 10:38:07 +02:00
Risto Lahtela
c2f47d62f2 Removed some unused comments from html 2021-01-31 10:36:35 +02:00
Risto Lahtela
e9225d3bdc Make 'Make another query' non-active link 2021-01-31 10:29:31 +02:00
Risto Lahtela
87f881ce41 Update unchanged description meta tags 2021-01-31 10:28:47 +02:00
Risto Lahtela
7af792f595 Make Links header translatable 2021-01-31 10:27:53 +02:00
Risto Lahtela
7038f20e0c Clean up sb-admin-2.js 2021-01-31 10:24:00 +02:00
Risto Lahtela
388aae1bdc Removed unused method in Html.java 2021-01-31 10:02:31 +02:00
Risto Lahtela
6e340073a2 Added tests for JSONStorage 2021-01-30 20:13:04 +02:00
Risto Lahtela
46bf6a12ab Added tests for new BaseUserQueries 2021-01-30 19:47:21 +02:00
Risto Lahtela
4932142db2 Added tests for ActivityIndex 2021-01-30 19:30:31 +02:00
Risto Lahtela
1c71922b04 Solved some new code smells
- Return empty set instead of null FilterQuery#getSetParameters
- DateRangeFilter constructor is protected
- String constant JSONFileStorage
- String constant VersionChecker
- String constants FLOOR(, MIN(, MAX( TPSQueries
2021-01-30 19:17:59 +02:00
Risto Lahtela
76dc1a98a7 Updated locale
- Login & Register pages now translate
- Query page now translates
- Version information modal now translated
- Some things had gone on multiple lines and as the result were not
  translating, that was fixed.
- Updated locale files
2021-01-30 13:38:41 +02:00
Risto Lahtela
22fb9c4a06 Show query path with 0 results 2021-01-30 11:08:29 +02:00
Risto Lahtela
db71ad005f Made it more difficult to click "Perform Query" by accident 2021-01-30 10:19:01 +02:00
Risto Lahtela
61841966f5 Fixed sidebar toggle in Query Results
The element was replaced so the click event listener
was destroyed in the process.

- Added onclick inside the rendered html
- Additional refactoring inside this commit
2021-01-30 10:16:01 +02:00
Risto Lahtela
6c13691a52 Fixed adding filter jumping to top of the page 2021-01-29 12:38:39 +02:00
Risto Lahtela
f24abe797e Fixed time formatter 2021-01-29 12:35:09 +02:00
Risto Lahtela
4b4aa2d7d9 Added a players online graph to Query page to help selecting view 2021-01-29 11:58:06 +02:00
Risto Lahtela
b8b9af828b Updated repository links in query.html 2021-01-29 11:14:41 +02:00
Risto Lahtela
88e2b936f5 Added missing language (needs testing later) 2021-01-29 11:05:03 +02:00
Risto Lahtela
e00de54879 Small optimizations 2021-01-29 11:05:03 +02:00
Risto Lahtela
1e897a09bf Added a 'Make a query' button to server, network and players pages 2021-01-29 11:04:59 +02:00
Risto Lahtela
54a698136e Fixed date formatting of the date fields 2021-01-29 11:04:45 +02:00
Risto Lahtela
e8e7258443 Fixed an error related to query on query page 2021-01-29 11:04:45 +02:00
Risto Lahtela
2c06819bc4 Added a filter removal button to all filters
# Conflicts:
#	Plan/common/src/main/resources/assets/plan/web/css/style.css
2021-01-29 11:04:39 +02:00
Risto Lahtela
da7cf84cf4 Error displayed properly 2021-01-29 11:02:56 +02:00
Risto Lahtela
9144256752 Prevent invalid form entries from being submitted to query 2021-01-29 11:02:55 +02:00
Risto Lahtela
97137cf660 Fixed error in PluginGroupsFilter Query 2021-01-29 11:02:54 +02:00
Risto Lahtela
ceacb112c4 Fixed view dates being flipped 2021-01-29 11:02:52 +02:00
Risto Lahtela
bb5195e26d Changed all player tables to show active playtime
Previously the tables showed playtime (with afk time)

- Query result table
- Server players table
- Players page table

Affects issues:
- #1235
2021-01-29 11:02:51 +02:00
Risto Lahtela
c5bfdb6ff3 Added extension data support to query results 2021-01-29 11:02:50 +02:00
Risto Lahtela
525a78b956 Added support for plugin group filters 2021-01-29 11:02:49 +02:00