Commit Graph

4713 Commits

Author SHA1 Message Date
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
c2f6aefc93
Update versions.txt 2021-03-26 10:15:09 +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
3e042c47b5
Update versions.txt 2021-03-21 09:23:01 +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