Commit Graph

2233 Commits

Author SHA1 Message Date
Aurora Lahtela 1b0942c988 Unit test Benchmark utility 2023-01-21 12:04:58 +02:00
Aurora Lahtela dda7199a1a Fix more sonar smells 2023-01-20 22:54:54 +02:00
Aurora Lahtela 2eba115f6f Wrote tests for some commands 2023-01-20 21:03:15 +02:00
dependabot[bot] 5f66370ec9
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2824)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.7 to 2.2.8.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 18:31:21 +02:00
Aurora Lahtela 9e11d9f484 Removed untrusted data from exception messages in case they end up on the webpage 2023-01-15 10:04:10 +02:00
Aurora Lahtela f20a04809c Test against and identify path traversal vulnerability in other methods 2023-01-15 09:30:30 +02:00
Aurora Lahtela b0a1bc1fb1 Prevent malicious join address packet from breaking session serialization 2023-01-15 09:01:28 +02:00
Aurora Lahtela 38785a9505 Added Untrusted-annotation to be more careful around user given data
- 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
2023-01-14 23:25:35 +02:00
Aurora Lahtela 82274ae658 Fix issue due to 'None' translation in FI language 2023-01-14 12:12:45 +02:00
Aurora Lahtela bd85f10c55 Fix customized resource lookup Path Traversal vulnerability
Affects issues:
- Fixed #2830
2023-01-13 23:23:12 +02:00
Aurora Lahtela 205692af65 Updated Finnish Locale 2023-01-08 14:47:25 +02:00
Aurora Lahtela 4580666426 Update locale files with new language 2023-01-08 14:09:45 +02:00
Aurora Lahtela 5ba6e0dc9f Fix concurrency issues with json cache and database 2023-01-07 11:45:58 +02:00
Aurora Lahtela 9622f6a614
Disable BadAFKThresholdValuePatch 2023-01-06 23:06:17 +02:00
Aurora Lahtela 97b9a18cea Catch session deserialization errors during enable 2023-01-06 19:40:04 +02:00
Aurora Lahtela e660655136 Disable ReverseProxyRegressionTest 2023-01-06 14:41:50 +02:00
Aurora Lahtela aa897fe8de Implemented support for reverse-proxy subdirectory addresses
Reverse proxied version of React website now works
when subdirectory address is used (eg. /plan/...)

The functionality was unit tested to ensure things work
2023-01-06 14:24:18 +02:00
Aurora Lahtela 5082f80030 Implemented support for subdirectory addresses
Export of React version of frontend now supports exporting to a subdirectory
So now you can access exported site at /plan/... if it is hosted there.

This might impact reverse proxy setups positively, but that has not yet been tested.
The hypothetical positive impact is the inclusion of subdirectory in the React-router
configuration, since now it can handle the reverse-proxy subdirectory in URL.
2023-01-06 12:12:45 +02:00
dependabot[bot] d941e7f858
Bump com.github.node-gradle.node from 3.5.0 to 3.5.1 in /Plan (#2811)
Bumps com.github.node-gradle.node from 3.5.0 to 3.5.1.

---
updated-dependencies:
- dependency-name: com.github.node-gradle.node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 11:35:34 +02:00
AuroraLS3 8e88b3a9a6 Make undefined join address id guesstimate based on existing data 2022-12-30 13:26:53 +02:00
AuroraLS3 a8dbc3288e Fix checkstyle 2022-12-29 21:06:52 +02:00
AuroraLS3 bf63b29f72 Set bad join address ids as unknown 2022-12-29 20:54:23 +02:00
AuroraLS3 d0030fc6e3 Fix BadJoinAddressDataCorrectionPatch 2022-12-29 20:31:23 +02:00
Aurora Lahtela 626d63a87d Optimized BadJoinAddressDataCorrectionPatch using INSTR 2022-12-20 19:32:09 +02:00
dependabot[bot] 32b1548326
Bump selenium-java from 4.7.1 to 4.7.2 in /Plan (#2794)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.1 to 4.7.2.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-20 18:00:22 +02:00
Aurora Lahtela 0fdd12e61f Patch bad join address data if it is in database 2022-12-18 21:32:08 +02:00
Aurora Lahtela 9e44000d21 Fix setting boolean parameters dynamically
Affects issues:
- Fixed #2784
2022-12-14 19:33:44 +02:00
Aurora Lahtela a773c4c46e Wrote a test for exported react pages
Affects issues:
- Close #2767
2022-12-13 19:33:00 +02:00
Aurora Lahtela 155910554f Fixed exported page constantly updating data in the background 2022-12-11 21:35:31 +02:00
Aurora Lahtela 34318be5c3 Add missing timezone offset to line graphs
Affects issues:
- Fixed #2780
2022-12-10 10:16:27 +02:00
dependabot[bot] e4310384c7
Bump selenium-java from 4.7.0 to 4.7.1 in /Plan (#2773)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 19:18:20 +02:00
Aurora Lahtela d4798f1303 Fix React export when static directory doesn't exist yet 2022-12-06 12:41:50 +02:00
Aurora Lahtela 8fadcc3afb Delete old static bundle files with React export 2022-12-06 11:52:10 +02:00
Aurora Lahtela f7176b3d47 Export redirection index.html files in case someone refreshes browser 2022-12-05 17:10:51 +02:00
dependabot[bot] d4d40aa68a
Bump adventure-api from 4.9.3 to 4.12.0 in /Plan (#2763)
Bumps [adventure-api](https://github.com/KyoriPowered/adventure) from 4.9.3 to 4.12.0.
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.9.3...v4.12.0)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-04 12:34:03 +02:00
dependabot[bot] 75cb84cae9
Bump selenium-java from 4.6.0 to 4.7.0 in /Plan (#2760)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.6.0...selenium-4.7.0)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-04 12:31:04 +02:00
Aurora Lahtela ad6abacf7f Fix issues of the exported pages
- Fixed / opening "Redirecting.." view due to wrong whoAmI replacement
- Fixed page not opening because sidebar contained undefined items (static site can't have everything)
- Fixed some sidebar links being anchors instead of react-router links
- Fixed network page not opening due to missing extensionData json
- Fixed server page not opening due to missing extensionData and serverIdentifier json
- Added visual icon to the page when it is exported rather than dynamic for my own sanity
- Removed query page links from exported pages
2022-12-04 11:06:05 +02:00
Aurora Lahtela 11b188d146 Test TabCompleteCache to increase test coverage 2022-12-03 10:49:47 +02:00
Aurora Lahtela 2cc6a1eb60 Detect local private network addresses in geolocations
Detects IPs from the local network that were previously set as 'Not Found'
https://en.wikipedia.org/wiki/Private_network

Affects issues:
- Close #2658
2022-12-03 10:24:01 +02:00
Aurora Lahtela 059d4553aa Implemented react side of export for frontend BETA 2022-11-27 09:48:55 +02:00
Aurora Lahtela 973ea05283 Add missing image files that were failing tests 2022-11-26 17:15:03 +02:00
Aurora Lahtela 6d9e915180 Disable ReactExporterTest temporarily 2022-11-26 17:09:33 +02:00
Aurora Lahtela 9ea565f441 Change TestResources to use build dir instead of classpath
This should fix ReactExporterTest failing
2022-11-26 16:40:12 +02:00
Aurora Lahtela 362105cf98 Wrote an Exporter to export react bundle files 2022-11-26 09:01:41 +02:00
Aurora Lahtela f36ed678a3 Implemented register page in react 2022-11-25 16:49:06 +02:00
Aurora Lahtela f6d8b618eb Fix checkstyle 2022-11-25 16:01:03 +02:00
Aurora Lahtela 022a690446 Implemented parameterized array Sql generation
This bit of code allows passing lists of data in parameterized queries,
which is useful for defining WHERE x IN (?,?,?,?) in a dynamic way.

- Adds AccessControlTest cases for a valid /v1/query call
2022-11-23 17:31:04 +02:00
Aurora Lahtela e3bea9ee77 Add online player names to player tab completion
Affects issues:
- Close #2216
2022-11-22 13:25:12 +02:00
Aurora Lahtela 86f6cffc66 Enable query page in Frontend BETA 2022-11-22 10:30:02 +02:00
Aurora Lahtela 8a0285ad86 Reduce test flakiness due to used ports 2022-11-21 12:20:48 +02:00
Aurora Lahtela ce3f2cde6d Fix SQLITE_CONSTRAINT_NOTNULL when request uri is null 2022-11-21 12:19:02 +02:00
Aurora Lahtela e7afb243f9 Changed "Database can't keep up with transactions" to less dire message 2022-11-20 20:01:04 +02:00
Aurora Lahtela bacde53781 Fix RemoveUsernameFromAccessLogPatch applying every time 2022-11-20 19:56:32 +02:00
Aurora Lahtela 7a582c3b6e Fix removal of expired cookies
Cookies that expired during server downtime failed to be
removed from the database.

This occurred because the cookie removal method did a lookup
to the in-memory active cookies, but the startup method does
not load expired cookies to memory.

Because the expired cookies were never loaded to memory this
did not pose a security vulnerability.

Fixed by always deleting a cookie from database if requested.
2022-11-20 19:50:48 +02:00
dependabot[bot] 1529fb4cec
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2738)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.6 to 2.2.7.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-19 12:05:45 +02:00
Aurora Lahtela a9d89b88e7 Remove equals from PlayerKill.Victim 2022-11-13 16:35:54 +02:00
Aurora Lahtela a4a1001a8d Display new player name as light green in kills tables
Affects issues:
- Close #1262
2022-11-13 15:49:32 +02:00
Aurora Lahtela fac196ed0d Refactor PlayerPlaceHolders to reduce method length 2022-11-13 15:11:57 +02:00
Aurora Lahtela 1ec6fc913a Add top_player_kills_{n} and _value placeholders
top_player_kills_day_{n}
top_player_kills_day_{n}_value
top_player_kills_month_{n}
top_player_kills_month_{n}_value
top_player_kills_total_{n}
top_player_kills_total_{n}_value
top_player_kills_week_{n}
top_player_kills_week_{n}_value

Affects issues:
- Close #2697
2022-11-13 15:00:46 +02:00
Aurora Lahtela f41796f079 Add time_active placeholders
- %plan_time_active_day%
- %plan_time_active_day_raw%
- %plan_time_active_week%
- %plan_time_active_week_raw%
- %plan_time_active_month%
- %plan_time_active_month_raw%

Affects issues:
- Close #2721
2022-11-13 14:47:31 +02:00
Aurora Lahtela 38774867f7 Made query page display some results
Fixed Activity group filter
2022-11-12 10:39:20 +02:00
angela0930 9a536f5a04
Update locale_ZH_TW.yml (#2717)
* Update locale_ZH_TW.yml

* Update locale_ZH_TW.yml
2022-11-11 18:48:59 +02:00
dependabot[bot] 99e2e987c6
Bump selenium-java from 4.5.3 to 4.6.0 in /Plan (#2708)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.3 to 4.6.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.6.0)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 20:02:57 +02:00
dependabot[bot] 163b451435
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2699)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.4 to 2.2.6.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 19:25:01 +02:00
Henri Schubin 2ac2cb89c3
Fix scope of mixin, exclude junit provided by json-simple, correct dependency download failure logging (#2695) 2022-10-30 12:02:29 +02:00
Henri Schubin 96a14a24f5
Component DataExtension API (#2686)
* Component DataExtension API

* Finish up component extension data, add react-mcjsonchat library to the react dashboard in preparation for the rewrite

* Update Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionComponentData.java

* Update Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/ExtensionsDatabaseTest.java

* Update Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/DataValueGatherer.java

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2022-10-29 08:23:16 +03:00
dependabot[bot] 62a4bd1a35
Bump selenium-java from 4.5.2 to 4.5.3 in /Plan (#2687)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.2 to 4.5.3.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-28 08:04:41 +03:00
Aurora Lahtela d3a8176e72 Fix strict group by issues in PlayerCountQueries 2022-10-22 14:26:51 +03:00
Aurora Lahtela 0357cc5fd0 Fix concurrent modification on loading world aliases 2022-10-22 14:23:32 +03:00
dependabot[bot] ef4c0ea8d8
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2670)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.3 to 2.2.4.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-22 13:34:29 +03:00
dependabot[bot] aa0c337689
Bump selenium-java from 4.5.0 to 4.5.2 in /Plan (#2679)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.0 to 4.5.2.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-22 13:34:23 +03:00
dependabot[bot] 862c9672a2
Bump com.github.node-gradle.node from 3.4.0 to 3.5.0 in /Plan (#2669)
Bumps com.github.node-gradle.node from 3.4.0 to 3.5.0.

---
updated-dependencies:
- dependency-name: com.github.node-gradle.node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-22 13:21:22 +03:00
Aurora Lahtela 4f3e94024d Fixed incorrectly used translation labels 2022-10-22 11:32:45 +03:00
Aurora Lahtela f4bd580840 Implemented Query page filter options 2022-10-22 11:18:24 +03:00
Henri Schubin c49276369f
Component API by Vankka (#2665)
Adds a new Component API that allows converting between color code representations in Strings
2022-10-16 13:21:49 +03:00
Aurora Lahtela 900ce7c49c Implemented query page server selector 2022-10-16 11:07:11 +03:00
Aurora Lahtela 1c3cfbfe4b Implemented query page graph selector
The range selector on the graph was quite quirky
so functionality in LineGraph needed to be expanded a lot
2022-10-16 10:47:18 +03:00
Aurora Lahtela 428a0c5fde Began work on Query page
- Implemented the view time range selector input fields
- Fixed geolocation filter query returning more options than supposed to
2022-10-15 15:41:57 +03:00
Aurora Lahtela cf140e0db1 Fix network page subpage redirect
Removed the check that the /network address should end without a slash since this rule no longer holds.

Affects issues:
- Fixed #2647
2022-10-15 14:02:46 +03:00
Aurora Lahtela b0393606f0
DE Locale update by DubHacker (#2646)
* Added "DubHacker" as contributor for translation (#2632)

* Added "DubHacker" to list of german translators (#2633)

* Update translation of locale_DE.yml (#2634)

Added translation of many descriptions. Will translate more of it in the following days.

Co-authored-by: loli-chan <45999657+DubHacker-chan@users.noreply.github.com>
2022-09-30 17:27:41 +03:00
dependabot[bot] e8b7a8cd50
Bump selenium-java from 4.4.0 to 4.5.0 in /Plan (#2643)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.4.0...selenium-4.5.0)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-30 16:42:59 +03:00
dependabot[bot] db4d210278
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2639)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.2 to 2.2.3.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-30 16:41:29 +03:00
Aurora Lahtela ff4187341a Fix Cookie parsing when there are multiple cookies 2022-09-25 15:28:30 +03:00
Aurora Lahtela ccc6861df6 Fix typo in extension tab icon query
Affects issues:
- Fixed #2608
2022-09-25 11:21:44 +03:00
Aurora Lahtela 0a14d17d7a Fixed issues related to MySQL ONLY_FULL_GROUP_BY
MySQL breaks GROUP BY syntax of standard SQL, and allows arbitrary columns with aggregate functions.
The ONLY_FULL_GROUP_BY stops this, instead raising an error. Since the SQL was originally designed
with this mode on, restricting the SQL broke the code in a few places.

Adding the extra group by clauses solves the issue without effecting query results.

These issues will be caught by MySQLTest in the future, since the issues could be reproduced by
enabling ONLY_FULL_GROUP_BY mode.

Affects issues:
- Fixed #2619
2022-09-25 10:30:13 +03:00
Aurora Lahtela f791f2b17d Fix login and register on old frontend when using a locale 2022-09-16 13:34:47 +03:00
Aurora Lahtela a56b2cb3d1 Update Quests Extension, add PikaMug as contributor 2022-09-15 17:37:44 +03:00
Aurora Lahtela b68e41bbbe
Bugfixes to build 1951 (#2607)
* Remove SecuredRedirectHandler from Jetty

* Fixed extension values not updating on PLAYER_LEAVE

* Fix Join Address data-truncation errors

Affects issues:
- Fixed #2606

* Tests for join address truncation
2022-09-13 08:52:46 +03:00
Aurora Lahtela 1e1687d83c Retry when failing to store join address in storeAllSessionsWithKillAndWorldData
Another transaction may have run before this transaction that stored the same join address.

Affects issues:
- Possibly fixed #2601
2022-09-12 07:55:34 +03:00
Aurora Lahtela 3de1de82fe Update locale files with missing keys 2022-09-11 19:38:40 +03:00
Aurora Lahtela 4195865394 Enable network page in Frontend BETA 2022-09-11 19:32:42 +03:00
Aurora Lahtela 8cdbebf191 Implemented Network performance tab in React
Affects issues:
- Implemented #2469
2022-09-11 19:30:57 +03:00
Aurora Lahtela cb7749d778 Implemented network geolocations tab in React
- Add Projection selector to geolocations visualization
2022-09-11 09:30:33 +03:00
Aurora Lahtela 7a51633690 Implemented network page join address tab
- Made it possible to toggle stack/side-by-side join addresses
2022-09-10 10:45:03 +03:00
Aurora Lahtela adc4162217 Network sessions tab implemented in React 2022-09-10 09:38:25 +03:00
Aurora Lahtela b8258a38a6 Fix some issues in server sorting
- Removed the need for switch statements by giving sort options properties
- Added serverUUID to /v1/network/servers endpoint data
2022-09-10 09:09:52 +03:00
Aurora Lahtela 9654e4a8d3 Fix sorting labels (translated) 2022-09-09 19:15:31 +03:00
Aurora Lahtela f4aaa72f4c Implemented network servers overview in React
- Changed the layout to use a table instead of custom elements for more efficient look.
- Added sorting options to the new table
- Added a total calculator at the table footer

Affects issues:
- Close #1205
2022-09-09 19:10:06 +03:00
Aurora Lahtela 54c66c7232 Fix flaky regular player test 2022-09-09 14:24:48 +03:00
Aurora Lahtela 246f19a90f Oops revert test data generation data amount increase 2022-09-07 15:51:05 +03:00
Aurora Lahtela ead1b401bc Created a benchmark utility 2022-09-07 15:49:53 +03:00
Aurora Lahtela ef0ba83412 Automatically update to newest data when receiving cached data 2022-09-06 14:23:39 +03:00
Aurora Lahtela f3cc34d765 Webserver access log to console, different log levels 2022-09-06 07:19:59 +03:00
Aurora Lahtela cb21c45ea9 Visualize join address / day in React server page
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
2022-09-05 16:56:59 +03:00
Aurora Lahtela 2c233a0d21 Fix typo in previous commit 2022-09-04 19:23:33 +03:00
Aurora Lahtela 30c1a860e3 Log warning if driver download fails
Affects issues:
- Close #2592
2022-09-04 19:21:30 +03:00
Aurora Lahtela 4c2bf7bd52 Tests for join address case preservation
- Fixed one issue where player page showed out of date join address
2022-09-04 19:06:19 +03:00
Aurora Lahtela 9616059828 Add stashenko as contributor 2022-09-04 11:23:13 +03:00
The_stas 9cc2273dea
Update locale_RU.yml (#2591) 2022-09-04 11:21:03 +03:00
Aurora Lahtela 91cb569a3c Remove 0.0.0.0 from Jetty bind exception to reduce attempts to change Internal_IP 2022-09-04 08:56:23 +03:00
Aurora Lahtela 38ee84af67 Fixed some issues with DataTables and unmounting extensions
When using ServerWidePluginData component for two different plugins that had a DataTablesTable
React reused the component, which lead to issues of DataTables trying to remount on the same
component with a different ID, with both jQuery and React trying to remove elements from DOM.

- Added div around table in DataTablesTable to allow React properly unmount the element after
  jQuery already removed the table element
- Added extra layer in ServerWidePluginData that re-renders the tab when plugin changes
- Sorted extensions in the endpoints
- Added /v1/networkMetadata endpoint for implementing server list navigation later
- Added network page to App.js with plugins and players tabs already implemented
2022-09-03 14:01:15 +03:00
Aurora Lahtela 813abd040a Add 'Data_gathering.Preserve_join_address_case' setting (default false)
- Allows preserving case information of gathered join addresses
- Only affects future data
2022-09-03 12:15:54 +03:00
Aurora Lahtela cc56cf0985 Fix Certificate missing message not showing file path 2022-09-03 11:36:22 +03:00
Aurora Lahtela a1a38d5087 Fix checkstyle 2022-09-02 19:30:57 +03:00
Aurora Lahtela cbc880c1d3 Improve database error messages
- 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
2022-09-02 18:49:36 +03:00
Aurora Lahtela c607ef2869 Rewrite /errors page with React 2022-09-01 18:59:59 +03:00
Aurora Lahtela d1cd5a3b74 Apply decimal formatter to double value placeholders 2022-09-01 08:23:47 +03:00
Aurora Lahtela 6f6b4f149f Fix gzip support for Jetty 2022-08-31 19:44:38 +03:00
Aurora Lahtela e772713ac0 Fix locale formatting of username/password placeholders 2022-08-31 17:26:26 +03:00
Aurora Lahtela 6a4033ccda Fix Internal_IP setting not being used with Jetty 2022-08-31 12:48:20 +03:00
Aurora Lahtela aaec5eda8b Add since tags and remove some internal deprecated code 2022-08-31 12:48:20 +03:00
Aurora Lahtela 8004e990d9 Converted ChatFormatter to an interface 2022-08-31 12:48:19 +03:00
Aurora Lahtela 7dce52245f Remove some uses of PlanPlugin#getDataFolder (deprecated) 2022-08-31 12:48:19 +03:00
Aurora Lahtela b3d0828317 Reduce priority of leave-event reprocessing attempt 2022-08-31 09:10:08 +03:00
Aurora Lahtela f14b78dede Fix broken PlayerLeaveEventConsumerTest 2022-08-31 09:07:58 +03:00
Aurora Lahtela 9d7684e3fb Attempt to preserve causal relation of join and quit events
Affects issues:
- Possibly fixed #2578
2022-08-31 08:51:54 +03:00
Aurora Lahtela fd6f96be89 Remove usernames from access log table
This is a GDPR liability since the usernames could be linked to the players.
2022-08-28 19:11:51 +03:00
Aurora Lahtela 4ff06e22e5 Improve locale json version endpoint
- Checks the last modification from git at compile time
  instead of relying on unrelated file modification dates.
- Added information for gradle to cache determineAssetModifications task results
2022-08-28 10:21:46 +03:00
Aurora Lahtela de0a5eb613 Update locale files with utility 2022-08-28 10:11:37 +03:00
Aurora Lahtela 104dcbe0d6 Fix /v1/players servers.server_uuid not being a string 2022-08-28 09:18:38 +03:00
Aurora Lahtela c88229fd8f Fix flaky singlePingIsStored test due to random 0 going out of ping data bounds 2022-08-28 08:37:53 +03:00
Aurora Lahtela 4c53a9a406 Enabled React server page in Frontend BETA
Various fixes to React frontend

- Implemented Extension DataTables table support
- Fixed colors in night mode
- Fixed DataTables night mode
- Fixed chart opacity in night mode (HighCharts doesn't like hsl values)
- Fixed color selector buttons in night mode
- Translated Login button
- Added license to package.json
- Changed Extension endpoint table representation to objects to allow value formatting
2022-08-27 22:26:30 +03:00
Aurora Lahtela 877f8a5bbd Change export regression test to have proper head image url 2022-08-27 15:44:37 +03:00
Aurora Lahtela 8d5ed1caff Change default PLAYER_HEAD_IMG_URL during export regression test 2022-08-27 15:42:48 +03:00
Aurora Lahtela 714d681d49 Change default PLAYER_HEAD_IMG_URL during export regression test 2022-08-27 15:34:03 +03:00
Aurora Lahtela 3eff46523d Test and fix user move and combination transactions 2022-08-27 15:20:23 +03:00
Aurora Lahtela ea16adb13d Initial version of server extension cards
TODO: Extension DataTables mapping
2022-08-23 22:01:34 +03:00
Aurora Lahtela 7b41165af5 Add /plan db migrate_to_online_uuids command 2022-08-21 12:19:52 +03:00
Aurora Lahtela 2f6718a78f Add timestamp to /v1/metadata endpoint 2022-08-21 10:41:23 +03:00
Aurora Lahtela 339449742b Add missing locale keys 2022-08-21 10:40:38 +03:00
Aurora Lahtela 26409a7b59 Add GET /v1/extensionData?server={name/uuid} endpoint
Utilizes the same code used earlier for the /v1/player extension data,
the data just needs to be displayed slightly differently on the frontend
2022-08-21 10:35:29 +03:00
Aurora Lahtela a43a2ae581 Implement rest of Performance tab (graphs) in React
Adds all graphs and their respective tabs.
Extra:
- Zero baselined charts where it made sense
- Increased performance graph card height to improve readability

Affects issues:
- Close #2270
2022-08-20 15:53:34 +03:00
Aurora Lahtela 5bd882036c Performance tab (no graphs yet) 2022-08-20 10:30:24 +03:00
Aurora Lahtela d39c377756 Fix server page server name
Server name came from metadata endpoint, but it is incorrect if viewing a server page on a network

Added a new endpoint /v1/serverIdentity?server=... to get the identifiable name of the server.
2022-08-20 09:46:24 +03:00
Aurora Lahtela eaae1456d6 Verify that keystore has certificate with alias inside it
Jetty was silently failing, setting up HTTPS and then failing handshake.
If the alias in the config was not in the keystore https would enable,
but the certificate would be missing.

Added validation steps from old code to ensure the keystore includes given alias.
2022-08-20 08:56:27 +03:00
dependabot[bot] d0fd604e3a
Bump selenium-java from 4.3.0 to 4.4.0 in /Plan (#2540)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.3.0...selenium-4.4.0)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-19 16:55:47 +03:00
Aurora Lahtela b5005afbc5 Implement Login page using react 2022-08-18 18:53:35 +03:00
Aurora Lahtela 9737aa1ddc Fix NPE on null Keystore when using old .jks cert 2022-08-16 22:20:43 +03:00
Aurora Lahtela e41af49544 Add id primary key field to any tables that are missing one
No retrofitting.

Affects issues:
- Fixed #2495
2022-08-16 20:28:27 +03:00
Aurora Lahtela 68d6d10c39 Reduce maximum join address length to 191 characters
Affects issues:
- Fixed #2477
2022-08-16 20:11:48 +03:00
Aurora Lahtela 359a2bed0a Warn about certificate expiration
Affects issues:
- Close #2426
2022-08-16 20:09:35 +03:00
Aurora Lahtela 72ff23176c Increase default inactive player removal threshold to 10 years
Affects issues:
- #2553
2022-08-16 19:19:30 +03:00
Aurora Lahtela b646e18c68
Fix fabric join address gathering (#2546)
- 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
2022-08-14 20:35:32 +03:00
Aurora Lahtela e65ffcbad5 Fix HTTPS not enabling if ALPN is unavailable 2022-08-02 20:27:09 +03:00
Aurora Lahtela fa6c7232a9 Call Jetty#destroy when shutting down webserver
Affects issues:
- Possibly fixed #2518
2022-08-01 18:28:19 +03:00
dependabot[bot] 2a48bdf2a9
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2492)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.1 to 2.2.2.

---
updated-dependencies:
- dependency-name: io.swagger.core.v3.swagger-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-01 13:07:53 +03:00
Aurora Lahtela 0910b3adef Disable DataExtension data updates during plugin shutdown.
The storage of this data during shutdown is skipped already,
but method calls to other potentially disabled plugins can throw errors.

Affects issues:
- Fixed #2432
2022-07-15 08:49:48 +03:00
Aurora Lahtela 37f11e3269 Remove PlanSystem#getErrorLogger
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.
2022-07-15 08:34:18 +03:00
Aurora Lahtela b0be4f296d Use plugin classloader for thread context when initializing system
This allows ServiceLoader to find slf4j-nop provider for Jetty
preventing SLF4J "No provider" error

Affects issues:
- Fixed #2438
2022-07-15 08:21:23 +03:00
Aurora Lahtela f64290c019 Merge branch 'master' into update-extensions
# Conflicts:
#	Plan/extensions/build.gradle
2022-07-14 08:22:33 +03:00
Aurora Lahtela 47bc49a0d2 Reduce join_address column length to 250 characters
- Add error code 1071 to error definition

Affects issues:
- Possibly fixed #2477
2022-07-14 08:19:08 +03:00
Aurora Lahtela 8f239b010c
Add Swagger & Swagger UI (#2470)
* 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
2022-07-13 21:21:20 +03:00
Rsl1122 2b478e58c0 Turn config to valid yaml
- Moved all config settings with values in non leaf-nodes to leaf-nodes
  - Time units (Now .Time and .Unit)
  - Feature toggles (Now .Enabled)
- Wrote tests to ensure non-leaf node values are not used

Affects issues:
- Fixed #1363
2022-07-09 19:07:29 +03:00
dependabot[bot] 692c03d65f
Bump selenium-java from 4.2.1 to 4.3.0 in /Plan (#2442)
* Bump selenium-java from 4.2.1 to 4.3.0 in /Plan

Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.3.0)

---
updated-dependencies:
- dependency-name: org.seleniumhq.selenium:selenium-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Remove use of deprecated capabilities

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rsl1122 <24460436+Rsl1122@users.noreply.github.com>
2022-07-03 15:10:01 +03:00
Rsl1122 be69613098 Ignore non-auth cookies without value 2022-07-03 11:35:51 +03:00
Rsl1122 38e3ef9ac0 Ignore non-auth cookies without value
Affects issues:
- Fixed #2458
2022-07-03 11:34:33 +03:00
Rsl1122 aa67794881 Remove unnecessary files from jar and relocate Jetty 2022-07-03 10:54:01 +03:00
Rsl1122 216fc638c5 Add plan.command permission, default: true
This permission is not enforced and only
affects Bukkit based servers.

The permission allows negating visibility
of the command in tab completion for players

The subcommands rely on other permissions,
so 'true' was set as default and permission
unenforced so that previous functionality
of the commands stays as is.

Affects issues:
- Fix #2441
2022-07-01 14:33:42 +03:00
dependabot[bot] ca91d6ecc3
Bump com.github.node-gradle.node from 3.3.0 to 3.4.0 in /Plan (#2451)
Bumps com.github.node-gradle.node from 3.3.0 to 3.4.0.

---
updated-dependencies:
- dependency-name: com.github.node-gradle.node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 14:55:41 +03:00
Aurora Lahtela 6aae823850 Implement Access log functionality to Plan
- Store access log in database, clean logs after 30 days by default
- Add Webserver.Security.Access_log.Print_to_console setting
- Add Webserver.Security.Access_log.Remove_logs_after_days setting

Affects issues:
- Close #2328
2022-06-24 11:09:14 +03:00
Aurora Lahtela 58cd2d6a8f Fix webserver 'proxy'-mode with Jetty 2022-06-23 15:37:24 +03:00
Aurora Lahtela f8652ad1b9 Delete Sun Webserver implementation 2022-06-19 18:40:25 +03:00
Aurora Lahtela 2aa189798d
Jetty support (#2132)
- Refactored Webserver request handling code to be easier to read
- Adds support for larger range of cipher suites and protocols for HTTPS
- Adds support for HTTP/2 and ALPN and as result more concurrent users than before
- APIs are fully compatible with previous code

Thanks to Kopo for assistance

Affects issues:
- Close #1987
2022-06-19 18:38:40 +03:00
Aurora Lahtela cfd15dfd9e
Merge pull request #2430 from plan-player-analytics/java-11
Affects issues:
- Close #2325
- Close #1894
2022-06-18 11:58:45 +03:00
Aurora Lahtela 9f66d0db27 Delete some Deprecated Plan API / implementation parts
- ServerKeys
- Deprecated PlayerKeys
- PlayerDeath
2022-06-18 11:40:19 +03:00
Aurora Lahtela 92910d647a Revert API jar to Java 8 and update to Java 11 APIs 2022-06-18 11:31:53 +03:00
Aurora Lahtela 138bcb2884 Prevent too many tab completion results if there are more than hundred identifiers 2022-06-15 20:18:36 +03:00
Aurora Lahtela 315feb282b Merge branch 'master' into java-11
# Conflicts:
#	Plan/build.gradle
#	Plan/common/src/test/java/com/djrapitops/plan/identification/storage/ServerFileLoaderTest.java
2022-06-15 12:38:52 +03:00
Antti Koponen 4196141db1
Fixes for Fabric 1.19 by Kopo (#2419)
* Gradle 7.4.2
* Build changes for MC 1.19

- Updated loom to minor version 0.12 & moved to root project
- Updated mappings, command API, fabric API & loader version
- Moved Selenium to common module because of a conflict with loom's dependency resolution

* Add remap folder to .gitignore
* Fix version token replacement
* Update to Minecraft 1.19
* Don't forget the pipelines

Affects issues:
- Fixed #2417
2022-06-10 16:21:53 +03:00
Aurora Lahtela 5382049dcd Show React version of /players page if opted to Frontend BETA 2022-06-05 22:20:30 +03:00
Aurora Lahtela 71424fa2ec Fixing IDEA code inspection issues
- Removed MethodAnnotations use in ExtensionExtractor
- Refactored duplicate code in
  - BaseUserQueries
  - GeoInfoQueries
  - JoinAddressQueries
  - KillQueries
  - NicknameQueries
  - WebUserQueries
  - TopListQueries
2022-06-05 16:59:35 +03:00
Aurora Lahtela 9a305fe5a8 Add missing license header 2022-06-05 14:48:08 +03:00
Aurora Lahtela b0a73374d4 Refactored PlayerCountQueries to reduce boilerplate code
- Created utility methods in Database that allow faster extraction of results without implementing so many extra QueryStatements.
2022-06-05 11:32:37 +03:00
Aurora Lahtela 09e71cd7ba Wrote some tests for LangCodes and fixed some issues in LocaleJSONResolver
- Removed unnecessary regex that was marked as bug by sonar
2022-06-05 10:49:20 +03:00
Aurora Lahtela 9d852ac989 Wrote a generic test for "No permission" for all commands 2022-06-05 10:15:11 +03:00
Aurora Lahtela 904d6017c3 Refactor ServerFileLoader to do config file access properly
Changes the order defaults and actual values are loaded in - It may affect the issue

Affects issues:
- Fixed #2254
2022-06-04 16:47:35 +03:00
Aurora Lahtela 33de99cfab Fixed ServerFileLoaderTest broken due to removal of print line 2022-06-04 09:27:27 +03:00
Aurora Lahtela 1522a8731d Fixed linting issues 2022-06-04 09:11:38 +03:00
Aurora Lahtela b7d90d2b89 Prevent concurrent access to server information storage
Affects issues:
- Possibly fixed #2254
2022-05-30 21:07:57 +03:00
Aurora Lahtela b97f61d1de Prevent concurrent access to server information storage
Affects issues:
- Possibly fixed #2254
2022-05-30 21:06:19 +03:00
Aurora Lahtela 1226aeaf1f Bump Java version to 11 2022-05-30 18:40:46 +03:00
Henri Schubin bab0f273a2
Sponge API 8 port (#2119)
* 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>
2022-05-29 17:08:50 +03:00
Aurora Lahtela b76ee7c358 Wrote a program to print all placeholders for easy wiki updates. 2022-05-28 11:29:50 +03:00
Aurora Lahtela 8ee494f6e4 Don't replace placeholder if given player identifier is not found 2022-05-28 10:22:48 +03:00
Aurora Lahtela 3119f35cb6 Fix Map#keyset()#remove bug detected by sonar 2022-05-28 10:00:53 +03:00
Aurora Lahtela 01d618cdd3 Fix player_recent_kill and player_recent_death placholder off by one error 2022-05-28 09:46:50 +03:00
Aurora Lahtela ecc08699ec Fix checkstyle 2022-05-28 09:38:31 +03:00
Aurora Lahtela 38b67272a6 Wrote dynamic tests for placeholders
Affects issues:
- Close #2076
2022-05-28 09:25:15 +03:00
Aurora Lahtela 253cfd251b Add support for :player at the end of player_ placeholders.
- Supports UUID
- Supports player name
- Will use issuing player if not found due to implementation limitations

Affects issues:
- Close #2130
2022-05-28 08:52:55 +03:00
Aurora Lahtela 79ff7d599f Add session duration placeholders
- %plan_player_current_session_length%: The length of active session (Online time)
- %plan_player_current_session_length_raw%: unformatted ms
- %plan_player_latest_session_length%: The length of active session or previous session if not online
- %plan_player_latest_session_length_raw%: unformatted ms
- %plan_player_previous_session_length%: The length of previous non-active session even if online
- %plan_player_previous_session_length_raw%: unformatted ms

Affects issues:
- Close #2211
2022-05-28 08:37:13 +03:00
Aurora Lahtela ee1a69cb0c Fix checkstyle 2022-05-27 20:20:16 +03:00
Aurora Lahtela 5dd2d4392e Groundwork for #1050 2022-05-27 20:13:12 +03:00
Aurora Lahtela 26f76d9540 Implemented average players to Playerbase as Numbers
Affects issues:
- Close #1796
2022-05-27 19:15:33 +03:00
Aurora Lahtela 368f1e5002 Various fixes to transactions
- Hopefully fix user_id relation error once and for all.
- Set timezone to 00:00 properly when MySQL initializes connection

Affects issues:
- Close #1239
2022-05-26 21:51:22 +03:00
Aurora Lahtela 7aa84c27e4 Fix expired cookie removal 2022-05-26 09:57:29 +03:00
Aurora Lahtela 0538cea8be Fix issue where Plan holds server enable if database is slow
Affects issues:
- Fixed #2356
2022-05-26 09:44:55 +03:00
Aurora Lahtela c1537681ab Try to find server registration error, did not. 2022-05-26 09:26:45 +03:00
Aurora Lahtela 24e955e428 Drop ThrowawayTransactions if database queues over 500 transactions.
This should reduce the likelihood of out of memory crashes due to slow database write performance.

Affects issues:
- Close #1963
2022-05-26 08:40:01 +03:00
Aurora Lahtela a1d53b8910 Improve SessionEndTransaction to store player name on retry if user_id is missing 2022-05-26 08:17:23 +03:00
Aurora Lahtela 17d39f518d Fix user_id reference error on ShutdownDataPreservationTransaction 2022-05-26 08:16:00 +03:00
Aurora Lahtela f3a5e27d8d Cancel any non repeating tasks when they exit 2022-05-26 07:46:20 +03:00
Aurora Lahtela 513900ed3d Fix typo in RemoveDanglingServerDataPatch 2022-05-25 14:41:46 +03:00
Aurora Lahtela 66ed6cfc5f Add missing NOT NULL constraint violation error codes 2022-05-24 22:17:56 +03:00
Aurora Lahtela 92ed27a097 Fix parsing of old version's ongoing session csv files 2022-05-24 21:43:22 +03:00
Aurora Lahtela f6ece8333b Entered data for Online Activity Overview 2022-05-23 19:46:01 +03:00
Aurora Lahtela b942078485 Implemented more of the layout for server page
- Sessions accordion table headers
- PvP & Pve layout
- Playerbase graph layout
- Updated font awesome to 6.1.1
2022-05-22 10:57:06 +03:00
Aurora Lahtela e77a9ee8b5 Implemented rest of the graphs on Online Activity Overview 2022-05-21 13:43:49 +03:00
Aurora Lahtela 62f06b4901 Prevent further transactions from executing if FatalDBException occurs
Affects issues:
- Fixed #2365
2022-05-21 09:58:07 +03:00
Aurora Lahtela f36f1202fc Implemented player ping graph on Frontend BETA player page
Affects issues:
- Close #2258
2022-05-21 09:25:27 +03:00
Aurora Lahtela 52b8afe6cb Store join addresses separately and link to plan_sessions table for time data.
Affects issues:
- #2362
2022-05-20 19:32:00 +03:00
dependabot[bot] b4017604bf
Bump com.github.node-gradle.node from 3.2.1 to 3.3.0 in /Plan (#2369)
Bumps com.github.node-gradle.node from 3.2.1 to 3.3.0.

---
updated-dependencies:
- dependency-name: com.github.node-gradle.node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-16 08:55:10 +03:00
Aurora Lahtela 8bbbde4556 Fix registering plan_user row if missing when required
There was one error code for MySQL that used wrong message context to detect the missing user_id properly.

Wrote tests for all the extra functionality ensuring no exceptions occur.

Affects issues:
- Fixed #2361
- Fixed #2343
2022-05-14 11:00:34 +03:00
Aurora Lahtela 6fa552ca5e Register plan_user row if missing when required
- PingStoreTransaction
- GeoInfoStoreTransaction
- SessionEndTransaction

Affects issues:
- Fixed #2361
- Fixed #2343
2022-05-07 10:40:50 +03:00
Aurora Lahtela f434199b61 Fixed _raw placeholders being formatted
Affects issues:
- Fixed #2347
2022-05-07 10:01:11 +03:00
Aurora Lahtela 3804ea860d Use console sender messages to log colors to console
Affects issues:
- Fixed #2313
2022-05-07 09:59:23 +03:00
Aurora Lahtela 55ceeb3ad2 Stop ActiveCookieStore from logging database exception on plugin disable
Affects issues:
- Fixed #2188
2022-05-07 09:26:54 +03:00
Aurora Lahtela 64146cc6eb Do dangling uuid comparison in-memory instead of join.
Attempts to optimize RemoveDanglingUserDataPatch and RemoveDanglingServerDataPatch
2022-05-07 08:26:01 +03:00
Aurora Lahtela 423edbb631 Fix UserInfoOptimizationPatch clearing out join_address data. 2022-04-27 16:02:47 +03:00
Aurora Lahtela 675408ab31 Add missing query parameter
Affects issues:
- Fixed #2340
2022-04-20 12:51:11 +03:00
Aurora Lahtela e9dcb591c8 Made MySQL tests 3 times faster (3.5 minutes vs 1 minute) 2022-04-18 15:10:33 +03:00
Aurora Lahtela c1c2814971 Remove dangling user and server data when patching database to prevent errors
Affects issues:
- Fixed #2335
- Fixed #2333
2022-04-17 09:28:26 +03:00
Aurora Lahtela 71927903aa
Download node as part of gradle yarn setup 2022-04-15 11:07:32 +03:00
kassq 07e857ba1b
Fix typo in finnish locale by KasperiP (#2321) 2022-04-11 20:06:09 +03:00
Aurora Lahtela 69c54fb5cb Fix some issues with data registering for new users 2022-04-11 19:08:05 +03:00
Aurora Lahtela 6bbf054336 Revert accidental changes to plugin tab rendering 2022-04-10 09:05:16 +03:00
Aurora Lahtela 2056c8831b Update to LogBlock Extension by Pingger
- Support for new stone block types
2022-04-10 08:44:09 +03:00
Aurora Lahtela b74e338721
Query optimizations (#2320)
* Optimized network ping table query
* Removed icon id selection subqueries

- Take the icon ID into memory when the icons are stored

* Fix typos in the optimized ping table query
* Optimize server ping table query
* Attempt to optimize /v1/servers tps data query
* Optimize ping and geolocations tables uuid -> user_id foreign key
* Prevent Plan from crashing if patching takes too long

- HikariCP auto commit was true for some reason even though all transactions have commit mechanism built-in.
- The setting was reset during connection recreation and that could cause an index out of bounds error.

* Reduce try-nesting in ExecStatement
* Use user_id and server_id instead of uuid for plan_world_times table
* Use user_id and server_id instead of uuid for plan_sessions and plan_user_info table
* Fix more issues and test queries used by Query Filters
* Use deferRender for data tables to load data into the table faster
* Swap uuids to user ids for query page filters

Fixes an issue where SQL is too big to execute

Affects issues:
- #2196
2022-04-09 20:52:29 +03:00
Aurora Lahtela 604bfd9e67 Add Plan version to /plan servers
Affects issues:
- Resolve #2245
2022-04-07 18:24:40 +03:00
Aurora Lahtela 3822155b40
Frontend BETA: Rewrite Player page with React (#2312)
* Add extension data to /v1/player endpoint
* Use node gradle plugin for building with yarn
* Add /v1/whoami endpoint
* Add back button to sidebar
* Selenium Tests for locale related js errors
* Convert locale system to use YAML-based storage
* Added a conversion process that runs on startup
* Replace cravatar.eu with crafatar.com for skins (more reliable)
* Add the Header made by Kopo to React

Co-authored-by: Antti Koponen <koponen942@outlook.com>

Affected issues:
- Resolve #1733
- Fixed #1092
- Resolve #1895
- Resolve #1965
- Partial #2260 
- Partial #2099
2022-04-06 17:37:23 +03:00
Aurora Lahtela 34fd9e9279
Update WorldAliasSettings.java 2022-03-18 20:39:54 +02:00
Aurora Lahtela cb68d38965
Prevent negative register dates from breaking db 2022-03-06 17:51:50 +02:00
Aurora Lahtela 206c4e7d96 Add display names to some tests 2022-02-28 19:31:17 +02:00
Aurora Lahtela 9ff08c2267 Combined some dependency versions as variables 2022-02-28 18:50:21 +02:00
Aurora Lahtela b34a8e8c02 Fix test error 2022-02-27 15:46:17 +02:00
Aurora Lahtela 22ebdab821 Export noauth.css to hide logout button
- Added test for exported pages that uses Selenium to check for js errors
2022-02-27 15:40:35 +02:00
Aurora Lahtela 8175e599ec Export players page more frequently
Affects issues:
- Close #1999
2022-02-27 12:57:22 +02:00
dependabot[bot] 4375296376
Bump dev.vankka.dependencydownload.plugin from 1.1.4 to 1.2.1 in /Plan (#2283)
Bumps dev.vankka.dependencydownload.plugin from 1.1.4 to 1.2.1.

---
updated-dependencies:
- dependency-name: dev.vankka.dependencydownload.plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-16 07:37:05 +02:00
Aurora Lahtela edc0a646ec
Update dependency download to newer version 2022-02-14 18:25:26 +02:00
Saph1s 8ee560c10d
Update RU locale (#2276)
* Update RU locale

* Update RU locale
2022-02-13 07:44:33 +02:00
Risto Lahtela 856d5f57e7 Don't close driver class loader during disable
Affects issues:
- Fixed #2274
2022-02-12 22:59:14 +02:00