Compare commits

...

734 Commits

Author SHA1 Message Date
AuroraLS3 c8fee67f10 Update versions.txt 5.6 build 2883 2024-05-26 15:08:30 +00:00
Aurora Lahtela bea0ef85b3 Fix join address validator test 2024-05-25 10:39:14 +03:00
Aurora Lahtela 8309f8725e Add config options for enabling and filtering join address gathering
Affects issues:
- Close #3631
2024-05-25 10:22:54 +03:00
dependabot[bot] 8e6befc953
Bump swagger-ui from 5.17.10 to 5.17.12 in /Plan/react/dashboard (#3636)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.17.10 to 5.17.12.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.17.10...v5.17.12)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-05-25 10:19:01 +03:00
Aurora Lahtela 41ae9a3a70 Add plan_server_uptime placeholder
Supports :server parameter

Affects issues:
- Close #3647
2024-05-25 09:43:54 +03:00
dependabot[bot] 18a154e6b0
Bump highcharts from 11.4.1 to 11.4.3 in /Plan/react/dashboard (#3637)
Bumps [highcharts](https://github.com/highcharts/highcharts-dist) from 11.4.1 to 11.4.3.
- [Commits](https://github.com/highcharts/highcharts-dist/compare/v11.4.1...v11.4.3)

---
updated-dependencies:
- dependency-name: highcharts
  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>
2024-05-25 09:37:39 +03:00
dependabot[bot] 3e30340aa8
Bump react-i18next from 14.1.1 to 14.1.2 in /Plan/react/dashboard (#3640)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 14.1.1 to 14.1.2.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v14.1.1...v14.1.2)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2024-05-25 09:37:30 +03:00
dependabot[bot] 4b67a89d8c
Bump @vitejs/plugin-react from 4.2.1 to 4.3.0 in /Plan/react/dashboard (#3633)
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.0/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  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>
2024-05-25 09:37:03 +03:00
dependabot[bot] c5513cd5db
Bump axios from 1.6.8 to 1.7.2 in /Plan/react/dashboard (#3634)
Bumps [axios](https://github.com/axios/axios) from 1.6.8 to 1.7.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.8...v1.7.2)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-05-25 09:36:47 +03:00
dependabot[bot] cde66f1981
Bump @fortawesome/react-fontawesome in /Plan/react/dashboard (#3635)
Bumps [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/0.2.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.2.1...0.2.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/react-fontawesome"
  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>
2024-05-25 09:36:26 +03:00
dependabot[bot] 4481c6411e
Bump @fullcalendar/core from 6.1.11 to 6.1.13 in /Plan/react/dashboard (#3638)
Bumps [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core) from 6.1.11 to 6.1.13.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.13/packages/core)

---
updated-dependencies:
- dependency-name: "@fullcalendar/core"
  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>
2024-05-25 09:36:08 +03:00
dependabot[bot] 99d22185bb
Bump i18next from 23.11.4 to 23.11.5 in /Plan/react/dashboard (#3639)
Bumps [i18next](https://github.com/i18next/i18next) from 23.11.4 to 23.11.5.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.11.4...v23.11.5)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-05-25 09:35:46 +03:00
dependabot[bot] 26fd2992a8
Bump i18next-http-backend from 2.5.1 to 2.5.2 in /Plan/react/dashboard (#3641)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.5.1 to 2.5.2.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.5.1...v2.5.2)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2024-05-25 09:35:32 +03:00
dependabot[bot] 5472144f74
Bump react-dom from 18.2.0 to 18.3.1 in /Plan/react/dashboard (#3642)
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 18.2.0 to 18.3.1.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  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>
2024-05-25 09:35:21 +03:00
dependabot[bot] dddb9186b2
Bump com.google.code.gson:gson from 2.10.1 to 2.11.0 in /Plan (#3643)
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.10.1 to 2.11.0.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.10.1...gson-parent-2.11.0)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  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>
2024-05-25 09:34:22 +03:00
dependabot[bot] c5f811f99e
Bump org.apache.commons:commons-compress from 1.26.1 to 1.26.2 in /Plan (#3644)
Bumps org.apache.commons:commons-compress from 1.26.1 to 1.26.2.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2024-05-25 09:34:11 +03:00
dependabot[bot] b2deda8a28
Bump org.mariadb.jdbc:mariadb-java-client from 3.3.3 to 3.4.0 in /Plan (#3645)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.3.3 to 3.4.0.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.3.3...3.4.0)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2024-05-25 09:34:01 +03:00
Aurora Lahtela edb871661c Truncate access address in case it is spoofed
Fixes an exception on inserting too long IP address
2024-05-24 17:24:32 +03:00
Aurora Lahtela ad98e28e4c Check permissions when performing tab completion
- Fixes advisory GHSA-cchm-2r9h-xvhv
2024-05-23 21:08:44 +03:00
Aurora Lahtela 365ea2d333 Lower webserver disabled log message from warn to info level 2024-05-18 19:16:30 +03:00
张宇衡 fefbd9ae23
Folia support added by ZhangYuheng (#3617)
* folia support finished
* add Contributors
* try to use reflection to load class
* finish the compatible for java11 and java 17+ (folia)
* change pal version to 5.2.0, due to the merge of folia-layer.
now this can be compiled by CI-CD(workflow)
* separate folia pal to standalone gradle module
so javadoc gen may success
* made folia module skip javadoc compile
* take advise from AnttiMK. Thank u :)
* make folia pal with runtimeOnly
* extend FileWatcherTest time await up to 5 sec

Affects issues:
- Close #2962
2024-05-18 18:52:39 +03:00
dependabot[bot] 5e0780be1a
Bump ejs from 3.1.7 to 3.1.10 in /Plan/react/dashboard (#3591)
Bumps [ejs](https://github.com/mde/ejs) from 3.1.7 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.7...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-18 10:46:30 +03:00
Aurora Lahtela 3dc6ac5afa Fix rate limiter failing /manage page test
Poor implementation makes /manage/groups page request /v1/permissions n times,
where n is amount of groups. Since each visibility test registers a new group,
there are a lot of them when opening the manage page, leading to tripping the
rate-limiter
2024-05-18 10:46:49 +03:00
Aurora Lahtela 8a16455e95 Update highcharts 2024-05-18 09:36:39 +03:00
Aurora Lahtela de75d3c56f Fix className is undefined error for FontAwesome 2024-05-18 09:32:14 +03:00
Aurora Lahtela 7de0464137 Update dependencies 2024-05-17 20:52:44 +03:00
jhqwqmc 8b2f32bb7d
Update locale_CN.yml (#3616) 2024-05-13 21:55:21 +03:00
Aurora Lahtela ca9870d9fe Fix CorrectWrongCharacterEncodingPatch failing on mysql.user table being a view 2024-05-11 18:58:22 +03:00
Aurora Lahtela 9e25f2b26c Sanitize and validate more join address variations
- Added Data_gathering.Preserve_invalid_join_addresses to allow overriding this behavior.

Affects issues:
- Fixed #3545
2024-04-27 10:08:18 +03:00
Aurora Lahtela 24a8c75b67 Add support for configuring the plugin using environment variables.
Examples:
- Plugin.ServerName -> PLAN_PLUGIN_SERVERNAME
- Database.MySQL.Password -> PLAN_DATABASE_MYSQL_PASSWORD

Affects issues:
- Close #1353
- #1991
2024-04-21 20:35:41 +03:00
Sniper_TVmc 132fa2f919
Update locale_FR.yml (#3578) 2024-04-21 09:25:28 +03:00
Aurora Lahtela 7f268d9a07
Update versions.txt 2024-04-20 20:42:27 +03:00
Aurora Lahtela be8c8951c9 Update jitpack.yml to use JDK 21 2024-04-20 10:34:03 +03:00
AuroraLS3 e630db1b71 Update versions.txt 5.6 DEV build 2850 2024-04-20 07:26:27 +00:00
Aurora Lahtela 0d5d9adb77 Bump Extension-PlaceholderAPI to R1.6
Allows configuring invalid placeholder values that should not overwrite existing values.

Affects issues:
- Fixed #3566
2024-04-20 10:12:15 +03:00
jhqwqmc 590e0445cb
Update locale CN by jhqwqmc (#3567) 2024-04-20 10:04:24 +03:00
Aurora Lahtela bd4108a367 Update dependencies
- @testing-library/react
- i18next
- i18next-http-backend
- sass
- swagger-ui
- org.apache.commons.commons-text
- slf4j
2024-04-20 10:02:35 +03:00
Drex faa911e232
Update to 1.20.5 Fabric by DrexHD (#3424)
* Update to 24w03b
* Update to 1.20.5-rc2
* Bump minecraft dependency
2024-04-20 09:48:33 +03:00
dependabot[bot] 6776c79a14
Bump org.sonarqube from 4.4.1.3373 to 5.0.0.4638 in /Plan (#3542)
Bumps org.sonarqube from 4.4.1.3373 to 5.0.0.4638.

---
updated-dependencies:
- dependency-name: org.sonarqube
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-07 14:40:15 +03:00
dependabot[bot] 13d168a593
Bump daggerVersion from 2.51 to 2.51.1 in /Plan (#3555)
Bumps `daggerVersion` from 2.51 to 2.51.1.

Updates `com.google.dagger:dagger` from 2.51 to 2.51.1
- [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.51...dagger-2.51.1)

Updates `com.google.dagger:dagger-compiler` from 2.51 to 2.51.1
- [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.51...dagger-2.51.1)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:dagger-compiler
  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>
2024-04-07 13:41:33 +03:00
Aurora Lahtela 634d6f2a77 Update javascript dependencies
- font awesome
- sass
- swagger-ui
2024-04-07 13:40:41 +03:00
Aurora Lahtela 74ae2dcf40 Fix server allowlist bounces not being exported 2024-04-07 11:18:38 +03:00
Aurora Lahtela f40e1498c1
3268/redesign join address visualization (#3558)
- Join address pie removed
- Join address group mechanism added
  - User can select multiple addresses for each group
  - User can rename each group to their liking
  - The groups are stored in preferences so that user doesn't need to add them back every time
- Use the join address group mechanism for time series of Join Addresses
- Use the join address group mechanism for Player Retention
- Small improvement to retention graph: Show multiple labels
- Small improvement to site clock: Can now hover to show actual date

Affected issues:
- Close #3268
2024-04-07 11:13:18 +03:00
dependabot[bot] b6f68936cf
Bump org.seleniumhq.selenium:selenium-java in /Plan (#3554)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.18.1 to 4.19.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-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-05 14:34:01 +03:00
dependabot[bot] 55799eafa0
Bump vite from 5.2.2 to 5.2.8 in /Plan/react/dashboard (#3548)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.2 to 5.2.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-04-05 14:31:45 +03:00
Aurora Lahtela 8c36f318c7 Prevent duplicate key exception from being thrown entirely
Affects issues:
- Fixed #3543
2024-03-30 10:11:15 +02:00
Aurora Lahtela 49269d3aab Attempt to fix duplicate key issue in UpdateWebPermissionsPatch
Affects issues:
- #3543
2024-03-30 09:48:19 +02:00
dependabot[bot] 95a20b54a3
Bump @testing-library/react in /Plan/react/dashboard (#3528)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.2.1 to 14.2.2.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.2.1...v14.2.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  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>
2024-03-23 13:25:36 +02:00
dependabot[bot] 2b9314a104
Bump sass from 1.71.1 to 1.72.0 in /Plan/react/dashboard (#3520)
Bumps [sass](https://github.com/sass/dart-sass) from 1.71.1 to 1.72.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.71.1...1.72.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2024-03-23 13:25:29 +02:00
dependabot[bot] 5a80c6482b
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3533)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.20 to 2.2.21.

---
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>
2024-03-23 13:09:06 +02:00
dependabot[bot] 92f887b4a0
Bump react-bootstrap from 2.10.1 to 2.10.2 in /Plan/react/dashboard (#3529)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.10.1 to 2.10.2.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.10.1...v2.10.2)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2024-03-23 13:08:53 +02:00
dependabot[bot] 5af89eb787
Bump swaggerVersion from 2.2.20 to 2.2.21 in /Plan (#3532)
Bumps `swaggerVersion` from 2.2.20 to 2.2.21.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.20 to 2.2.21

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.20 to 2.2.21

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2024-03-23 13:07:54 +02:00
dependabot[bot] d5fc213523
Bump vite from 5.1.5 to 5.2.2 in /Plan/react/dashboard (#3531)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.5 to 5.2.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@5.2.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-03-23 13:07:38 +02:00
dependabot[bot] e4a43af3ef
Bump org.apache.commons:commons-compress from 1.26.0 to 1.26.1 in /Plan (#3522)
Bumps org.apache.commons:commons-compress from 1.26.0 to 1.26.1.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2024-03-23 13:06:46 +02:00
dependabot[bot] a543af9562
Bump i18next from 23.10.0 to 23.10.1 in /Plan/react/dashboard (#3518)
Bumps [i18next](https://github.com/i18next/i18next) from 23.10.0 to 23.10.1.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.10.0...v23.10.1)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-03-23 13:06:31 +02:00
dependabot[bot] 9a605994e8
Bump axios from 1.6.7 to 1.6.8 in /Plan/react/dashboard (#3530)
Bumps [axios](https://github.com/axios/axios) from 1.6.7 to 1.6.8.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.7...v1.6.8)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-03-23 13:05:43 +02:00
dependabot[bot] aac41547db
Bump swagger-ui from 5.11.10 to 5.12.0 in /Plan/react/dashboard (#3517)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.11.10 to 5.12.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.10...v5.12.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-03-23 13:04:19 +02:00
Aurora Lahtela 6d9494d680
Add mcmdev as contributor
For this contribution https://github.com/plan-player-analytics/Extension-LibertyBans/pull/9
2024-03-21 21:28:17 +02:00
Aurora Lahtela b800a9b3ee Bump Extension-LibertyBans to 1.1.0-R1.5 2024-03-20 17:13:05 +02:00
jhqwqmc bd8d92b45c
Update locale_CN.yml (#3516) 2024-03-17 20:15:14 +02:00
Aurora Lahtela 4fb67d7ba7 Update French Locale (FR) by Sniper_TVmc 2024-03-14 20:44:50 +02:00
Aurora Lahtela a4cd8257e2 Fix New Query view not opening at all
The Edit Query effect broke when view wasn't present somewhere
2024-03-14 20:43:23 +02:00
Aurora Lahtela 20b8ab9baa Add 'Edit Query' button to Query Results
This allows easier editing of existing query results
2024-03-14 20:17:08 +02:00
AuroraLS3 e021162729 Update versions.txt 5.6 build 2820 2024-03-14 15:16:46 +00:00
Aurora Lahtela 7463d4e440 Fix exception related to CONCAT on SQLite in Extension boolean storage
Affects issues:
- Fixed #3514
2024-03-11 20:52:41 +02:00
Aurora Lahtela 9fa1a94301 Fix join address not appearing in /plan ingame
Affects issues:
- Fixed #3513
2024-03-11 20:30:31 +02:00
jhqwqmc 30532acf46
Update locale_CN.yml (#3512) 2024-03-11 20:18:30 +02:00
AuroraLS3 4617876e44 Update versions.txt 5.6 build 2816 2024-03-10 08:46:34 +00:00
Aurora Lahtela 252832fcf6 Bump Extension-FastLogin to R1.3
Increase wait up to 9 seconds, until not unknown anymore

Affects issues:
- Close #3485
2024-03-10 10:27:13 +02:00
Aurora Lahtela 8116063e62
Whitelist bounce gathering (#3511)
* Store bounced whitelist logins

* Add allowlist bounce endpoint

* Restore locale file indent from master branch

* Add UI for allowlist

* Update locale

* Fix sonar detected bug and implement database tests

Affects issues:
- Close #2233
2024-03-10 10:25:42 +02:00
Aurora Lahtela 24e6af2d03 Bump Extension-Quests to 5.0.1-R1.0
Affects issues:
- Fixed #3347
- Close https://github.com/PikaMug/Quests/issues/2192
2024-03-10 10:22:23 +02:00
Aurora Lahtela 7299e10064 Fix InstalledPluginGatheringTask running on server thread 2024-03-09 21:15:43 +02:00
Aurora Lahtela de9f9ec5b4
Sonar fixes (#3510)
* Remove deprecated code

- RemoveUnsatisfiedConditionalPlayerResultsTransaction.java
- RemoveUnsatisfiedConditionalServerResultsTransaction.java

* Fix apache compress deprecations

- Use org.apache.commons.io.IOUtils instead of org.apache.commons.compress.utils.IOUtils
- Use TarArchiveInputStream#getNextEntry instead of getNextTarEntry

* Rename variable in BukkitPingCounter

* Extract ApiServices from PlanSystem
2024-03-09 14:43:41 +02:00
Aurora Lahtela 670ef2aff3 Fix exception when storing Extension boolean values with MySQL
Query was using reserved keyword 'stored' as a table alias

Changed it to use 'indb' as the alias

Affects issues:
- Fixed #3508
2024-03-09 10:51:53 +02:00
Aurora Lahtela 9c43287f60 Add Join Address to /plan ingame and placeholders
Adds a %plan_player_join_address% placeholder

Affects issues:
- Close #3463
2024-03-09 10:44:33 +02:00
Aurora Lahtela 9ade3fbf01 Skip yarn build steps on Jitpack
Jitpack doesn't have gclib required for Node 20 which means all builds fail there when yarn build is attempted.

This makes yarn tasks conditional dependency with -PisJitpack flag which skips the problematic section

Affects issues:
- Possibly fixed #3411
2024-03-09 10:29:44 +02:00
Aurora Lahtela 3aa8a71501 Bump Extension-FastLogin to R1.2
Wait one second before asking premium status

Affects issues:
- Possibly fixed #3485
2024-03-09 10:21:14 +02:00
dependabot[bot] 9e29b5aa6b
Bump mockitoVersion from 5.10.0 to 5.11.0 in /Plan (#3505)
Bumps `mockitoVersion` from 5.10.0 to 5.11.0.

Updates `org.mockito:mockito-core` from 5.10.0 to 5.11.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.10.0...v5.11.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.10.0 to 5.11.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.10.0...v5.11.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2024-03-09 10:12:03 +02:00
dependabot[bot] 94c13f38e4
Bump export-to-csv from 1.2.3 to 1.2.4 in /Plan/react/dashboard (#3503)
Bumps [export-to-csv](https://github.com/alexcaza/export-to-csv) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/alexcaza/export-to-csv/releases)
- [Commits](https://github.com/alexcaza/export-to-csv/compare/v1.2.3...v1.2.4)

---
updated-dependencies:
- dependency-name: export-to-csv
  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>
2024-03-09 10:11:52 +02:00
dependabot[bot] b244d43635
Bump react-router-dom from 6.22.2 to 6.22.3 in /Plan/react/dashboard (#3500)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.2 to 6.22.3.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.3/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-03-09 10:11:37 +02:00
dependabot[bot] 05a61ec75a
Bump swagger-ui from 5.11.8 to 5.11.10 in /Plan/react/dashboard (#3501)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.11.8 to 5.11.10.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.8...v5.11.10)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-03-09 10:11:30 +02:00
dependabot[bot] 51d31daa81
Bump react-i18next from 14.0.5 to 14.1.0 in /Plan/react/dashboard (#3502)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 14.0.5 to 14.1.0.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v14.0.5...v14.1.0)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2024-03-09 10:11:23 +02:00
dependabot[bot] 0c2b4e1b3e
Bump com.github.seancfoley:ipaddress from 5.4.2 to 5.5.0 in /Plan (#3507)
Bumps [com.github.seancfoley:ipaddress](https://github.com/seancfoley/IPAddress) from 5.4.2 to 5.5.0.
- [Release notes](https://github.com/seancfoley/IPAddress/releases)
- [Commits](https://github.com/seancfoley/IPAddress/compare/v5.4.2...v5.5.0)

---
updated-dependencies:
- dependency-name: com.github.seancfoley:ipaddress
  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>
2024-03-09 10:11:16 +02:00
dependabot[bot] 520adf6ca8
Bump testContainersVersion from 1.19.6 to 1.19.7 in /Plan (#3506)
Bumps `testContainersVersion` from 1.19.6 to 1.19.7.

Updates `org.testcontainers:testcontainers` from 1.19.6 to 1.19.7
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.6...1.19.7)

Updates `org.testcontainers:junit-jupiter` from 1.19.6 to 1.19.7
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.6...1.19.7)

Updates `org.testcontainers:nginx` from 1.19.6 to 1.19.7
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.6...1.19.7)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2024-03-09 10:11:02 +02:00
dependabot[bot] 1a0f0f33a7
Bump vite from 5.1.4 to 5.1.5 in /Plan/react/dashboard (#3504)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.4 to 5.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-03-09 10:10:54 +02:00
Aurora Lahtela 1beb1ec4bd Revert SQLite driver back to 3.42.0.1
Affects issues:
- #3436
2024-03-09 10:10:01 +02:00
Aurora Lahtela 70e3f394ba Change player ping graph data format
HighCharts error 12 was occurring due to too many data points

This commit changes player ping graph data to be served in format expected by turbo-mode so that it renders.

Affects issues:
- Fixed #3498
2024-03-05 20:10:20 +02:00
AuroraLS3 e1b4e34e77 Update versions.txt 5.6 DEV build 2796 2024-03-03 08:39:26 +00:00
dependabot[bot] a9ab23347a
Bump @fullcalendar/react from 6.1.10 to 6.1.11 in /Plan/react/dashboard (#3495)
Bumps [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react) from 6.1.10 to 6.1.11.
- [Release notes](https://github.com/fullcalendar/fullcalendar-react/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar-react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar-react/compare/v6.1.10...v6.1.11)

---
updated-dependencies:
- dependency-name: "@fullcalendar/react"
  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>
2024-03-03 10:21:23 +02:00
dependabot[bot] c764b2cb31
Bump @fullcalendar/daygrid in /Plan/react/dashboard (#3496)
Bumps [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid) from 6.1.10 to 6.1.11.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.11/packages/daygrid)

---
updated-dependencies:
- dependency-name: "@fullcalendar/daygrid"
  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>
2024-03-03 10:21:07 +02:00
dependabot[bot] e10185f344
Bump @fullcalendar/bootstrap in /Plan/react/dashboard (#3491)
Bumps [@fullcalendar/bootstrap](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/bootstrap4) from 6.1.10 to 6.1.11.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.11/packages/bootstrap4)

---
updated-dependencies:
- dependency-name: "@fullcalendar/bootstrap"
  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>
2024-03-03 10:19:47 +02:00
dependabot[bot] bdbd403e3b
Bump daggerVersion from 2.50 to 2.51 in /Plan (#3490)
Bumps `daggerVersion` from 2.50 to 2.51.

Updates `com.google.dagger:dagger` from 2.50 to 2.51
- [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.50...dagger-2.51)

Updates `com.google.dagger:dagger-compiler` from 2.50 to 2.51
- [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.50...dagger-2.51)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2024-03-03 10:19:38 +02:00
dependabot[bot] 2c7813e795
Bump react-router-dom from 6.22.1 to 6.22.2 in /Plan/react/dashboard (#3492)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.1 to 6.22.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-03-03 10:19:08 +02:00
dependabot[bot] 0467c0ddd1
Bump swagger-ui from 5.11.7 to 5.11.8 in /Plan/react/dashboard (#3493)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.11.7 to 5.11.8.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.7...v5.11.8)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-03-03 10:18:57 +02:00
dependabot[bot] e33033808c
Bump @fullcalendar/interaction in /Plan/react/dashboard (#3494)
Bumps [@fullcalendar/interaction](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/interaction) from 6.1.10 to 6.1.11.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.11/packages/interaction)

---
updated-dependencies:
- dependency-name: "@fullcalendar/interaction"
  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>
2024-03-03 10:18:33 +02:00
Aurora Lahtela 5044b6e365 Fix server/network calendar being editable 2024-03-03 10:18:36 +02:00
Aurora Lahtela 12cf9ea414 Fix Today/Yesterday wrong with negative timezones
Applied offset to "now" when comparing with offset timestamps.

Affects issues:
- Possibly fixed #3420
2024-03-03 10:16:02 +02:00
Aurora Lahtela 701866cc6a Don't try to delete conditional providers if there's nothing to delete 2024-03-02 09:14:27 +02:00
Aurora Lahtela 7368eccbbd Optimize unsatisfied extension conditional value cleanup
Extensions support @Conditional value where a boolean provider determines if other values should exist.
Unsatisfied values were being removed during database cleanup task.
The cleanup transaction was very slow and could hang the server if it was performed near shutdown.

The cleanup is now performed on boolean value change (individual value for one player)
instead of with large cleanup transaction (all values and all players).

Affects issues:
- #3436
2024-03-02 08:53:38 +02:00
dependabot[bot] 3ddfe6b166
Bump org.mariadb.jdbc:mariadb-java-client from 3.3.2 to 3.3.3 in /Plan (#3484)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2024-02-28 20:21:44 +02:00
dependabot[bot] 68140ba7f9
Bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0 in /Plan (#3473)
Bumps org.apache.commons:commons-compress from 1.25.0 to 1.26.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2024-02-28 20:21:28 +02:00
dependabot[bot] b03a4be38b
Bump react-router-dom from 6.22.0 to 6.22.1 in /Plan/react/dashboard (#3476)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.0 to 6.22.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@6.22.1/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-02-28 20:21:19 +02:00
dependabot[bot] d4aa1e254d
Bump export-to-csv from 1.2.2 to 1.2.3 in /Plan/react/dashboard (#3480)
Bumps [export-to-csv](https://github.com/alexcaza/export-to-csv) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/alexcaza/export-to-csv/releases)
- [Commits](https://github.com/alexcaza/export-to-csv/compare/v1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: export-to-csv
  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>
2024-02-28 20:21:13 +02:00
dependabot[bot] 7fd7f704bf
Bump i18next from 23.8.2 to 23.10.0 in /Plan/react/dashboard (#3477)
Bumps [i18next](https://github.com/i18next/i18next) from 23.8.2 to 23.10.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.8.2...v23.10.0)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-02-28 20:20:56 +02:00
dependabot[bot] 2cfd0bff2f
Bump testContainersVersion from 1.19.5 to 1.19.6 in /Plan (#3474)
Bumps `testContainersVersion` from 1.19.5 to 1.19.6.

Updates `org.testcontainers:testcontainers` from 1.19.5 to 1.19.6
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.5...1.19.6)

Updates `org.testcontainers:junit-jupiter` from 1.19.5 to 1.19.6
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.5...1.19.6)

Updates `org.testcontainers:nginx` from 1.19.5 to 1.19.6
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.5...1.19.6)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2024-02-28 19:40:22 +02:00
dependabot[bot] f2749a33ff
Bump sass from 1.70.0 to 1.71.1 in /Plan/react/dashboard (#3478)
Bumps [sass](https://github.com/sass/dart-sass) from 1.70.0 to 1.71.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.70.0...1.71.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2024-02-28 19:40:05 +02:00
dependabot[bot] f69a2858ee
Bump org.seleniumhq.selenium:selenium-java in /Plan (#3475)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.17.0 to 4.18.1.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.17.0...selenium-4.18.1)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 19:39:37 +02:00
dependabot[bot] f78dca306c
Bump vite from 5.1.3 to 5.1.4 in /Plan/react/dashboard (#3479)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.3 to 5.1.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-02-28 19:39:12 +02:00
dependabot[bot] 8861e99abc
Bump @fullcalendar/core from 6.1.10 to 6.1.11 in /Plan/react/dashboard (#3481)
Bumps [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core) from 6.1.10 to 6.1.11.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.11/packages/core)

---
updated-dependencies:
- dependency-name: "@fullcalendar/core"
  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>
2024-02-28 19:38:47 +02:00
dependabot[bot] 34013901c7
Bump i18next-http-backend from 2.4.3 to 2.5.0 in /Plan/react/dashboard (#3482)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.4.3 to 2.5.0.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.4.3...v2.5.0)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2024-02-28 19:38:16 +02:00
dependabot[bot] a2147f2fab
Bump bootstrap from 5.3.2 to 5.3.3 in /Plan/react/dashboard (#3483)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.2 to 5.3.3.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.2...v5.3.3)

---
updated-dependencies:
- dependency-name: bootstrap
  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>
2024-02-28 19:38:06 +02:00
Aurora Lahtela 367d8af59a
Update action versions 2024-02-28 17:23:47 +02:00
Aurora Lahtela 6ed23f0c0b Download GeoLite2 Country database from playeranalytics.net
Affects issues:
- Fixed #3452
2024-02-28 11:47:16 +02:00
Aurora Lahtela 4042980379 Fix build issue 2024-02-28 10:10:35 +02:00
Aurora Lahtela 092533d0b7 Change order of guards to allow IP blocklisted requests to be rate-limited 2024-02-28 10:09:21 +02:00
Aurora Lahtela ab94ab9125 Rate limit against simple DDoS
Affects issues:
- Close #1846
- Close #3486
2024-02-28 10:02:26 +02:00
Aurora Lahtela b50fa10e12 Reduce DDoS impact of access log transactions
Made Plan skip access logging if transaction queue is larger than 500 transactions
Reduced amount of objects held by access log transaction by serializing request properties to objects before passing to transaction.

Affects issues:
- #3486
2024-02-27 10:11:45 +02:00
dependabot[bot] a3a2085c8a
Bump vite from 5.0.12 to 5.1.3 in /Plan/react/dashboard (#3465)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.12 to 5.1.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-02-17 10:32:20 +02:00
dependabot[bot] 8170f4f974
Bump react-bootstrap from 2.10.0 to 2.10.1 in /Plan/react/dashboard (#3464)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.10.0 to 2.10.1.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.10.0...v2.10.1)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2024-02-17 10:12:51 +02:00
dependabot[bot] d15cf82e9c
Bump undici from 5.26.3 to 5.28.3 in /Plan/react/dashboard (#3467)
Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.3...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-17 10:12:05 +02:00
dependabot[bot] b1566dfe80
Bump swagger-ui from 5.11.2 to 5.11.7 in /Plan/react/dashboard (#3468)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.11.2 to 5.11.7.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.2...v5.11.7)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-02-17 10:11:56 +02:00
dependabot[bot] 1297ede72d
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3458)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.1...v6.4.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2024-02-17 09:26:02 +02:00
dependabot[bot] f8553009f3
Bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2 in /Plan (#3454)
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.10.1 to 5.10.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.1...r5.10.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  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>
2024-02-17 09:25:38 +02:00
dependabot[bot] 7d3ab667d8
Bump testContainersVersion from 1.19.4 to 1.19.5 in /Plan (#3453)
Bumps `testContainersVersion` from 1.19.4 to 1.19.5.

Updates `org.testcontainers:testcontainers` from 1.19.4 to 1.19.5
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.4...1.19.5)

Updates `org.testcontainers:junit-jupiter` from 1.19.4 to 1.19.5
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.4...1.19.5)

Updates `org.testcontainers:nginx` from 1.19.4 to 1.19.5
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.4...1.19.5)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2024-02-17 09:25:24 +02:00
dependabot[bot] a4e2f0d6f7
Bump react-i18next from 14.0.1 to 14.0.5 in /Plan/react/dashboard (#3459)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 14.0.1 to 14.0.5.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v14.0.1...v14.0.5)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2024-02-17 09:24:13 +02:00
dependabot[bot] e955f80daa
Bump commons-codec:commons-codec from 1.16.0 to 1.16.1 in /Plan (#3457)
Bumps [commons-codec:commons-codec](https://github.com/apache/commons-codec) from 1.16.0 to 1.16.1.
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.16.0...rel/commons-codec-1.16.1)

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  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>
2024-02-17 09:24:00 +02:00
dependabot[bot] aad3073c92
Bump com.github.node-gradle.node from 7.0.1 to 7.0.2 in /Plan (#3456)
Bumps com.github.node-gradle.node from 7.0.1 to 7.0.2.

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-17 09:23:25 +02:00
Aurora Lahtela b867bcebdb Don't save sessions on server shutdown if database already closed
Affects issues:
- #3436
2024-02-17 09:19:38 +02:00
Aurora Lahtela bede36957b Fix ShutdownSaveTest 2024-02-17 09:11:37 +02:00
Aurora Lahtela 2daf3943b7 Make call-site for SQLite JVM wait more accurate
Affects issues:
- #3436
2024-02-17 09:06:45 +02:00
Aurora Lahtela e041e193fc Close transaction queue after connection wait on SQLite
Affects issues:
- #3436
2024-02-11 15:47:39 +02:00
Aurora Lahtela bf3bdb599d Log connection waiting sites without dev mode 2024-02-04 10:05:48 +02:00
dependabot[bot] 8ced48d815
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3444)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.3.0 to 6.4.1.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.3.0...v6.4.1)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2024-02-03 14:49:19 +02:00
dependabot[bot] 45833d5fc7
Bump com.github.seancfoley:ipaddress from 5.4.0 to 5.4.2 in /Plan (#3451)
Bumps [com.github.seancfoley:ipaddress](https://github.com/seancfoley/IPAddress) from 5.4.0 to 5.4.2.
- [Release notes](https://github.com/seancfoley/IPAddress/releases)
- [Commits](https://github.com/seancfoley/IPAddress/compare/v5.4.0...v5.4.2)

---
updated-dependencies:
- dependency-name: com.github.seancfoley:ipaddress
  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>
2024-02-03 14:49:10 +02:00
dependabot[bot] ad8256cf04
Bump swagger-ui from 5.11.0 to 5.11.2 in /Plan/react/dashboard (#3443)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.11.0 to 5.11.2.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.0...v5.11.2)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-02-03 13:53:58 +02:00
dependabot[bot] 0ccafd9050
Bump react-router-dom from 6.21.3 to 6.22.0 in /Plan/react/dashboard (#3447)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.21.3 to 6.22.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-02-03 13:53:21 +02:00
dependabot[bot] 60f2aa6c42
Bump i18next-http-backend from 2.4.2 to 2.4.3 in /Plan/react/dashboard (#3446)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.4.2 to 2.4.3.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.4.2...v2.4.3)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2024-02-03 13:53:06 +02:00
dependabot[bot] 468bd32111
Bump i18next from 23.7.19 to 23.8.2 in /Plan/react/dashboard (#3442)
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.19 to 23.8.2.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.7.19...v23.8.2)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-02-03 13:52:45 +02:00
dependabot[bot] ed543e460e
Bump @testing-library/react in /Plan/react/dashboard (#3445)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.1.2 to 14.2.1.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.1.2...v14.2.1)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  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>
2024-02-03 13:52:35 +02:00
dependabot[bot] cac627a2f7
Bump jettyVersion from 11.0.19 to 11.0.20 in /Plan (#3450)
Bumps `jettyVersion` from 11.0.19 to 11.0.20.

Updates `org.eclipse.jetty:jetty-server` from 11.0.19 to 11.0.20

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.19 to 11.0.20

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.19 to 11.0.20

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2024-02-03 13:52:07 +02:00
dependabot[bot] a0a430507e
Bump org.xerial:sqlite-jdbc from 3.45.0.0 to 3.45.1.0 in /Plan (#3448)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.45.0.0 to 3.45.1.0.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.45.0.0...3.45.1.0)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2024-02-03 13:51:55 +02:00
Aurora Lahtela 5ddbd52d37 Log connection holding call sites in dev-mode 2024-02-03 10:17:31 +02:00
Aurora Lahtela 4615c6b6b0 Optimize unsatisfied condition removal for players with user_id join
The query was joining based on UUID which can be slow since it's a string.
2024-02-03 09:13:00 +02:00
Aurora Lahtela 47d74eee8c Add slf4j-nop:1.7.36 to SQLite driver dependencies
SQLite driver 3.43.2.1 downgraded to slf4j 1.7

Adding the nop library to be loaded by the dependency downloader
will stop the error message since slf4j-nop 1.7 is loaded.

Affects issues:
- Fixed #3435
2024-01-28 12:34:37 +02:00
甜力怕 bda96726f8
Update locale_CN.yml by liuzhen932 (#3437) 2024-01-28 09:05:07 +02:00
Aurora Lahtela 2b93919b5e Use better loader for PlayerTable 2024-01-27 21:04:16 +02:00
Aurora Lahtela a8decff8e8 Make Ping Table use DataTablesTable
Also fixed issue where server ping table never loaded
2024-01-27 21:02:04 +02:00
Aurora Lahtela 67c487b820 Fix Best and Worst ping formatting on player table 2024-01-27 14:21:34 +02:00
Aurora Lahtela ff7e7791f3 Refactor PlayerListCard to also have PlayerTable 2024-01-27 14:13:08 +02:00
Aurora Lahtela 3ad5d577d4 Make Query view affect ping data retrieved
All ping data was being used to create average.

This allows comparing ping over time
2024-01-27 14:01:14 +02:00
Aurora Lahtela 7494902e46 Add regular_players and network_regular_players placeholders
Affects issues:
- Close #3425
2024-01-27 13:38:06 +02:00
Aurora Lahtela 01ce503c77 Add network session placeholders
Affects issues:
- Close #2267
2024-01-27 13:35:03 +02:00
AuroraLS3 465af8e803 Update versions.txt 2024-01-27 08:08:01 +00:00
dependabot[bot] 512defb3f8
Bump org.seleniumhq.selenium:selenium-java from 4.12.1 to 4.17.0 in /Plan (#3434)
* Bump org.seleniumhq.selenium:selenium-java in /Plan

Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.12.1 to 4.17.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.17.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>

* Use new headless setup method

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2024-01-27 09:49:50 +02:00
dependabot[bot] 89355d4975
Bump testContainersVersion from 1.19.3 to 1.19.4 in /Plan (#3431)
Bumps `testContainersVersion` from 1.19.3 to 1.19.4.

Updates `org.testcontainers:testcontainers` from 1.19.3 to 1.19.4
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.3...1.19.4)

Updates `org.testcontainers:junit-jupiter` from 1.19.3 to 1.19.4
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.3...1.19.4)

Updates `org.testcontainers:nginx` from 1.19.3 to 1.19.4
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.3...1.19.4)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2024-01-27 09:26:00 +02:00
dependabot[bot] 4a6987710f
Bump org.xerial:sqlite-jdbc from 3.42.0.1 to 3.45.0.0 in /Plan (#3430)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.42.0.1 to 3.45.0.0.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.42.0.1...3.45.0.0)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2024-01-27 09:25:52 +02:00
dependabot[bot] 79ba13b6fc
Bump react-i18next from 14.0.0 to 14.0.1 in /Plan/react/dashboard (#3427)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 14.0.0 to 14.0.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v14.0.0...v14.0.1)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2024-01-27 09:14:23 +02:00
dependabot[bot] 7bbc18934a
Bump i18next from 23.7.16 to 23.7.19 in /Plan/react/dashboard (#3428)
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.16 to 23.7.19.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.7.16...v23.7.19)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-01-27 09:14:09 +02:00
dependabot[bot] 66844d4c56
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3429)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2024-01-27 09:13:47 +02:00
dependabot[bot] d68bf9fca9
Bump axios from 1.6.5 to 1.6.7 in /Plan/react/dashboard (#3426)
Bumps [axios](https://github.com/axios/axios) from 1.6.5 to 1.6.7.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.5...v1.6.7)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-01-27 09:13:22 +02:00
dependabot[bot] 6584ca0cb7
Bump mockitoVersion from 5.9.0 to 5.10.0 in /Plan (#3433)
Bumps `mockitoVersion` from 5.9.0 to 5.10.0.

Updates `org.mockito:mockito-core` from 5.9.0 to 5.10.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.9.0...v5.10.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.9.0 to 5.10.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.9.0...v5.10.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2024-01-27 09:12:53 +02:00
Aurora Lahtela 8356a0d52e Test and fix top_ placeholders
Affects issues:
- Fixed #3369
2024-01-21 20:08:46 +02:00
Aurora Lahtela c8d0cc91b6 Fixed react bundle getting exported when export is disabled
Caused by missing checks before react export.

Affects issues:
- #3384
2024-01-21 19:33:24 +02:00
Aurora Lahtela ae85f39871 Stop JSON cache mismatch when UUID is missing
The check for {identifier}- meant that lookup for "PLAYERS_ONLINE-"
would also match "PLAYERS_ONLINE-{uuid}-" since start is the same

Fixed this by changing identifiers to PLAYERS_ONLINE_{uuid}-{timestamp}

Affects issues:
- Fixed #3404
2024-01-21 19:21:41 +02:00
Aurora Lahtela 1fdd3289a6 Move fabric command registration earlier
This prevents situation where Plan disables due to an error but reload command is not available

Affects issues:
- Fixed #3392
2024-01-21 13:44:47 +02:00
Aurora Lahtela 9e08794ddd Update locale files 2024-01-21 10:04:17 +02:00
Aurora Lahtela 34a731b70a Add CSV export to all DataTables
Affects issues:
- Close #3413
2024-01-21 10:02:39 +02:00
Aurora Lahtela 673cb4cfdb Remove console log 2024-01-20 11:34:39 +02:00
Aurora Lahtela 8e94d26ff3 Format Server/Network Overview values in the frontend 2024-01-20 11:34:20 +02:00
dependabot[bot] f9d2b0767f
Bump react-router-dom from 6.21.2 to 6.21.3 in /Plan/react/dashboard (#3414)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.21.2 to 6.21.3.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.21.3/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-01-20 09:12:49 +02:00
dependabot[bot] 7dfb933295
Bump sass from 1.69.7 to 1.70.0 in /Plan/react/dashboard (#3415)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.7 to 1.70.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.7...1.70.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2024-01-20 09:12:33 +02:00
dependabot[bot] 8e0b2d2734
Bump react-bootstrap from 2.9.2 to 2.10.0 in /Plan/react/dashboard (#3416)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.9.2 to 2.10.0.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.9.2...v2.10.0)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2024-01-20 09:12:14 +02:00
dependabot[bot] 3717eacad1
Bump mockitoVersion from 5.8.0 to 5.9.0 in /Plan (#3417)
Bumps `mockitoVersion` from 5.8.0 to 5.9.0.

Updates `org.mockito:mockito-core` from 5.8.0 to 5.9.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.8.0...v5.9.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.8.0 to 5.9.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.8.0...v5.9.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2024-01-20 09:11:57 +02:00
dependabot[bot] 6f179a133b
Bump com.mysql:mysql-connector-j from 8.2.0 to 8.3.0 in /Plan (#3418)
Bumps [com.mysql:mysql-connector-j](https://github.com/mysql/mysql-connector-j) from 8.2.0 to 8.3.0.
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.x/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.2.0...8.3.0)

---
updated-dependencies:
- dependency-name: com.mysql:mysql-connector-j
  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>
2024-01-20 09:11:47 +02:00
dependabot[bot] 0ec5552d90
Bump vite from 5.0.11 to 5.0.12 in /Plan/react/dashboard (#3419)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 09:11:11 +02:00
dependabot[bot] 2a387bd0dd
Bump swagger-ui from 5.10.5 to 5.11.0 in /Plan/react/dashboard (#3409)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.10.5 to 5.11.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.10.5...v5.11.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-01-17 11:36:29 +02:00
dependabot[bot] 26b69e604c
Bump react-router-dom from 6.21.1 to 6.21.2 in /Plan/react/dashboard (#3407)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.21.1 to 6.21.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.21.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-01-17 11:36:06 +02:00
dependabot[bot] 3e41c4dccf
Bump slf4jVersion from 2.0.10 to 2.0.11 in /Plan (#3405)
Bumps `slf4jVersion` from 2.0.10 to 2.0.11.

Updates `org.slf4j:slf4j-nop` from 2.0.10 to 2.0.11

Updates `org.slf4j:slf4j-api` from 2.0.10 to 2.0.11

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-nop
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-api
  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>
2024-01-17 11:35:12 +02:00
dependabot[bot] ae98bcfd69
Bump axios from 1.6.4 to 1.6.5 in /Plan/react/dashboard (#3406)
Bumps [axios](https://github.com/axios/axios) from 1.6.4 to 1.6.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.4...v1.6.5)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-01-17 11:35:04 +02:00
dependabot[bot] 05f07da915
Bump vite from 5.0.10 to 5.0.11 in /Plan/react/dashboard (#3408)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-01-17 11:34:51 +02:00
AuroraLS3 d4ab5a53f8 Update versions.txt 5.6 DEV build 2703 2024-01-07 10:10:44 +00:00
dependabot[bot] 29ed71f81c
Bump @fullcalendar/react from 6.1.9 to 6.1.10 in /Plan/react/dashboard (#3361)
Bumps [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react) from 6.1.9 to 6.1.10.
- [Release notes](https://github.com/fullcalendar/fullcalendar-react/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar-react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar-react/compare/v6.1.9...v6.1.10)

---
updated-dependencies:
- dependency-name: "@fullcalendar/react"
  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>
2024-01-07 11:51:43 +02:00
Aurora Lahtela 28f3f356cc Use getGameProfile().getName() for player name on Fabric 2024-01-07 11:44:53 +02:00
Jeroen Bollen fa1ec4f4f6
Fabric 1.20.4 (#3366) 2024-01-07 11:39:06 +02:00
dependabot[bot] 23d2cc046e
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3396)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.6 to 6.2.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.6...v6.2.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2024-01-07 11:38:31 +02:00
dependabot[bot] 5602706cfa
Bump @testing-library/user-event in /Plan/react/dashboard (#3397)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.5.1 to 14.5.2.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.5.1...v14.5.2)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  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>
2024-01-07 11:38:23 +02:00
dependabot[bot] 9dc4bbdb64
Bump sass from 1.69.6 to 1.69.7 in /Plan/react/dashboard (#3398)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.6 to 1.69.7.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.6...1.69.7)

---
updated-dependencies:
- dependency-name: sass
  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>
2024-01-07 11:38:16 +02:00
Aurora Lahtela feb8118002 Bump Extension-DiscordSRV to 1.27.0-R1.4
Affects issues:
- Fixed #3399
2024-01-06 18:01:51 +02:00
Aurora Lahtela bc4aef8b2b Add some missing javadocs to not generate warnings 2024-01-06 18:01:50 +02:00
dependabot[bot] 6fa2d0ab87
Bump @vitejs/plugin-react from 4.2.0 to 4.2.1 in /Plan/react/dashboard (#3356)
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.2.1/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  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>
2024-01-04 17:01:18 +02:00
dependabot[bot] c638600d0a
Bump swagger-ui from 5.10.3 to 5.10.5 in /Plan/react/dashboard (#3360)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.10.3 to 5.10.5.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.10.3...v5.10.5)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2024-01-04 17:01:12 +02:00
dependabot[bot] 3d95541f8e
Bump axios from 1.6.3 to 1.6.4 in /Plan/react/dashboard (#3394)
Bumps [axios](https://github.com/axios/axios) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.3...v1.6.4)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-01-04 17:00:57 +02:00
dependabot[bot] 38e9909b23
Bump i18next from 23.7.12 to 23.7.16 in /Plan/react/dashboard (#3393)
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.12 to 23.7.16.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.7.12...v23.7.16)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-01-04 17:00:47 +02:00
dependabot[bot] 3e5dbd4ca3
Bump react-router-dom from 6.20.1 to 6.21.1 in /Plan/react/dashboard (#3382)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.20.1 to 6.21.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.21.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2024-01-04 17:00:35 +02:00
dependabot[bot] 9e8d93820a
Bump @fullcalendar/interaction in /Plan/react/dashboard (#3362)
Bumps [@fullcalendar/interaction](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/interaction) from 6.1.9 to 6.1.10.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.10/packages/interaction)

---
updated-dependencies:
- dependency-name: "@fullcalendar/interaction"
  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>
2024-01-04 16:59:59 +02:00
dependabot[bot] 775347574f
Bump org.mariadb.jdbc:mariadb-java-client from 3.3.1 to 3.3.2 in /Plan (#3379)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2024-01-04 16:05:34 +02:00
dependabot[bot] fec0471edd
Bump @fullcalendar/bootstrap in /Plan/react/dashboard (#3357)
Bumps [@fullcalendar/bootstrap](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/bootstrap4) from 6.1.9 to 6.1.10.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.10/packages/bootstrap4)

---
updated-dependencies:
- dependency-name: "@fullcalendar/bootstrap"
  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>
2024-01-04 16:04:56 +02:00
dependabot[bot] e6c97c0d81
Bump jettyVersion from 11.0.18 to 11.0.19 in /Plan (#3375)
Bumps `jettyVersion` from 11.0.18 to 11.0.19.

Updates `org.eclipse.jetty:jetty-server` from 11.0.18 to 11.0.19
- [Release notes](https://github.com/jetty/jetty.project/releases)
- [Commits](https://github.com/jetty/jetty.project/compare/jetty-11.0.18...jetty-11.0.19)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.18 to 11.0.19

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.18 to 11.0.19

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2024-01-04 16:04:40 +02:00
dependabot[bot] f50b915a23
Bump @fullcalendar/daygrid from 6.1.9 to 6.1.10 in /Plan/react/dashboard (#3363)
Bumps [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid) from 6.1.9 to 6.1.10.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.10/packages/daygrid)

---
updated-dependencies:
- dependency-name: "@fullcalendar/daygrid"
  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>
2024-01-04 16:03:34 +02:00
dependabot[bot] d204b5cf75
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3376)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.19 to 2.2.20.

---
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>
2024-01-04 16:03:04 +02:00
dependabot[bot] 9ece2ea4a5
Bump swaggerVersion from 2.2.19 to 2.2.20 in /Plan (#3377)
Bumps `swaggerVersion` from 2.2.19 to 2.2.20.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.19 to 2.2.20

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.19 to 2.2.20

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2024-01-04 16:02:53 +02:00
dependabot[bot] 82894e05ba
Bump daggerVersion from 2.49 to 2.50 in /Plan (#3378)
Bumps `daggerVersion` from 2.49 to 2.50.

Updates `com.google.dagger:dagger` from 2.49 to 2.50
- [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.49...dagger-2.50)

Updates `com.google.dagger:dagger-compiler` from 2.49 to 2.50
- [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.49...dagger-2.50)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2024-01-04 16:02:42 +02:00
dependabot[bot] e771db2f3a
Bump vite from 5.0.5 to 5.0.10 in /Plan/react/dashboard (#3380)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.5 to 5.0.10.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.10/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  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>
2024-01-04 16:02:03 +02:00
dependabot[bot] 3ee3335ccf
Bump react-i18next from 13.5.0 to 14.0.0 in /Plan/react/dashboard (#3381)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.5.0 to 14.0.0.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.5.0...v14.0.0)

---
updated-dependencies:
- dependency-name: react-i18next
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 16:01:47 +02:00
dependabot[bot] 4564b04fec
Bump slf4jVersion from 2.0.9 to 2.0.10 in /Plan (#3385)
Bumps `slf4jVersion` from 2.0.9 to 2.0.10.

Updates `org.slf4j:slf4j-nop` from 2.0.9 to 2.0.10

Updates `org.slf4j:slf4j-api` from 2.0.9 to 2.0.10

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-nop
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-api
  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>
2024-01-04 16:01:31 +02:00
dependabot[bot] 2b57902111
Bump i18next from 23.7.8 to 23.7.12 in /Plan/react/dashboard (#3386)
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.8 to 23.7.12.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.7.8...v23.7.12)

---
updated-dependencies:
- dependency-name: i18next
  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>
2024-01-04 16:01:11 +02:00
dependabot[bot] cad820b925
Bump axios from 1.6.2 to 1.6.3 in /Plan/react/dashboard (#3387)
Bumps [axios](https://github.com/axios/axios) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.2...v1.6.3)

---
updated-dependencies:
- dependency-name: axios
  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>
2024-01-04 16:01:00 +02:00
dependabot[bot] edbbf682f0
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3388)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.5 to 6.1.6.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.5...v6.1.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2024-01-04 16:00:49 +02:00
dependabot[bot] cddb06b6db
Bump react-bootstrap from 2.9.1 to 2.9.2 in /Plan/react/dashboard (#3389)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.9.1...v2.9.2)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2024-01-04 16:00:40 +02:00
dependabot[bot] 9e6ed14498
Bump sass from 1.69.5 to 1.69.6 in /Plan/react/dashboard (#3390)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.5 to 1.69.6.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.5...1.69.6)

---
updated-dependencies:
- dependency-name: sass
  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>
2024-01-04 16:00:20 +02:00
dependabot[bot] f25886250c
Bump moment from 2.29.4 to 2.30.1 in /Plan/react/dashboard (#3391)
Bumps [moment](https://github.com/moment/moment) from 2.29.4 to 2.30.1.
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.4...2.30.1)

---
updated-dependencies:
- dependency-name: moment
  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>
2024-01-04 16:00:04 +02:00
dependabot[bot] 122e35b9c3
Bump vite from 5.0.0 to 5.0.5 in /Plan/react/dashboard (#3355)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.0 to 5.0.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-10 10:39:01 +02:00
Aurora Lahtela bc424f062f
3236/vite migration (#3354)
* Migrate to Vite
* Remove asset-manifest.json which vite doesn't generate
* Fix tree-shaking removing Export URL if-blocks from services
* Implement address correction for the vite bundle
* Fixed issue with single proxy online graph 403 without page.server.overview.players.online.graph

Affects issues:
- Close #3236
2023-12-10 09:29:01 +02:00
dependabot[bot] 05cf96de0e
Bump org.mariadb.jdbc:mariadb-java-client from 3.3.0 to 3.3.1 in /Plan (#3332)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.3.0...3.3.1)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2023-12-09 09:35:21 +02:00
dependabot[bot] c2849e4ad8
Bump @fortawesome/free-brands-svg-icons in /Plan/react/dashboard (#3337)
Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.2 to 6.5.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.2...6.5.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-brands-svg-icons"
  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>
2023-12-09 09:35:05 +02:00
dependabot[bot] 633d29a8c2
Bump @fortawesome/free-solid-svg-icons in /Plan/react/dashboard (#3336)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.2 to 6.5.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.2...6.5.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  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>
2023-12-09 09:34:58 +02:00
dependabot[bot] 22705289b2
Bump @fortawesome/fontawesome-free in /Plan/react/dashboard (#3335)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.4.2 to 6.5.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.2...6.5.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  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>
2023-12-09 09:34:49 +02:00
dependabot[bot] 2d5bb874f1
Bump react-router-dom from 6.20.0 to 6.20.1 in /Plan/react/dashboard (#3352)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.20.0 to 6.20.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.20.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-12-09 09:12:23 +02:00
dependabot[bot] 9e829ef649
Bump @fortawesome/fontawesome-svg-core in /Plan/react/dashboard (#3334)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.4.2 to 6.5.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.2...6.5.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  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>
2023-12-09 09:11:32 +02:00
dependabot[bot] 087c22235c
Bump @fortawesome/free-regular-svg-icons in /Plan/react/dashboard (#3338)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.2 to 6.5.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.2...6.5.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-regular-svg-icons"
  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>
2023-12-09 09:11:11 +02:00
dependabot[bot] 09a61d39e3
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3340)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.4 to 6.1.5.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.4...v6.1.5)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2023-12-09 09:11:02 +02:00
dependabot[bot] e7b421bed2
Bump @fullcalendar/core from 6.1.9 to 6.1.10 in /Plan/react/dashboard (#3339)
Bumps [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core) from 6.1.9 to 6.1.10.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.10/packages/core)

---
updated-dependencies:
- dependency-name: "@fullcalendar/core"
  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>
2023-12-09 09:10:51 +02:00
dependabot[bot] 157b4bed9d
Bump @adobe/css-tools from 4.3.1 to 4.3.2 in /Plan/react/dashboard (#3342)
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-09 09:10:38 +02:00
dependabot[bot] 584ac9880e
Bump mockitoVersion from 5.7.0 to 5.8.0 in /Plan (#3348)
Bumps `mockitoVersion` from 5.7.0 to 5.8.0.

Updates `org.mockito:mockito-core` from 5.7.0 to 5.8.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.7.0...v5.8.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.7.0 to 5.8.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.7.0...v5.8.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-12-09 09:10:26 +02:00
dependabot[bot] 1731c28022
Bump daggerVersion from 2.48.1 to 2.49 in /Plan (#3349)
Bumps `daggerVersion` from 2.48.1 to 2.49.

Updates `com.google.dagger:dagger` from 2.48.1 to 2.49
- [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.48.1...dagger-2.49)

Updates `com.google.dagger:dagger-compiler` from 2.48.1 to 2.49
- [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.48.1...dagger-2.49)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-12-09 09:10:08 +02:00
dependabot[bot] c3a1b215ab
Bump com.maxmind.geoip2:geoip2 from 4.1.0 to 4.2.0 in /Plan (#3351)
Bumps [com.maxmind.geoip2:geoip2](https://github.com/maxmind/GeoIP2-java) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/maxmind/GeoIP2-java/releases)
- [Changelog](https://github.com/maxmind/GeoIP2-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maxmind/GeoIP2-java/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: com.maxmind.geoip2:geoip2
  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>
2023-12-09 09:09:06 +02:00
dependabot[bot] 3374250493
Bump i18next from 23.7.6 to 23.7.8 in /Plan/react/dashboard (#3353)
Bumps [i18next](https://github.com/i18next/i18next) from 23.7.6 to 23.7.8.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.7.6...v23.7.8)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-12-09 09:08:30 +02:00
jhqwqmc 26854c37cc
Update locale_CN.yml (#3345) 2023-12-06 11:42:06 +02:00
dependabot[bot] bf46b1123c
Bump testContainersVersion from 1.19.2 to 1.19.3 in /Plan (#3322)
Bumps `testContainersVersion` from 1.19.2 to 1.19.3.

Updates `org.testcontainers:testcontainers` from 1.19.2 to 1.19.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.2...1.19.3)

Updates `org.testcontainers:junit-jupiter` from 1.19.2 to 1.19.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.2...1.19.3)

Updates `org.testcontainers:nginx` from 1.19.2 to 1.19.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.2...1.19.3)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2023-11-25 13:56:48 +02:00
dependabot[bot] 4627337bb5
Bump i18next-http-backend from 2.4.1 to 2.4.2 in /Plan/react/dashboard (#3323)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.4.1 to 2.4.2.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.4.1...v2.4.2)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-11-25 13:56:35 +02:00
dependabot[bot] 5074fba1a4
Bump react-router-dom from 6.19.0 to 6.20.0 in /Plan/react/dashboard (#3324)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.19.0 to 6.20.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.20.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-11-25 13:56:27 +02:00
dependabot[bot] 6e7f64610a
Bump swagger-ui from 5.10.0 to 5.10.3 in /Plan/react/dashboard (#3325)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.10.0 to 5.10.3.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.10.0...v5.10.3)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-11-25 13:56:13 +02:00
dependabot[bot] 15c5ea32d4
Bump @testing-library/react in /Plan/react/dashboard (#3326)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.1.0 to 14.1.2.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.1.0...v14.1.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  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>
2023-11-25 13:56:06 +02:00
dependabot[bot] d45c04c502
Bump i18next-chained-backend in /Plan/react/dashboard (#3316)
Bumps [i18next-chained-backend](https://github.com/i18next/i18next-chained-backend) from 4.5.0 to 4.6.2.
- [Changelog](https://github.com/i18next/i18next-chained-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-chained-backend/compare/v4.5.0...v4.6.2)

---
updated-dependencies:
- dependency-name: i18next-chained-backend
  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>
2023-11-18 14:18:26 +02:00
dependabot[bot] 3146a19e30
Bump testContainersVersion from 1.19.1 to 1.19.2 in /Plan (#3317)
Bumps `testContainersVersion` from 1.19.1 to 1.19.2.

Updates `org.testcontainers:testcontainers` from 1.19.1 to 1.19.2
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.2)

Updates `org.testcontainers:junit-jupiter` from 1.19.1 to 1.19.2
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.2)

Updates `org.testcontainers:nginx` from 1.19.1 to 1.19.2
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.1...1.19.2)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2023-11-18 14:18:12 +02:00
dependabot[bot] e15b9b9ceb
Bump i18next from 23.6.0 to 23.7.6 in /Plan/react/dashboard (#3310)
Bumps [i18next](https://github.com/i18next/i18next) from 23.6.0 to 23.7.6.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.6.0...v23.7.6)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-11-18 14:07:13 +02:00
dependabot[bot] e6aec3d6e0
Bump i18next-http-backend from 2.3.1 to 2.4.1 in /Plan/react/dashboard (#3311)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.3.1 to 2.4.1.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.3.1...v2.4.1)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-11-18 14:07:04 +02:00
dependabot[bot] 66af4723cc
Bump axios from 1.6.1 to 1.6.2 in /Plan/react/dashboard (#3312)
Bumps [axios](https://github.com/axios/axios) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-11-18 14:06:54 +02:00
dependabot[bot] 0ab3988541
Bump react-i18next from 13.3.1 to 13.5.0 in /Plan/react/dashboard (#3314)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.3.1 to 13.5.0.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.3.1...v13.5.0)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-11-18 14:06:24 +02:00
dependabot[bot] a9226b3c1b
Bump swagger-ui from 5.9.3 to 5.10.0 in /Plan/react/dashboard (#3313)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.9.3 to 5.10.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.9.3...v5.10.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-11-18 14:06:13 +02:00
dependabot[bot] ef6262f7ac
Bump react-router-dom from 6.18.0 to 6.19.0 in /Plan/react/dashboard (#3315)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.18.0 to 6.19.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.19.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-11-18 14:05:59 +02:00
dependabot[bot] c5408ffa71
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3318)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.18 to 2.2.19.

---
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>
2023-11-18 14:05:06 +02:00
dependabot[bot] bbdb88ea65
Bump swaggerVersion from 2.2.18 to 2.2.19 in /Plan (#3319)
Bumps `swaggerVersion` from 2.2.18 to 2.2.19.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.18 to 2.2.19

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.18 to 2.2.19

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-11-18 14:04:58 +02:00
dependabot[bot] 08e57c0264
Bump org.apache.commons:commons-compress from 1.24.0 to 1.25.0 in /Plan (#3320)
Bumps org.apache.commons:commons-compress from 1.24.0 to 1.25.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2023-11-18 14:04:51 +02:00
dependabot[bot] de31166248
Bump swagger-ui from 5.9.1 to 5.9.3 in /Plan/react/dashboard (#3302)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.9.1 to 5.9.3.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.9.1...v5.9.3)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-11-15 16:27:44 +02:00
dependabot[bot] e7eff36a9c
Bump @testing-library/react in /Plan/react/dashboard (#3303)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.0.0 to 14.1.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.0.0...v14.1.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  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>
2023-11-15 16:27:24 +02:00
dependabot[bot] 8e2e86e4a7
Bump axios from 1.6.0 to 1.6.1 in /Plan/react/dashboard (#3304)
Bumps [axios](https://github.com/axios/axios) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-11-15 16:27:13 +02:00
dependabot[bot] 969e33bd10
Bump org.mariadb.jdbc:mariadb-java-client from 3.2.0 to 3.3.0 in /Plan (#3305)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.2.0...3.3.0)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2023-11-15 16:26:54 +02:00
dependabot[bot] 3b2a75bc46
Bump org.junit.jupiter:junit-jupiter from 5.10.0 to 5.10.1 in /Plan (#3306)
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  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>
2023-11-15 16:26:34 +02:00
dependabot[bot] 8b5e628aa7
Bump com.zaxxer:HikariCP from 5.0.1 to 5.1.0 in /Plan (#3307)
Bumps [com.zaxxer:HikariCP](https://github.com/brettwooldridge/HikariCP) from 5.0.1 to 5.1.0.
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-5.0.1...HikariCP-5.1.0)

---
updated-dependencies:
- dependency-name: com.zaxxer:HikariCP
  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>
2023-11-15 16:26:14 +02:00
dependabot[bot] c44e7ed540
Bump mockitoVersion from 5.6.0 to 5.7.0 in /Plan (#3296)
Bumps `mockitoVersion` from 5.6.0 to 5.7.0.

Updates `org.mockito:mockito-core` from 5.6.0 to 5.7.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.6.0...v5.7.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.6.0 to 5.7.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.6.0...v5.7.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-11-07 15:24:49 +02:00
dependabot[bot] 40f693163a
Bump me.clip:placeholderapi from 2.11.4 to 2.11.5 in /Plan (#3300)
Bumps me.clip:placeholderapi from 2.11.4 to 2.11.5.

---
updated-dependencies:
- dependency-name: me.clip:placeholderapi
  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>
2023-11-07 15:24:27 +02:00
dependabot[bot] ce51e28945
Bump react-router-dom from 6.17.0 to 6.18.0 in /Plan/react/dashboard (#3295)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.18.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-11-07 15:24:17 +02:00
dependabot[bot] 9ed1def1c6
Bump org.apache.commons:commons-text from 1.10.0 to 1.11.0 in /Plan (#3301)
Bumps org.apache.commons:commons-text from 1.10.0 to 1.11.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  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>
2023-11-07 15:23:50 +02:00
dependabot[bot] 2e92abdbdd
Bump jettyVersion from 11.0.17 to 11.0.18 in /Plan (#3299)
Bumps `jettyVersion` from 11.0.17 to 11.0.18.

Updates `org.eclipse.jetty:jetty-server` from 11.0.17 to 11.0.18
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.17...jetty-11.0.18)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.17 to 11.0.18

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.17 to 11.0.18

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2023-11-07 15:23:38 +02:00
dependabot[bot] 5e43ea4ad8
Bump i18next-http-backend from 2.2.2 to 2.3.1 in /Plan/react/dashboard (#3293)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.2.2 to 2.3.1.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.2.2...v2.3.1)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-10-29 15:47:35 +02:00
dependabot[bot] 0c12e83253
Bump react-router-dom from 6.16.0 to 6.17.0 in /Plan/react/dashboard (#3273)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.16.0 to 6.17.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.17.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-10-29 15:46:35 +02:00
dependabot[bot] b1d84bd1bb
Bump com.mysql:mysql-connector-j from 8.1.0 to 8.2.0 in /Plan (#3283)
Bumps [com.mysql:mysql-connector-j](https://github.com/mysql/mysql-connector-j) from 8.1.0 to 8.2.0.
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.x/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.1.0...8.2.0)

---
updated-dependencies:
- dependency-name: com.mysql:mysql-connector-j
  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>
2023-10-29 14:28:01 +02:00
dependabot[bot] 6a92bacfa3
Bump swaggerVersion from 2.2.17 to 2.2.18 in /Plan (#3284)
Bumps `swaggerVersion` from 2.2.17 to 2.2.18.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.17 to 2.2.18

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.17 to 2.2.18

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-10-29 14:27:12 +02:00
dependabot[bot] 7ab8975b56
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3285)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.17 to 2.2.18.

---
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>
2023-10-29 14:27:06 +02:00
dependabot[bot] 605f031227
Bump i18next-http-backend from 2.2.2 to 2.3.0 in /Plan/react/dashboard (#3286)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.2.2 to 2.3.0.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.2.2...v2.3.0)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-10-29 14:27:00 +02:00
dependabot[bot] a2623a0e4e
Bump swagger-ui from 5.9.0 to 5.9.1 in /Plan/react/dashboard (#3287)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.9.0 to 5.9.1.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.9.0...v5.9.1)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-10-29 14:26:52 +02:00
dependabot[bot] 069965f730
Bump axios from 1.5.1 to 1.6.0 in /Plan/react/dashboard (#3288)
Bumps [axios](https://github.com/axios/axios) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-10-29 14:26:45 +02:00
dependabot[bot] bc3015dc3a
Bump react-bootstrap from 2.9.0 to 2.9.1 in /Plan/react/dashboard (#3289)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.9.0 to 2.9.1.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.9.0...v2.9.1)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-10-29 14:26:32 +02:00
dependabot[bot] 1d16491d57
Bump sass from 1.69.4 to 1.69.5 in /Plan/react/dashboard (#3290)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.4 to 1.69.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.4...1.69.5)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-10-29 14:26:20 +02:00
jhqwqmc db8d4c5700
Update locale_CN.yml (#3282)
修正翻译
2023-10-26 13:57:15 +03:00
jhqwqmc cb52a50695
Update locale_CN.yml (#3278) 2023-10-22 09:03:31 +03:00
Aurora Lahtela f1b2d1ec3c
Move some test preparation steps after jar build step 2023-10-21 19:31:15 +03:00
Aurora Lahtela 012b61c21d Reorganize some packages
- webserver.resolver.json
- database.sql.tables
- database.transactions
2023-10-21 19:19:08 +03:00
AuroraLS3 ce1705383b Update versions.txt 5.6 build 2614 2023-10-21 09:14:46 +00:00
Aurora Lahtela 53b1dc4e35 Fix small issues with PingTable 2023-10-21 11:13:37 +03:00
Aurora Lahtela edf86155d1 Fixed sorting for plugin tables that have raw numbers 2023-10-21 11:12:34 +03:00
Aurora Lahtela eac25b5e77 Made Player page plugins tabs cleaner
- Added a collapse
- Only show servers for which there's plugin data.
2023-10-21 11:04:09 +03:00
Aurora Lahtela 3d1c0f8d64 Make sure /v1/query checks access permissions for using filters. 2023-10-21 10:57:48 +03:00
Aurora Lahtela 65f706d3cc Fix date formatting showing 'undefinedNaN NaN NaN' 2023-10-21 10:31:23 +03:00
dependabot[bot] 185529678a
Bump sass from 1.69.3 to 1.69.4 in /Plan/react/dashboard (#3272)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.3 to 1.69.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.3...1.69.4)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-10-20 08:49:12 +03:00
dependabot[bot] df11ab8ea7
Bump i18next from 23.5.1 to 23.6.0 in /Plan/react/dashboard (#3274)
Bumps [i18next](https://github.com/i18next/i18next) from 23.5.1 to 23.6.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.5.1...v23.6.0)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-10-20 08:46:43 +03:00
dependabot[bot] 6eb7996b5d
Bump react-i18next from 13.2.2 to 13.3.1 in /Plan/react/dashboard (#3275)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.2.2 to 13.3.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.2.2...v13.3.1)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-10-20 08:46:35 +03:00
dependabot[bot] 230e92059c
Bump undici from 5.25.1 to 5.26.3 in /Plan/react/dashboard (#3270)
Bumps [undici](https://github.com/nodejs/undici) from 5.25.1 to 5.26.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.25.1...v5.26.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 14:05:16 +03:00
dependabot[bot] d8e177fbbf
Bump @babel/traverse from 7.22.11 to 7.23.2 in /Plan/react/dashboard (#3271)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.11 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 14:05:00 +03:00
Aurora Lahtela 4b3efe1378 Check for permission before linking to Query page from Query Modal 2023-10-18 19:17:20 +03:00
Aurora Lahtela c032009144 Add possibility of clicking geolocation map to Query players from there 2023-10-18 19:12:36 +03:00
Aurora Lahtela 9c9d029268 Add Ping to Players table
Affects issues:
- Close #2593
2023-10-18 18:12:12 +03:00
Aurora Lahtela 9c9058eda9 Add API to tell Plan what permissions an endpoint uses. 2023-10-18 17:28:23 +03:00
Aurora Lahtela 394c47ba6f Add %plan_player_geolocation% placeholder
Affects issues:
- Close #3269
2023-10-17 18:46:43 +03:00
Aurora Lahtela dae9ebe362 Various fixes to tables
- Fixed errors related to how sortBy changes when column visibility is toggled.
- Fixed player page links in extension tables
- All Extension tables are now colored DataTables instead of being different based on row count.
2023-10-15 18:16:23 +03:00
Aurora Lahtela b076308ec3 Add a 'Click and Drag' text to calendar to highlight new functionality 2023-10-15 17:31:39 +03:00
Aurora Lahtela 1f485cfbe5 Use semantic version for fabric 2023-10-15 17:19:06 +03:00
Aurora Lahtela fe59fa5a66 Fix 403 if user has no access to Query but has access to a Calendar and clicks it 2023-10-15 17:15:38 +03:00
Aurora Lahtela 499d82139a Fix some flaky tests due to NETWORK_CHANGED error 2023-10-15 13:25:58 +03:00
Aurora Lahtela aa06ac66f1 Obfuscate license key with jasypt
Affects issues:
- Close #3256
2023-10-15 12:52:28 +03:00
dependabot[bot] df1596b296
Bump sass from 1.69.0 to 1.69.3 in /Plan/react/dashboard (#3260)
Bumps [sass](https://github.com/sass/dart-sass) from 1.69.0 to 1.69.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.69.0...1.69.3)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-10-14 12:02:48 +03:00
dependabot[bot] a16b699155
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3261)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.3 to 6.1.4.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.3...v6.1.4)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2023-10-14 12:02:30 +03:00
dependabot[bot] 1aa39c5b83
Bump mockitoVersion from 5.5.0 to 5.6.0 in /Plan (#3263)
Bumps `mockitoVersion` from 5.5.0 to 5.6.0.

Updates `org.mockito:mockito-core` from 5.5.0 to 5.6.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.5.0...v5.6.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.5.0 to 5.6.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.5.0...v5.6.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-10-14 12:02:18 +03:00
dependabot[bot] 5787cfb1ab
Bump jettyVersion from 11.0.16 to 11.0.17 in /Plan (#3264)
Bumps `jettyVersion` from 11.0.16 to 11.0.17.

Updates `org.eclipse.jetty:jetty-server` from 11.0.16 to 11.0.17
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.16...jetty-11.0.17)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.16 to 11.0.17

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.16 to 11.0.17

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2023-10-14 12:02:01 +03:00
dependabot[bot] a1f07e98e0
Bump swaggerVersion from 2.2.16 to 2.2.17 in /Plan (#3265)
Bumps `swaggerVersion` from 2.2.16 to 2.2.17.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.16 to 2.2.17

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.16 to 2.2.17

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-10-14 12:01:09 +03:00
dependabot[bot] d7113d3cba
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3266)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.16 to 2.2.17.

---
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>
2023-10-14 12:01:00 +03:00
Aurora Lahtela f9d28489c2 Update locale files with proxy webserver address language 2023-10-10 10:05:22 +03:00
Aurora Lahtela b92dfdb127 Fix webserver disabling always by accident 2023-10-10 10:03:50 +03:00
Aurora Lahtela 176c090f39 Bump Extension-Tebex to 2.4
Adds support for table formatting apis in DataExtension api

Affects issues:
- Fixed #3079
2023-10-10 09:53:03 +03:00
Aurora Lahtela 98188bbc96 Make Join Address Graph translate their legend properly 2023-10-10 09:28:20 +03:00
Aurora Lahtela 70cbab8f2d Make Activity Graphs translate their legend properly 2023-10-10 09:25:52 +03:00
Aurora Lahtela a74fb36b10 Fix Activity Index not showing up on Players Tables 2023-10-10 09:05:28 +03:00
Aurora Lahtela 549a26bcc8 Show any valid address if webserver is enabled (even game servers)
Affects issues:
- Fixed #3251
2023-10-10 08:40:09 +03:00
Aurora Lahtela d6065f497b Hide extra '0' when server has 0 player kills
The component shares rendering with Network as Numbers and player_kills is undefined on network.

Affects issues
- Fixed #3252
2023-10-10 08:24:49 +03:00
Aurora Lahtela 6a9a469adc Add link to query page from calendar query modal
Fixes to query page as well.
2023-10-08 14:35:39 +03:00
Aurora Lahtela 653ea6d481 Click & Drag on server calendar to query player data
Clicking and dragging on server calendar will select start and end time to use for
a Query Page View and Played Between filter.
This data is then displayed in a modal for easy viewing.

This allows viewing who was online on specific day(s), how much they played, and other information about the players.

Affects issues:
- Close #1531
2023-10-08 11:12:47 +03:00
Aurora Lahtela a937d64ca1 Add extra context to where it shows 'Unavailable'
Affects issues:
- Close #2819
2023-10-08 09:19:51 +03:00
Aurora Lahtela a419ef3c87 Fix dangerouslySetInnerHTML in ExtensionTable
Affects issues:
- Fixed #3250
2023-10-07 09:16:45 +03:00
AuroraLS3 a742e9fbf6 Update versions.txt 5.6 DEV build 2574 2023-10-07 06:11:27 +00:00
Aurora Lahtela 5a2bdaf6ba
2360/plugin versions (#3249)
* Add methods to gather plugin versions from servers
* Gathering and storage for plugin version history
* Test plugin gathering
* Test plugin metadata storage
* /v1/pluginHistory endpoint
* Plugin history tab
* Plugin history to performance tab
* Possibly fix ConfigChange.MovedValue being applied all the time
* Updated locale files
* Export pluginHistory for server page
* Add plugin history to network page
* Access control and improvements
* Remove pluginHistory from export since it now requires auth
* Fix access visibility tests
* Fix VelocitySensor during test

Affects issues:
- Close #2360
2023-10-07 08:39:00 +03:00
dependabot[bot] 61db13626b
Bump com.github.node-gradle.node from 7.0.0 to 7.0.1 in /Plan (#3244)
Bumps com.github.node-gradle.node from 7.0.0 to 7.0.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 14:29:18 +03:00
jhqwqmc f398012c01
update locale_CN.yml (#3243)
* update locale_CN.yml

* Update Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LangCode.java

---------

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-10-06 14:28:25 +03:00
dependabot[bot] 5f46e50171
Bump testContainersVersion from 1.19.0 to 1.19.1 in /Plan (#3245)
Bumps `testContainersVersion` from 1.19.0 to 1.19.1.

Updates `org.testcontainers:testcontainers` from 1.19.0 to 1.19.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.0...1.19.1)

Updates `org.testcontainers:junit-jupiter` from 1.19.0 to 1.19.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.0...1.19.1)

Updates `org.testcontainers:nginx` from 1.19.0 to 1.19.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.0...1.19.1)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2023-10-06 14:27:01 +03:00
dependabot[bot] 759ae80d94
Bump sass from 1.68.0 to 1.69.0 in /Plan/react/dashboard (#3248)
Bumps [sass](https://github.com/sass/dart-sass) from 1.68.0 to 1.69.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.68.0...1.69.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-10-06 14:26:26 +03:00
dependabot[bot] 8d0ef084c1
Bump org.sonarqube from 4.4.0.3356 to 4.4.1.3373 in /Plan (#3247)
Bumps org.sonarqube from 4.4.0.3356 to 4.4.1.3373.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-10-06 14:26:04 +03:00
dependabot[bot] 4d16e87aa9
Bump daggerVersion from 2.48 to 2.48.1 in /Plan (#3246)
Bumps `daggerVersion` from 2.48 to 2.48.1.

Updates `com.google.dagger:dagger` from 2.48 to 2.48.1
- [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.48...dagger-2.48.1)

Updates `com.google.dagger:dagger-compiler` from 2.48 to 2.48.1
- [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.48...dagger-2.48.1)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-10-06 14:25:55 +03:00
Aurora Lahtela 8eb4a54e6e Disable database player clean on game servers when proxy is installed
Affects issues:
- Close #3241
2023-10-06 08:39:24 +03:00
Dreeam ee1f337eff
Join Address gathering fix by Dreeam-qwq (#3242)
Fixes gathering for addresses without port on Bukkit based platforms
2023-10-03 21:02:30 +03:00
dependabot[bot] 956e712169
Bump axios from 1.5.0 to 1.5.1 in /Plan/react/dashboard (#3232)
Bumps [axios](https://github.com/axios/axios) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-10-01 16:56:19 +03:00
dependabot[bot] 31df5b10d2
Bump swagger-ui from 5.7.2 to 5.9.0 in /Plan/react/dashboard (#3238)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.7.2 to 5.9.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.7.2...v5.9.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-10-01 16:55:33 +03:00
dependabot[bot] 7ba3dd23f3
Bump daggerVersion from 2.47 to 2.48 in /Plan (#3187)
* Bump daggerVersion from 2.47 to 2.48 in /Plan

Bumps `daggerVersion` from 2.47 to 2.48.

Updates `com.google.dagger:dagger` from 2.47 to 2.48
- [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.47...dagger-2.48)

Updates `com.google.dagger:dagger-compiler` from 2.47 to 2.48
- [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.47...dagger-2.48)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Fix duplicate binding issue

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-10-01 16:55:19 +03:00
dependabot[bot] fbddd7dd50
Bump react-router-dom from 6.15.0 to 6.16.0 in /Plan/react/dashboard (#3210)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.16.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-10-01 16:06:05 +03:00
dependabot[bot] 79e5ef4872
Bump react-bootstrap from 2.8.0 to 2.9.0 in /Plan/react/dashboard (#3231)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.8.0 to 2.9.0.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.8.0...v2.9.0)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-10-01 16:05:49 +03:00
dependabot[bot] 3b4906d135
Bump me.clip:placeholderapi from 2.11.3 to 2.11.4 in /Plan (#3233)
Bumps me.clip:placeholderapi from 2.11.3 to 2.11.4.

---
updated-dependencies:
- dependency-name: me.clip:placeholderapi
  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>
2023-10-01 16:05:31 +03:00
dependabot[bot] 0899124df4
Bump org.sonarqube from 4.3.1.3277 to 4.4.0.3356 in /Plan (#3234)
Bumps org.sonarqube from 4.3.1.3277 to 4.4.0.3356.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-10-01 16:05:20 +03:00
AuroraLS3 5f179a9747 Update versions.txt 5.6 DEV build 2556 2023-10-01 05:42:56 +00:00
Aurora Lahtela 94184bf2a2 Fix false positive eslint line 2023-10-01 08:39:47 +03:00
Aurora Lahtela db9eb57299 Add setting to log untranslated lines for easier translation 2023-10-01 08:30:55 +03:00
Aurora Lahtela 0f4f23091e Update locale with new lines 2023-10-01 08:20:08 +03:00
Aurora Lahtela 876098edd7 Fix locale issues with Group permission help modal 2023-10-01 08:06:33 +03:00
Aurora Lahtela 71231018c3 Fix locale typo {{mn}} -> {{m}} 2023-10-01 07:32:16 +03:00
Aurora Lahtela 8b70decff8 Remove removed config variables from config.yml 2023-10-01 07:30:48 +03:00
Aurora Lahtela 159d3fe3f4 Fix compile warnings related to swagger annotations 2023-10-01 07:28:49 +03:00
Aurora Lahtela 01d6f4df28 Log errors to JS console from ErrorView to catch them in Unit tests 2023-09-30 17:11:03 +03:00
Aurora Lahtela 621e0b6f6e Add Network Calendar to Network Overview
Does the same as Server Calendar but for the whole network.

Affects issues:
- Close #3111
2023-09-30 17:10:18 +03:00
Aurora Lahtela 9886040de7 Translate more labels like 'Unknown' in the frontend 2023-09-29 09:11:50 +03:00
Aurora Lahtela 30a8da3c3b Reload custom locale when file is modified
Affects issues:
- Close #2311
2023-09-29 08:28:57 +03:00
Aurora Lahtela a1d5e4dc4f Bump Extension-ViaVersion to R1.5
Uses different query for networks

Affects issues:
- Fixed #3227
2023-09-27 17:13:09 +03:00
DonkerJumala 606af56d46
Update Japanese Locale (JA) by Jumala9163 (#3229) 2023-09-27 14:14:21 +03:00
Aurora Lahtela 17d3540e1a Fix ping method error spam 2023-09-25 08:16:57 +03:00
AuroraLS3 4c5ffca6f3 Update versions.txt 5.6 DEV build 2542 2023-09-24 07:55:29 +00:00
Aurora Lahtela ced66a1590 Fix incorrect usingProxyHttps check 2023-09-24 09:59:07 +03:00
Aurora Lahtela d6e90d3c01 Remove http cache from /v1/player endpoint
Affects issues:
- Fixed #3009
2023-09-24 09:53:32 +03:00
Aurora Lahtela 55c13d1875 Run scheduled tasks from other plugins using API in sequence
This prevents two transactions executing at the same time.

Affects issues:
- Fixed #3147
2023-09-24 09:40:48 +03:00
Aurora Lahtela 8bda0ff1c9 Bump Extension-Litebans to 0.4.1-R1.5
Order query results by time instead of id

Affects issues:
- Possibly fixed #3041
2023-09-24 09:23:51 +03:00
Aurora Lahtela bd5dcb7512 Don't fall back to relative address when using proxy-https
Affects issues:
- Fixed #3032
2023-09-24 09:14:49 +03:00
Aurora Lahtela 9bf7d65137 Bump Extension-Lands to 6.35.0-R1.2
Updates the Lands API

Affects issues:
- Fixed #3097
2023-09-24 09:09:35 +03:00
Aurora Lahtela fa2c16526f Disable X-Forwarded-For warning temporarily
Affects issues:
- Close #2967
2023-09-24 09:00:45 +03:00
Aurora Lahtela 6dada8edf9 Hide navigation items that need authentication to work 2023-09-24 08:59:42 +03:00
Aurora Lahtela 2bc3f29525 Add support for Player#getPing in Spigot
Affects issues:
- Fixed #3140
2023-09-24 08:51:35 +03:00
Aurora Lahtela 9fce4926ad Fix off by one error in top_ placeholders
Affects issues:
- Fixed #3174
2023-09-24 08:45:57 +03:00
Aurora Lahtela f67a02775f Fix deprecation smells 2023-09-24 08:39:01 +03:00
Aurora Lahtela 630247d884
Update README.md
Remove the anchor on the image
2023-09-23 22:25:26 +03:00
Aurora Lahtela 01d904c7d1
2905/remove old web files (#3225)
* Removed Plugin.Use_Legacy_Frontend feature flag
* Remove version modal html generation in Java
* Remove contributor list html generation in Java
* Remove more html generation in Java
* Delete old web file bundle
* Removed locale html/js translation from backend
* Move Html#swapColorsToSpan to the React side
* Reimplement datatables and backend for preferences
* Load preferences from backend
* Usability fixes to the players table
* Delete WebAssetVersionCheckTask
* Add new locale to locale files
* Export defaultPreferences as json on react export

Affects issues:
- Close #2905
2023-09-23 22:24:34 +03:00
dependabot[bot] 2fc4ee7ac1
Bump bootstrap from 5.3.1 to 5.3.2 in /Plan/react/dashboard (#3213)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.1 to 5.3.2.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.1...v5.3.2)

---
updated-dependencies:
- dependency-name: bootstrap
  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>
2023-09-23 12:57:35 +03:00
dependabot[bot] 630e672963
Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /Plan (#3215)
Bumps org.apache.commons:commons-compress from 1.23.0 to 1.24.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2023-09-22 16:53:46 +03:00
dependabot[bot] c0ea0b0d62
Bump org.spongepowered.gradle.plugin from 2.1.1 to 2.2.0 in /Plan (#3216)
Bumps [org.spongepowered.gradle.plugin](https://github.com/SpongePowered/SpongeGradle) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/SpongePowered/SpongeGradle/releases)
- [Commits](https://github.com/SpongePowered/SpongeGradle/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: org.spongepowered.gradle.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>
2023-09-22 16:53:31 +03:00
dependabot[bot] 29425a602f
Bump i18next-localstorage-backend in /Plan/react/dashboard (#3222)
Bumps [i18next-localstorage-backend](https://github.com/i18next/i18next-localStorage-backend) from 4.1.1 to 4.2.0.
- [Changelog](https://github.com/i18next/i18next-localstorage-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-localStorage-backend/compare/v4.1.1...v4.2.0)

---
updated-dependencies:
- dependency-name: i18next-localstorage-backend
  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>
2023-09-22 16:46:01 +03:00
dependabot[bot] 0a9bf0fd82
Bump @testing-library/user-event in /Plan/react/dashboard (#3218)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.4.3 to 14.5.1.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.4.3...v14.5.1)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  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>
2023-09-22 16:38:57 +03:00
dependabot[bot] 5027d4290c
Bump i18next-chained-backend in /Plan/react/dashboard (#3219)
Bumps [i18next-chained-backend](https://github.com/i18next/i18next-chained-backend) from 4.4.0 to 4.5.0.
- [Changelog](https://github.com/i18next/i18next-chained-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-chained-backend/compare/v4.4.0...v4.5.0)

---
updated-dependencies:
- dependency-name: i18next-chained-backend
  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>
2023-09-22 16:38:41 +03:00
dependabot[bot] 788549b284
Bump sass from 1.66.1 to 1.68.0 in /Plan/react/dashboard (#3220)
Bumps [sass](https://github.com/sass/dart-sass) from 1.66.1 to 1.68.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.66.1...1.68.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-09-22 16:38:33 +03:00
dependabot[bot] 658dc1049b
Bump swagger-ui from 5.6.2 to 5.7.2 in /Plan/react/dashboard (#3221)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.6.2 to 5.7.2.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.6.2...v5.7.2)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-09-22 16:38:22 +03:00
dependabot[bot] 18b0c16400
Bump swaggerVersion from 2.2.15 to 2.2.16 in /Plan (#3224)
Bumps `swaggerVersion` from 2.2.15 to 2.2.16.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.15 to 2.2.16

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.15 to 2.2.16

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-09-22 16:38:08 +03:00
dependabot[bot] 90ea6511a4
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3223)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.15 to 2.2.16.

---
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>
2023-09-22 16:37:58 +03:00
Antti Koponen 366faaba45
Fabric 1.20.2 by Kopo (#3217)
* Upgrade Gradle to 8.3

* Fabric 1.20.2

* Fix some Gradle warnings
2023-09-22 16:37:31 +03:00
dependabot[bot] 2313b0b257
Bump i18next from 23.5.0 to 23.5.1 in /Plan/react/dashboard (#3204)
Bumps [i18next](https://github.com/i18next/i18next) from 23.5.0 to 23.5.1.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.5.0...v23.5.1)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-09-10 10:32:30 +03:00
dependabot[bot] 3b6380d0b1
Bump org.seleniumhq.selenium:selenium-java in /Plan (#3193)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.12.0 to 4.12.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 09:15:44 +03:00
dependabot[bot] 0e9606be41
Bump org.sonarqube from 4.3.0.3225 to 4.3.1.3277 in /Plan (#3194)
Bumps org.sonarqube from 4.3.0.3225 to 4.3.1.3277.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-09-10 09:15:34 +03:00
dependabot[bot] 28aba62694
Bump slf4jVersion from 2.0.7 to 2.0.9 in /Plan (#3195)
Bumps `slf4jVersion` from 2.0.7 to 2.0.9.

Updates `org.slf4j:slf4j-nop` from 2.0.7 to 2.0.9

Updates `org.slf4j:slf4j-api` from 2.0.7 to 2.0.9

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-nop
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-api
  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>
2023-09-10 09:15:15 +03:00
dependabot[bot] 64beaf1d79
Bump swagger-ui from 5.4.2 to 5.6.2 in /Plan/react/dashboard (#3198)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.4.2 to 5.6.2.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.4.2...v5.6.2)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-09-10 09:15:06 +03:00
dependabot[bot] e778e6448f
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3199)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2023-09-10 09:15:00 +03:00
dependabot[bot] 926396ebb7
Bump i18next-http-backend from 2.2.1 to 2.2.2 in /Plan/react/dashboard (#3200)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.2.1 to 2.2.2.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-09-10 09:14:52 +03:00
dependabot[bot] aedaa90de6
Bump react-i18next from 13.2.1 to 13.2.2 in /Plan/react/dashboard (#3201)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.2.1 to 13.2.2.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.2.1...v13.2.2)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-09-10 09:14:43 +03:00
dependabot[bot] 5a64a69d1d
Bump i18next from 23.4.6 to 23.5.0 in /Plan/react/dashboard (#3202)
Bumps [i18next](https://github.com/i18next/i18next) from 23.4.6 to 23.5.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.4.6...v23.5.0)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-09-10 09:14:35 +03:00
Aurora Lahtela b40ba82195
Add Ukranian locale_UK.yml by xlanyleeet (#3203)
* Add locale_UK by xlanyleeet
* Update LangCode.java
* Update Contributors.java
2023-09-10 09:11:05 +03:00
dependabot[bot] 800d7b33a2
Bump org.mariadb.jdbc:mariadb-java-client from 3.1.4 to 3.2.0 in /Plan (#3190)
Bumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.1.4 to 3.2.0.
- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)
- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.1.4...3.2.0)

---
updated-dependencies:
- dependency-name: org.mariadb.jdbc:mariadb-java-client
  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>
2023-09-01 08:27:35 +03:00
dependabot[bot] 3e0209d333
Bump react-i18next from 13.2.0 to 13.2.1 in /Plan/react/dashboard (#3185)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.2.0 to 13.2.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.2.0...v13.2.1)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-09-01 08:27:00 +03:00
dependabot[bot] dde7476fa2
Bump org.seleniumhq.selenium:selenium-java in /Plan (#3189)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.11.0 to 4.12.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.11.0...selenium-4.12.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-01 08:26:50 +03:00
dependabot[bot] 641a600021
Bump jettyVersion from 11.0.15 to 11.0.16 in /Plan (#3191)
Bumps `jettyVersion` from 11.0.15 to 11.0.16.

Updates `org.eclipse.jetty:jetty-server` from 11.0.15 to 11.0.16
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.15...jetty-11.0.16)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.15 to 11.0.16

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.15 to 11.0.16

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2023-09-01 08:26:36 +03:00
dependabot[bot] 6ff0462366
Bump axios from 1.4.0 to 1.5.0 in /Plan/react/dashboard (#3186)
Bumps [axios](https://github.com/axios/axios) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-09-01 08:26:23 +03:00
dependabot[bot] b3dc121f5b
Bump i18next from 23.4.5 to 23.4.6 in /Plan/react/dashboard (#3183)
Bumps [i18next](https://github.com/i18next/i18next) from 23.4.5 to 23.4.6.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.4.5...v23.4.6)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-08-25 18:22:13 +03:00
dependabot[bot] 5378c83f5e
Bump org.xerial:sqlite-jdbc from 3.41.2.1 to 3.42.0.1 in /Plan (#3184)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.41.2.1 to 3.42.0.1.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.41.2.1...3.42.0.1)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2023-08-25 18:22:05 +03:00
dependabot[bot] c607684e9b
Bump mockitoVersion from 5.4.0 to 5.5.0 in /Plan (#3177)
Bumps `mockitoVersion` from 5.4.0 to 5.5.0.

Updates `org.mockito:mockito-core` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.4.0...v5.5.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.4.0...v5.5.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-08-25 17:57:11 +03:00
dependabot[bot] 74dc826bb7
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3181)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.0.0 to 6.1.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.0.0...v6.1.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2023-08-25 17:57:00 +03:00
dependabot[bot] 03a69e7ef3
Bump sass from 1.66.0 to 1.66.1 in /Plan/react/dashboard (#3180)
Bumps [sass](https://github.com/sass/dart-sass) from 1.66.0 to 1.66.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.66.0...1.66.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-08-25 17:56:50 +03:00
dependabot[bot] 246aec7df0
Bump i18next from 23.4.4 to 23.4.5 in /Plan/react/dashboard (#3179)
Bumps [i18next](https://github.com/i18next/i18next) from 23.4.4 to 23.4.5.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.4.4...v23.4.5)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-08-25 17:56:23 +03:00
dependabot[bot] b176e0ea63
Bump react-i18next from 13.1.2 to 13.2.0 in /Plan/react/dashboard (#3182)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.1.2 to 13.2.0.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.1.2...v13.2.0)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-08-25 17:56:13 +03:00
dependabot[bot] b7946df958
Bump testContainersVersion from 1.18.3 to 1.19.0 in /Plan (#3178)
Bumps `testContainersVersion` from 1.18.3 to 1.19.0.

Updates `org.testcontainers:testcontainers` from 1.18.3 to 1.19.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.3...1.19.0)

Updates `org.testcontainers:junit-jupiter` from 1.18.3 to 1.19.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.3...1.19.0)

Updates `org.testcontainers:nginx` from 1.18.3 to 1.19.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.3...1.19.0)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.testcontainers:nginx
  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>
2023-08-25 17:55:57 +03:00
Aurora Lahtela d86dfb7bcc Fix join address truncation error on backup 2023-08-23 19:48:04 +03:00
dependabot[bot] d8139ccc05
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3172)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.17.0 to 6.0.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.17.0...v6.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-20 15:19:09 +03:00
dependabot[bot] 2f0c865111
Bump swagger-ui from 5.3.1 to 5.4.2 in /Plan/react/dashboard (#3171)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.3.1 to 5.4.2.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.3.1...v5.4.2)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-08-20 15:18:54 +03:00
dependabot[bot] c8b0ca69e9
Bump sass from 1.65.1 to 1.66.0 in /Plan/react/dashboard (#3170)
Bumps [sass](https://github.com/sass/dart-sass) from 1.65.1 to 1.66.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.65.1...1.66.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-08-20 15:18:39 +03:00
dependabot[bot] 18b330db69
Bump react-i18next from 13.1.1 to 13.1.2 in /Plan/react/dashboard (#3169)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.1.1 to 13.1.2.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.1.1...v13.1.2)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-08-20 15:18:32 +03:00
dependabot[bot] db12af63d5
Bump com.github.node-gradle.node from 5.0.0 to 7.0.0 in /Plan (#3168)
Bumps com.github.node-gradle.node from 5.0.0 to 7.0.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-20 15:18:23 +03:00
Aurora Lahtela 5061439d14
1623/access control (#3173)
* Add web authorization permission based on groups
  * Access and parts of website are limited by permissions
* Add group management in /manage page
  * Higher level permissions grant lower level permissions similar to Sponge
* Add command /plan setgroup, which uses plan.setgroup.other permission
* Add command /plan groups, which uses plan.setgroup.other permission
* Add more navigation based on permissions
* API modifications
  * User#hasPermission now returns true if user has parent permission in the tree
  * ResolverService#registerPermissions and ResolverService#registerPermission methods for adding new permissions
* Update locale with new lines
* Various unrelated fixes to CSS and code

Affects issues:
- Close #1623
2023-08-20 11:56:13 +03:00
dependabot[bot] 4884cf28c2
Bump @fortawesome/free-brands-svg-icons in /Plan/react/dashboard (#3149)
Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-brands-svg-icons"
  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>
2023-08-11 17:11:31 +03:00
dependabot[bot] 0511762320
Bump @fortawesome/fontawesome-free in /Plan/react/dashboard (#3153)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  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>
2023-08-11 17:04:53 +03:00
dependabot[bot] 3906a55c73
Bump @fortawesome/free-regular-svg-icons in /Plan/react/dashboard (#3150)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-regular-svg-icons"
  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>
2023-08-11 17:04:40 +03:00
dependabot[bot] 3b609a7fbf
Bump @fortawesome/free-solid-svg-icons in /Plan/react/dashboard (#3157)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  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>
2023-08-11 16:44:32 +03:00
dependabot[bot] 3b620f5fae
Bump @fortawesome/fontawesome-svg-core in /Plan/react/dashboard (#3152)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  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>
2023-08-11 16:43:54 +03:00
dependabot[bot] 22956caf85
Bump org.seleniumhq.selenium:selenium-java in /Plan (#3159)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.10.0 to 4.11.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.10.0...selenium-4.11.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-11 16:43:44 +03:00
dependabot[bot] caaa27a1c1
Bump swagger-ui from 5.2.0 to 5.3.1 in /Plan/react/dashboard (#3151)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.2.0 to 5.3.1.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.2.0...v5.3.1)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-08-11 16:04:53 +03:00
dependabot[bot] 34e897c69f
Bump datatables.net-bs5 from 1.13.5 to 1.13.6 in /Plan/react/dashboard (#3155)
Bumps [datatables.net-bs5](https://github.com/DataTables/Dist-DataTables-Bootstrap5) from 1.13.5 to 1.13.6.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Bootstrap5/compare/1.13.5...1.13.6)

---
updated-dependencies:
- dependency-name: datatables.net-bs5
  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>
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-08-11 16:04:43 +03:00
dependabot[bot] 72fd48ceab
Bump datatables.net from 1.13.5 to 1.13.6 in /Plan/react/dashboard (#3154)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.13.5 to 1.13.6.
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.13.5...1.13.6)

---
updated-dependencies:
- dependency-name: datatables.net
  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>
2023-08-11 16:04:03 +03:00
dependabot[bot] 5e1411e6d6
Bump com.github.ben-manes.caffeine:caffeine in /Plan (#3161)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from v3.1.7 to 3.1.8.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.7...v3.1.8)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-11 09:17:43 +03:00
dependabot[bot] 2c69a0764c
Bump react-i18next from 13.0.2 to 13.1.1 in /Plan/react/dashboard (#3163)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.0.2 to 13.1.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.0.2...v13.1.1)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-08-11 09:17:13 +03:00
dependabot[bot] f87344050a
Bump sass from 1.64.1 to 1.65.1 in /Plan/react/dashboard (#3164)
Bumps [sass](https://github.com/sass/dart-sass) from 1.64.1 to 1.65.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.64.1...1.65.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-08-11 09:17:03 +03:00
dependabot[bot] eb866e2181
Bump react-router-dom from 6.14.2 to 6.15.0 in /Plan/react/dashboard (#3165)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.14.2 to 6.15.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.15.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-08-11 09:16:51 +03:00
dependabot[bot] 0512a0d31a
Bump i18next from 23.4.1 to 23.4.4 in /Plan/react/dashboard (#3166)
Bumps [i18next](https://github.com/i18next/i18next) from 23.4.1 to 23.4.4.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.4.1...v23.4.4)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-08-11 09:15:54 +03:00
dependabot[bot] 5f2e1e8eda
Bump i18next from 23.2.11 to 23.4.1 in /Plan/react/dashboard (#3143)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.11 to 23.4.1.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.11...v23.4.1)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-08-03 16:30:40 +03:00
dependabot[bot] a8025a18c0
Bump com.maxmind.geoip2:geoip2 from 4.0.1 to 4.1.0 in /Plan (#3145)
Bumps [com.maxmind.geoip2:geoip2](https://github.com/maxmind/GeoIP2-java) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/maxmind/GeoIP2-java/releases)
- [Changelog](https://github.com/maxmind/GeoIP2-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maxmind/GeoIP2-java/compare/v4.0.1...v4.1.0)

---
updated-dependencies:
- dependency-name: com.maxmind.geoip2:geoip2
  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>
2023-07-31 18:58:00 +03:00
dependabot[bot] b473961b59
Bump com.github.ben-manes.caffeine:caffeine in /Plan (#3135)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.6 to v3.1.7.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 18:57:44 +03:00
dependabot[bot] 1b954e65f3
Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0 in /Plan (#3133)
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.9.3 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.3...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  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>
2023-07-31 18:57:28 +03:00
Toxi 40383d1d20
[Sponge] Dependency version issue (#3146)
* [Sponge] Adjust dependency versions

This may not be needed on anything besides luckperms

* Add self to contributors
2023-07-30 09:28:46 +03:00
dependabot[bot] e470d63a17
Bump me.lucko:fabric-permissions-api in /Plan (#3134)
Bumps me.lucko:fabric-permissions-api from 0.2-SNAPSHOT to 0.3-SNAPSHOT.

---
updated-dependencies:
- dependency-name: me.lucko:fabric-permissions-api
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-30 08:49:39 +03:00
dependabot[bot] f0ef3f6589
Bump sass from 1.64.0 to 1.64.1 in /Plan/react/dashboard (#3139)
Bumps [sass](https://github.com/sass/dart-sass) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.64.0...1.64.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-07-30 08:48:59 +03:00
dependabot[bot] b06f0d4119
Bump i18next from 23.2.11 to 23.3.0 in /Plan/react/dashboard (#3136)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.11 to 23.3.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.11...v23.3.0)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-07-30 08:47:44 +03:00
dependabot[bot] 944ebc8dcf
Bump bootstrap from 5.3.0 to 5.3.1 in /Plan/react/dashboard (#3138)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: bootstrap
  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>
2023-07-30 08:47:02 +03:00
dependabot[bot] 21b8702764
Bump swagger-ui from 5.1.3 to 5.2.0 in /Plan/react/dashboard (#3137)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.1.3 to 5.2.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.1.3...v5.2.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-07-30 08:46:47 +03:00
Aurora Lahtela 239e97ca47
Fix selenium webdriver action 2023-07-28 19:31:38 +03:00
solt-27 acd9ad39f3
Update to JA locale by yu_solt (#3131) 2023-07-24 19:42:43 +03:00
AuroraLS3 c3d5b20a89 Update versions.txt 5.5 build 2461 2023-07-21 16:54:09 +00:00
Aurora Lahtela fb3f6f29ab Fix join address truncation error
Affects issues:
- Fixed #2594
2023-07-21 19:40:14 +03:00
Aurora Lahtela c161d1c280 Attempt to unregister placeholder api expansion multiple times on disable.
Affects issues:
- Possibly fixed #3020
2023-07-21 19:36:35 +03:00
Aurora Lahtela a66501353d Reorder latest join address pie by largest value first
Affects issues:
- Close #3037
2023-07-21 19:29:10 +03:00
Aurora Lahtela a076d16dbf Rename SQL alias groups to g to avoid reserved keyword in MySQL
Affects issues:
- Fixes #3048
2023-07-21 19:18:19 +03:00
dependabot[bot] ffae323fe9
Bump swagger-ui from 5.1.0 to 5.1.3 in /Plan/react/dashboard (#3129)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.1.0 to 5.1.3.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.1.0...v5.1.3)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-07-21 19:13:30 +03:00
dependabot[bot] e4b1702e21
Bump sass from 1.63.6 to 1.64.0 in /Plan/react/dashboard (#3128)
Bumps [sass](https://github.com/sass/dart-sass) from 1.63.6 to 1.64.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.63.6...1.64.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-07-21 19:13:23 +03:00
dependabot[bot] 20aa45a953
Bump react-router-dom from 6.14.1 to 6.14.2 in /Plan/react/dashboard (#3127)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.14.1 to 6.14.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.14.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-07-21 19:13:17 +03:00
dependabot[bot] a5d59a882d
Bump @testing-library/jest-dom in /Plan/react/dashboard (#3126)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.5 to 5.17.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.5...v5.17.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2023-07-21 19:13:10 +03:00
dependabot[bot] 5a2a6979eb
Bump com.mysql:mysql-connector-j from 8.0.33 to 8.1.0 in /Plan (#3124)
Bumps [com.mysql:mysql-connector-j](https://github.com/mysql/mysql-connector-j) from 8.0.33 to 8.1.0.
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.x/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.33...8.1.0)

---
updated-dependencies:
- dependency-name: com.mysql:mysql-connector-j
  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>
2023-07-20 10:48:39 +03:00
dependabot[bot] cb5a732b19
Bump org.sonarqube from 4.2.1.3168 to 4.3.0.3225 in /Plan (#3123)
Bumps org.sonarqube from 4.2.1.3168 to 4.3.0.3225.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-07-20 10:48:27 +03:00
Aurora Lahtela 181310dc7f
3091/mariadb driver support (#3122)
* Fix MariaDB 11 driver issue
* Update some more logging messages
* Throw DBInitException if using MariaDB 11.0.2
* Fix mariadb container health check
* Use 11.1-rc for mariadb image

Affects issues:
- Fixed #3091 for MariaDB 11.1.1 or newer
2023-07-20 09:01:26 +03:00
dependabot[bot] ebadb080b2
Bump word-wrap from 1.2.3 to 1.2.4 in /Plan/react/dashboard (#3121)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 08:06:24 +03:00
dependabot[bot] dbd47bc3d0
Bump daggerVersion from 2.46.1 to 2.47 in /Plan (#3119)
Bumps `daggerVersion` from 2.46.1 to 2.47.

Updates `com.google.dagger:dagger` from 2.46.1 to 2.47
- [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.46.1...dagger-2.47)

Updates `com.google.dagger:dagger-compiler` from 2.46.1 to 2.47
- [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.46.1...dagger-2.47)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-07-14 17:11:34 +03:00
dependabot[bot] c0263b6224
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3116)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.14 to 2.2.15.

---
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>
2023-07-14 17:11:19 +03:00
dependabot[bot] 15bf8e032c
Bump react-i18next from 13.0.1 to 13.0.2 in /Plan/react/dashboard (#3118)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.0.1 to 13.0.2.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v13.0.1...v13.0.2)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-07-14 06:51:26 +03:00
dependabot[bot] 1e09ba3e93
Bump i18next from 23.2.8 to 23.2.11 in /Plan/react/dashboard (#3117)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.8 to 23.2.11.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.8...v23.2.11)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-07-14 06:51:20 +03:00
dependabot[bot] 315f3bb01d
Bump swaggerVersion from 2.2.14 to 2.2.15 in /Plan (#3115)
Bumps `swaggerVersion` from 2.2.14 to 2.2.15.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.14 to 2.2.15

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.14 to 2.2.15

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-07-14 06:51:13 +03:00
dependabot[bot] e39d87b509
Bump semver from 5.7.1 to 5.7.2 in /Plan/react/dashboard (#3114)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 18:33:18 +03:00
dependabot[bot] fbb77bdeea
Bump datatables.net-responsive-bs5 in /Plan/react/dashboard (#3102)
Bumps [datatables.net-responsive-bs5](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5/compare/2.4.1...2.5.0)

---
updated-dependencies:
- dependency-name: datatables.net-responsive-bs5
  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>
2023-07-08 10:02:58 +03:00
dependabot[bot] d0e52ba3d3
Bump tough-cookie from 4.0.0 to 4.1.3 in /Plan/react/dashboard (#3107)
Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.0.0 to 4.1.3.
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v4.0.0...v4.1.3)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-08 10:02:52 +03:00
Aurora Lahtela a957a65d54 Update AFK status on server shutdown
Affects issues:
- Fixed #3099
2023-07-08 09:31:41 +03:00
Aurora Lahtela 2bab8f7744 Define fabric refmap json file
This prevents conflicts with other plugins that use mixins and define default refmap file.

Affects issues:
- Fixed #3106
2023-07-08 09:19:59 +03:00
dependabot[bot] 89ebbb3203
Bump i18next from 23.2.6 to 23.2.8 in /Plan/react/dashboard (#3103)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.6 to 23.2.8.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.6...v23.2.8)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-07-08 09:05:21 +03:00
dependabot[bot] 50ffec9ef7
Bump datatables.net from 1.13.4 to 1.13.5 in /Plan/react/dashboard (#3101)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.13.4 to 1.13.5.
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.13.4...1.13.5)

---
updated-dependencies:
- dependency-name: datatables.net
  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>
2023-07-08 09:05:12 +03:00
dependabot[bot] 9a3099c721
Bump dependencyDownloadVersion from 1.3.0 to 1.3.1 in /Plan (#3100)
Bumps `dependencyDownloadVersion` from 1.3.0 to 1.3.1.

Updates `dev.vankka:dependencydownload-runtime` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/Vankka/DependencyDownload/releases)
- [Commits](https://github.com/Vankka/DependencyDownload/compare/v1.3.0...v1.3.1)

Updates `dev.vankka.dependencydownload.plugin` from 1.3.0 to 1.3.1

---
updated-dependencies:
- dependency-name: dev.vankka:dependencydownload-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: dev.vankka.dependencydownload.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>
2023-07-08 09:05:05 +03:00
dependabot[bot] ecd7d97339
Bump react-router-dom from 6.14.0 to 6.14.1 in /Plan/react/dashboard (#3096)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.14.0 to 6.14.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.14.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-07-08 09:04:55 +03:00
dependabot[bot] dcbc2b6679
Bump i18next from 23.2.3 to 23.2.6 in /Plan/react/dashboard (#3093)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.3 to 23.2.6.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.3...v23.2.6)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-07-01 17:29:36 +03:00
dependabot[bot] f8d75028a7
Bump react-router-dom from 6.13.0 to 6.14.0 in /Plan/react/dashboard (#3094)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.13.0 to 6.14.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.14.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-07-01 17:29:27 +03:00
ringoXD 910c4530fd
Update and Fix Japanese translation (#3095)
* Update & Fix Japanese Translation

* Update contributor list
2023-07-01 17:29:12 +03:00
dependabot[bot] a0f801c368
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3090)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.12 to 2.2.14.

---
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>
2023-06-27 16:53:22 +03:00
dependabot[bot] f4d2c52e56
Bump swaggerVersion from 2.2.12 to 2.2.14 in /Plan (#3089)
Bumps `swaggerVersion` from 2.2.12 to 2.2.14.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.12 to 2.2.14

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.12 to 2.2.14

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-06-27 16:53:13 +03:00
dependabot[bot] 93b01d43e0
Bump react-i18next from 12.3.1 to 13.0.1 in /Plan/react/dashboard (#3088)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.3.1 to 13.0.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.3.1...v13.0.1)

---
updated-dependencies:
- dependency-name: react-i18next
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 16:53:06 +03:00
dependabot[bot] 57c70ed4be
Bump sass from 1.63.4 to 1.63.6 in /Plan/react/dashboard (#3083)
Bumps [sass](https://github.com/sass/dart-sass) from 1.63.4 to 1.63.6.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.63.4...1.63.6)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-06-26 20:28:33 +03:00
dependabot[bot] e866499bc2
Bump commons-codec:commons-codec from 1.15 to 1.16.0 in /Plan (#3085)
Bumps [commons-codec:commons-codec](https://github.com/apache/commons-codec) from 1.15 to 1.16.0.
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.16.0)

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  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>
2023-06-26 20:28:09 +03:00
dependabot[bot] 9bce3a39d0
Bump i18next from 23.2.0 to 23.2.3 in /Plan/react/dashboard (#3082)
Bumps [i18next](https://github.com/i18next/i18next) from 23.2.0 to 23.2.3.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v23.2.0...v23.2.3)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-06-26 20:27:38 +03:00
dependabot[bot] b4e8aacb53
Bump react-bootstrap from 2.7.4 to 2.8.0 in /Plan/react/dashboard (#3081)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.7.4 to 2.8.0.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.7.4...v2.8.0)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-06-26 20:27:28 +03:00
Aurora Lahtela 4b33026a5f Add support for netty based socket addresses to fabric
Affects issues:
- Possibly fixed #3065
2023-06-24 09:10:46 +03:00
Aurora Lahtela 439eb60f31 Fixed issues with React keys in Query page
This caused React to re-render the filter every time options were changed,
which appeared to user as if their changes did not apply properly.

Affects issues:
- Fixed #3086
2023-06-23 08:53:39 +03:00
dependabot[bot] 9cd7859d45
Bump swagger-ui from 5.0.0 to 5.1.0 in /Plan/react/dashboard (#3078)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-06-20 10:16:57 +03:00
dependabot[bot] 253850f412
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3073)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.11 to 2.2.12.

---
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>
2023-06-20 08:52:04 +03:00
dependabot[bot] 93aa7d88cd
Bump i18next from 22.5.1 to 23.2.0 in /Plan/react/dashboard (#3077)
Bumps [i18next](https://github.com/i18next/i18next) from 22.5.1 to 23.2.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.5.1...v23.2.0)

---
updated-dependencies:
- dependency-name: i18next
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 08:51:50 +03:00
dependabot[bot] d3b039a7f4
Bump swagger-ui from 4.19.0 to 5.0.0 in /Plan/react/dashboard (#3072)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.19.0 to 5.0.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.19.0...v5.0.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 08:19:16 +03:00
dependabot[bot] dbf7ae1c01
Bump sass from 1.63.3 to 1.63.4 in /Plan/react/dashboard (#3070)
Bumps [sass](https://github.com/sass/dart-sass) from 1.63.3 to 1.63.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.63.3...1.63.4)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-06-20 08:19:00 +03:00
dependabot[bot] ae0c278812
Bump i18next-chained-backend in /Plan/react/dashboard (#3068)
Bumps [i18next-chained-backend](https://github.com/i18next/i18next-chained-backend) from 4.3.0 to 4.4.0.
- [Changelog](https://github.com/i18next/i18next-chained-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-chained-backend/compare/v4.3.0...v4.4.0)

---
updated-dependencies:
- dependency-name: i18next-chained-backend
  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>
2023-06-20 08:18:52 +03:00
dependabot[bot] 188171e063
Bump mockitoVersion from 5.3.1 to 5.4.0 in /Plan (#3076)
Bumps `mockitoVersion` from 5.3.1 to 5.4.0.

Updates `org.mockito:mockito-core` from 5.3.1 to 5.4.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.1...v5.4.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.3.1 to 5.4.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-06-20 08:18:41 +03:00
dependabot[bot] 4ef1db02d3
Bump react-router-dom from 6.11.2 to 6.13.0 in /Plan/react/dashboard (#3069)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.11.2 to 6.13.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.13.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-06-19 15:58:50 +03:00
dependabot[bot] 040f36241a
Bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168 in /Plan (#3067)
Bumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-06-19 15:58:28 +03:00
dependabot[bot] 04ed67886c
Bump swaggerVersion from 2.2.11 to 2.2.12 in /Plan (#3066)
Bumps `swaggerVersion` from 2.2.11 to 2.2.12.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.11 to 2.2.12

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.11 to 2.2.12

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-06-19 15:58:19 +03:00
lis 8b180c6528
Fix Japanese translation (#3075)
* Update contributor list

* Update Japanese translation
2023-06-18 08:08:36 +03:00
AuroraLS3 a10664d686 Update versions.txt 5.5 DEV build 2411 2023-06-11 12:48:50 +00:00
dependabot[bot] 450d1315d2
Bump sass from 1.63.2 to 1.63.3 in /Plan/react/dashboard (#3063)
Bumps [sass](https://github.com/sass/dart-sass) from 1.63.2 to 1.63.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.63.2...1.63.3)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-06-11 15:30:29 +03:00
dependabot[bot] 4b513988b4
Bump i18next-chained-backend in /Plan/react/dashboard (#3053)
Bumps [i18next-chained-backend](https://github.com/i18next/i18next-chained-backend) from 4.2.0 to 4.3.0.
- [Changelog](https://github.com/i18next/i18next-chained-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-chained-backend/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: i18next-chained-backend
  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>
2023-06-11 15:27:38 +03:00
dependabot[bot] eff6b59cfe
Bump swaggerVersion from 2.2.10 to 2.2.11 in /Plan (#3042)
Bumps `swaggerVersion` from 2.2.10 to 2.2.11.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.10 to 2.2.11

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.10 to 2.2.11

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-06-11 15:27:32 +03:00
Aurora Lahtela 727ae27af4
Update ci.yml 2023-06-11 15:01:09 +03:00
Aurora Lahtela b13175236f
Update supported fabric version list 2023-06-11 14:50:58 +03:00
Aurora Lahtela b09f81a891
Update ci.yml
Fix mariadb health check
2023-06-11 14:46:29 +03:00
Drex bc2b79654a
Update fabric to 1.20 (#3047)
* update: 23w17a
* update: 1.20-pre2
* update: 1.20-rc1
2023-06-11 14:40:19 +03:00
dependabot[bot] ab4c7454b1
Bump swagger-ui from 4.18.3 to 4.19.0 in /Plan/react/dashboard (#3035)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.18.3 to 4.19.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.18.3...v4.19.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-06-11 14:25:22 +03:00
dependabot[bot] c6e77ee4db
Bump bootstrap from 5.2.3 to 5.3.0 in /Plan/react/dashboard (#3043)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.2.3 to 5.3.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.2.3...v5.3.0)

---
updated-dependencies:
- dependency-name: bootstrap
  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>
2023-06-11 14:25:10 +03:00
dependabot[bot] d01ca81797
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3044)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.10 to 2.2.11.

---
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>
2023-06-11 14:25:04 +03:00
dependabot[bot] bde8cc309d
Bump org.sonarqube from 4.0.0.2929 to 4.2.0.3129 in /Plan (#3045)
Bumps org.sonarqube from 4.0.0.2929 to 4.2.0.3129.

---
updated-dependencies:
- dependency-name: org.sonarqube
  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>
2023-06-11 14:24:58 +03:00
dependabot[bot] e7254f04d3
Bump testContainersVersion from 1.18.1 to 1.18.3 in /Plan (#3046)
Bumps `testContainersVersion` from 1.18.1 to 1.18.3.

Updates `org.testcontainers:testcontainers` from 1.18.1 to 1.18.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.1...1.18.3)

Updates `org.testcontainers:junit-jupiter` from 1.18.1 to 1.18.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.1...1.18.3)

Updates `org.testcontainers:nginx` from 1.18.1 to 1.18.3
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.1...1.18.3)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2023-06-11 14:24:53 +03:00
dependabot[bot] 366aa196fe
Bump adventureVersion from 4.13.1 to 4.14.0 in /Plan (#3052)
Bumps `adventureVersion` from 4.13.1 to 4.14.0.

Updates `net.kyori:adventure-text-serializer-gson` from 4.13.1 to 4.14.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.1...v4.14.0)

Updates `net.kyori:adventure-text-serializer-legacy` from 4.13.1 to 4.14.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.1...v4.14.0)

Updates `net.kyori:adventure-text-minimessage` from 4.13.1 to 4.14.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.1...v4.14.0)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-text-serializer-gson
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: net.kyori:adventure-text-serializer-legacy
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: net.kyori:adventure-text-minimessage
  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>
2023-06-11 14:24:44 +03:00
dependabot[bot] a388300768
Bump i18next from 22.5.0 to 22.5.1 in /Plan/react/dashboard (#3054)
Bumps [i18next](https://github.com/i18next/i18next) from 22.5.0 to 22.5.1.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.5.0...v22.5.1)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-06-11 14:24:31 +03:00
dependabot[bot] cc405de42c
Bump net.kyori:adventure-api from 4.13.1 to 4.14.0 in /Plan (#3059)
Bumps [net.kyori:adventure-api](https://github.com/KyoriPowered/adventure) from 4.13.1 to 4.14.0.
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.1...v4.14.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-11 14:24:04 +03:00
dependabot[bot] 53fc2bfd56
Bump sass from 1.62.1 to 1.63.2 in /Plan/react/dashboard (#3058)
Bumps [sass](https://github.com/sass/dart-sass) from 1.62.1 to 1.63.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.62.1...1.63.2)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-06-11 14:23:57 +03:00
dependabot[bot] 6248bd7942
Bump @highcharts/map-collection in /Plan/react/dashboard (#3057)
Bumps [@highcharts/map-collection](https://github.com/highcharts/map-collection-dist) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/highcharts/map-collection-dist/releases)
- [Commits](https://github.com/highcharts/map-collection-dist/compare/v2.0.1...v2.1.0)

---
updated-dependencies:
- dependency-name: "@highcharts/map-collection"
  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>
2023-06-11 14:23:51 +03:00
dependabot[bot] 604a7dc940
Bump org.seleniumhq.selenium:selenium-java from 4.9.1 to 4.10.0 in /Plan (#3056)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.9.1 to 4.10.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.9.1...selenium-4.10.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-11 14:23:38 +03:00
Aurora Lahtela f66ed6344a
Fix perm level 2 redirect 2023-05-27 06:43:39 +03:00
AuroraLS3 3531643da1 Update versions.txt 5.5 build 2391 2023-05-21 07:26:35 +00:00
dependabot[bot] c19f90edcd
Bump i18next-http-backend from 2.2.0 to 2.2.1 in /Plan/react/dashboard (#3027)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.2.0 to 2.2.1.
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-05-20 12:04:43 +03:00
dependabot[bot] ee01b341d5
Bump react-i18next from 12.2.2 to 12.3.1 in /Plan/react/dashboard (#3026)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.2.2 to 12.3.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.2.2...v12.3.1)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-05-20 12:04:37 +03:00
dependabot[bot] ac849c2051
Bump i18next from 22.4.15 to 22.5.0 in /Plan/react/dashboard (#3028)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.15 to 22.5.0.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.15...v22.5.0)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-05-20 12:04:31 +03:00
dependabot[bot] cd7dafcc38
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#3024)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.9 to 2.2.10.

---
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>
2023-05-20 12:04:23 +03:00
dependabot[bot] 85e6bcb455
Bump swaggerVersion from 2.2.9 to 2.2.10 in /Plan (#3023)
Bumps `swaggerVersion` from 2.2.9 to 2.2.10.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.9 to 2.2.10

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.9 to 2.2.10

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-05-20 12:04:14 +03:00
dependabot[bot] 3ed0fdd10d
Bump react-router-dom from 6.11.1 to 6.11.2 in /Plan/react/dashboard (#3025)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.11.1 to 6.11.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.11.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-05-20 12:04:06 +03:00
Aurora Lahtela f7a40fbd68 Add setting 'Webserver.Security.Disable_registration'
- This disables /auth/register endpoint and /plan register command.
- Website will display "Registering new users has been disabled in the config." on register page

Affects issues:
- Close #2332
2023-05-15 20:32:12 +03:00
dependabot[bot] f6af24a42a
Bump com.github.node-gradle.node from 4.0.0 to 5.0.0 in /Plan (#3018)
Bumps com.github.node-gradle.node from 4.0.0 to 5.0.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-14 14:04:35 +03:00
dependabot[bot] f8bea771f4
Bump daggerVersion from 2.46 to 2.46.1 in /Plan (#3015)
Bumps `daggerVersion` from 2.46 to 2.46.1.

Updates `com.google.dagger:dagger` from 2.46 to 2.46.1
- [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.46...dagger-2.46.1)

Updates `com.google.dagger:dagger-compiler` from 2.46 to 2.46.1
- [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.46...dagger-2.46.1)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-05-14 13:40:27 +03:00
Kohei Ota (inductor) 18d6e76ab4
Update JA Locale (#3017) 2023-05-14 12:27:50 +03:00
Kohei Ota (inductor) 9e03f14c4f
Japanese Locale update by inductor (#3016) 2023-05-13 14:08:32 +03:00
AuroraLS3 304c7375be Update versions.txt 5.5 DEV build 2379 2023-05-13 06:03:47 +00:00
Aurora Lahtela cde37d4fb1 Update Towny Extension
Affects issues:
- Fixed #2988
2023-05-13 08:51:07 +03:00
dependabot[bot] 9bec535651
Bump @fullcalendar/daygrid in /Plan/react/dashboard (#3014)
Bumps [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid) from 5.11.4 to 5.11.5.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/v5.11.5/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v5.11.5/packages/daygrid)

---
updated-dependencies:
- dependency-name: "@fullcalendar/daygrid"
  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>
2023-05-12 08:16:11 +03:00
dependabot[bot] e0a9e62480
Bump @fullcalendar/bootstrap in /Plan/react/dashboard (#3013)
Bumps [@fullcalendar/bootstrap](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/bootstrap4) from 5.11.4 to 5.11.5.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v5.11.5/packages/bootstrap4)

---
updated-dependencies:
- dependency-name: "@fullcalendar/bootstrap"
  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>
2023-05-12 08:12:43 +03:00
dependabot[bot] afabf182c5
Bump org.seleniumhq.selenium:selenium-java from 4.9.0 to 4.9.1 in /Plan (#3012)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.9.0...selenium-4.9.1)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 08:12:35 +03:00
dependabot[bot] 1a0bd17996
Bump @fullcalendar/react from 5.11.4 to 5.11.5 in /Plan/react/dashboard (#3011)
Bumps [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react) from 5.11.4 to 5.11.5.
- [Release notes](https://github.com/fullcalendar/fullcalendar-react/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar-react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar-react/compare/v5.11.4...v5.11.5)

---
updated-dependencies:
- dependency-name: "@fullcalendar/react"
  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>
2023-05-12 08:12:25 +03:00
dependabot[bot] 85ffbf596e
Bump testContainersVersion from 1.18.0 to 1.18.1 in /Plan (#3010)
Bumps `testContainersVersion` from 1.18.0 to 1.18.1.

Updates `org.testcontainers:testcontainers` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.0...1.18.1)

Updates `org.testcontainers:junit-jupiter` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.0...1.18.1)

Updates `org.testcontainers:nginx` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.0...1.18.1)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.testcontainers:nginx
  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>
2023-05-12 08:12:15 +03:00
Aurora Lahtela 9a250d4f3a
Fix logged in player head image 2023-05-09 17:11:52 +03:00
Aurora Lahtela b2d78bb491 Add support for dynamic DNS in IP Allowlist
Affects issues:
- Close #1502
2023-05-06 15:54:17 +03:00
dependabot[bot] 93c10ccdcd
Bump react-router-dom from 6.10.0 to 6.11.1 in /Plan/react/dashboard (#3006)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.10.0 to 6.11.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.11.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-05-06 10:42:12 +03:00
Aurora Lahtela 2d739572ab Fix Repository URLs used for SQL driver downloads 2023-05-06 10:38:12 +03:00
Aurora Lahtela 3c3e673c86 Add support for cidr and other IP notations to IP_Whitelist
Affects issues:
- Close #2336
2023-05-06 10:37:42 +03:00
Aurora Lahtela 5060ad25d8 Fix networkMetadata read before it is loaded 2023-05-05 15:34:59 +03:00
dependabot[bot] 6179f6cbe5
Bump axios from 1.3.6 to 1.4.0 in /Plan/react/dashboard (#2995)
Bumps [axios](https://github.com/axios/axios) from 1.3.6 to 1.4.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.3.6...v1.4.0)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-04-30 09:26:56 +03:00
dependabot[bot] 4754ba38e5
Bump daggerVersion from 2.45 to 2.46 in /Plan (#3001)
Bumps `daggerVersion` from 2.45 to 2.46.

Updates `com.google.dagger:dagger` from 2.45 to 2.46
- [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.45...dagger-2.46)

Updates `com.google.dagger:dagger-compiler` from 2.45 to 2.46
- [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.45...dagger-2.46)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-04-30 09:25:49 +03:00
dependabot[bot] dc2b372ffa
Bump org.junit.jupiter:junit-jupiter from 5.9.2 to 5.9.3 in /Plan (#2993)
Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.9.2 to 5.9.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.9.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  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>
2023-04-30 09:00:17 +03:00
dependabot[bot] 8d8dd514d7
Bump swagger-ui from 4.18.2 to 4.18.3 in /Plan/react/dashboard (#2994)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.18.2 to 4.18.3.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.18.2...v4.18.3)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-04-30 09:00:10 +03:00
dependabot[bot] 724a9a6906
Bump react-i18next from 12.2.0 to 12.2.2 in /Plan/react/dashboard (#2997)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.2.0 to 12.2.2.
- [Release notes](https://github.com/i18next/react-i18next/releases)
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.2.0...v12.2.2)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-04-30 09:00:06 +03:00
dependabot[bot] aa8bd5a2f4
Bump sass from 1.62.0 to 1.62.1 in /Plan/react/dashboard (#2998)
Bumps [sass](https://github.com/sass/dart-sass) from 1.62.0 to 1.62.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.62.0...1.62.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-04-30 09:00:02 +03:00
dependabot[bot] bd3f674453
Bump com.github.node-gradle.node from 3.6.0 to 4.0.0 in /Plan (#2999)
Bumps com.github.node-gradle.node from 3.6.0 to 4.0.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 08:59:46 +03:00
Aurora Lahtela cec82d5f5f Prevent missing method crashing fabric
Affects issues:
- #2991
2023-04-27 15:32:40 +03:00
Aurora Lahtela 10a1e11e46 Remove Plugin.Frontend_BETA from the config
Forgot to remove it, so every reload Plan tries to remove it again
2023-04-23 07:46:24 +03:00
dependabot[bot] 83f06ff3b3
Bump org.seleniumhq.selenium:selenium-java from 4.8.3 to 4.9.0 in /Plan (#2983)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.3 to 4.9.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.9.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-23 07:44:57 +03:00
dependabot[bot] 87ee0f1487
Bump react-bootstrap from 2.7.3 to 2.7.4 in /Plan/react/dashboard (#2980)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.7.3 to 2.7.4.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.7.3...v2.7.4)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-04-23 07:44:36 +03:00
dependabot[bot] d341db99ee
Bump axios from 1.3.5 to 1.3.6 in /Plan/react/dashboard (#2981)
Bumps [axios](https://github.com/axios/axios) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.3.5...v1.3.6)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-04-23 07:44:30 +03:00
dependabot[bot] 2679f158e9
Bump i18next from 22.4.14 to 22.4.15 in /Plan/react/dashboard (#2982)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.14 to 22.4.15.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.14...v22.4.15)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-04-23 07:44:23 +03:00
dependabot[bot] 85bcd19ab4
Bump com.github.node-gradle.node from 3.5.1 to 3.6.0 in /Plan (#2984)
Bumps com.github.node-gradle.node from 3.5.1 to 3.6.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>
2023-04-23 07:44:14 +03:00
dependabot[bot] 83f8d25938
Bump mysql:mysql-connector-java from 8.0.32 to 8.0.33 in /Plan (#2985)
Bumps mysql:mysql-connector-java from 8.0.32 to 8.0.33.

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-java
  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>
2023-04-23 07:44:05 +03:00
dependabot[bot] 1420af772d
Bump mockitoVersion from 5.3.0 to 5.3.1 in /Plan (#2987)
Bumps `mockitoVersion` from 5.3.0 to 5.3.1.

Updates `org.mockito:mockito-core` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.0...v5.3.1)

Updates `org.mockito:mockito-junit-jupiter` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-04-23 07:43:56 +03:00
Aurora Lahtela 1ad2de8d1c Bump Extension LibertyBans to R1.4
Affects issues:
- Fixed #2948
2023-04-23 07:43:04 +03:00
Aurora Lahtela f2cb56d04c Implement support for HTML and COMPONENT extension value types
Affects issues:
- Fixed #2950
2023-04-22 18:49:53 +03:00
Aurora Lahtela 5161f6f825 Bump LibertyBans Extension to 1.1.0-R1.3
Affects issues:
- Possibly fixed #2948
2023-04-22 18:38:18 +03:00
Aurora Lahtela de884cd681 Improve Extension error handling 2023-04-18 19:14:12 +03:00
Aurora Lahtela 5f0ecb8bbe Fix theme not applying by default 2023-04-16 19:54:10 +03:00
Aurora Lahtela 10383da94a Add Database.MySQL.Max_Lifetime settings 2023-04-16 15:53:51 +03:00
dependabot[bot] 08e13cfddb
Bump jettyVersion from 11.0.14 to 11.0.15 in /Plan (#2978)
Bumps `jettyVersion` from 11.0.14 to 11.0.15.

Updates `org.eclipse.jetty:jetty-server` from 11.0.14 to 11.0.15
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.14...jetty-11.0.15)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.14 to 11.0.15

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.14 to 11.0.15

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2023-04-14 08:14:24 +03:00
dependabot[bot] 8cc7c55ad5
Bump com.github.ben-manes.caffeine:caffeine from 3.1.5 to 3.1.6 in /Plan (#2977)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.5...v3.1.6)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  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>
2023-04-14 08:13:38 +03:00
dependabot[bot] 70d1dfa6e9
Bump i18next-localstorage-backend in /Plan/react/dashboard (#2973)
Bumps [i18next-localstorage-backend](https://github.com/i18next/i18next-localStorage-backend) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/i18next/i18next-localStorage-backend/releases)
- [Changelog](https://github.com/i18next/i18next-localstorage-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-localStorage-backend/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: i18next-localstorage-backend
  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>
2023-04-14 08:13:33 +03:00
dependabot[bot] 7053caeee9
Bump adventureVersion from 4.13.0 to 4.13.1 in /Plan (#2975)
Bumps `adventureVersion` from 4.13.0 to 4.13.1.

Updates `net.kyori:adventure-text-serializer-gson` from 4.13.0 to 4.13.1
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.0...v4.13.1)

Updates `net.kyori:adventure-text-serializer-legacy` from 4.13.0 to 4.13.1
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.0...v4.13.1)

Updates `net.kyori:adventure-text-minimessage` from 4.13.0 to 4.13.1
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.0...v4.13.1)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-text-serializer-gson
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: net.kyori:adventure-text-serializer-legacy
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: net.kyori:adventure-text-minimessage
  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>
2023-04-14 08:13:25 +03:00
dependabot[bot] f2aeb14fd0
Bump sass from 1.61.0 to 1.62.0 in /Plan/react/dashboard (#2974)
Bumps [sass](https://github.com/sass/dart-sass) from 1.61.0 to 1.62.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.61.0...1.62.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-04-14 08:13:04 +03:00
dependabot[bot] ff504b2643
Bump net.kyori:adventure-api from 4.13.0 to 4.13.1 in /Plan (#2976)
Bumps [net.kyori:adventure-api](https://github.com/KyoriPowered/adventure) from 4.13.0 to 4.13.1.
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.13.0...v4.13.1)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-api
  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>
2023-04-14 08:12:54 +03:00
dependabot[bot] df85fa0990
Bump react-bootstrap from 2.7.2 to 2.7.3 in /Plan/react/dashboard (#2972)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.7.2 to 2.7.3.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.7.2...v2.7.3)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-04-14 08:12:51 +03:00
dependabot[bot] 8a45bd08d0
Bump mockitoVersion from 5.2.0 to 5.3.0 in /Plan (#2971)
Bumps `mockitoVersion` from 5.2.0 to 5.3.0.

Updates `org.mockito:mockito-core` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.2.0...v5.3.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-04-14 08:12:44 +03:00
Antti Koponen 3f8682b11a
Update fabric networking in fabric.mod.json (#2970) 2023-04-12 07:04:49 +03:00
AuroraLS3 a63313ba52 Update versions.txt 5.5 DEV build 2335 2023-04-09 07:37:38 +00:00
Aurora Lahtela f7cec19372
Multi proxy support (#2968)
- Change proxy server info storage to allow multiple proxies to exist in the database
- Allow naming Proxies with Server.Name config setting
- Server.IP is no longer required to be set during installation
- Change logic reliant on single proxy server to consider multiple proxies
  - If multiple proxies have webserver or export enabled, the address given by commands can be any of them.
- Network players online graph now stacks if redisbungee is not used. Individual players online graphs for different proxies can be viewed from Performance tab.
- Last Peak and All Time Peak are not given for multi-proxy networks without redisbungee since it would be expensive to calculate.
- Improved network performance tab considerably
- /plan info displays the Server UUID of the current server
- /plan server link goes to /server/UUID instead of /server/Name
- Fix join address graphs not loading if strict GROUP BY is enabled in MySQL

Affects issues:
- Close #1454
2023-04-09 10:10:28 +03:00
Aurora Lahtela f43d8f89fb Fix some sonar smells in frontend code 2023-04-08 09:13:38 +03:00
Aurora Lahtela 58eae50428 Configuration options for logging request headers to console 2023-04-08 07:47:48 +03:00
Aurora Lahtela bb6dc692cd Update custom locale files automatically when loaded
Affects issues:
- Fixed #2949
2023-04-07 14:31:24 +03:00
dependabot[bot] 65f91b7f6b
Bump testContainersVersion from 1.17.6 to 1.18.0 in /Plan (#2963)
Bumps `testContainersVersion` from 1.17.6 to 1.18.0.

Updates `org.testcontainers:testcontainers` from 1.17.6 to 1.18.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.17.6...1.18.0)

Updates `org.testcontainers:junit-jupiter` from 1.17.6 to 1.18.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.17.6...1.18.0)

Updates `org.testcontainers:nginx` from 1.17.6 to 1.18.0
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.17.6...1.18.0)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.testcontainers:nginx
  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>
2023-04-07 07:52:21 +03:00
dependabot[bot] e5bf0b09e5
Bump i18next from 22.4.13 to 22.4.14 in /Plan/react/dashboard (#2964)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.13 to 22.4.14.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.13...v22.4.14)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-04-07 07:52:09 +03:00
dependabot[bot] 66041f1b41
Bump sass from 1.60.0 to 1.61.0 in /Plan/react/dashboard (#2965)
Bumps [sass](https://github.com/sass/dart-sass) from 1.60.0 to 1.61.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.60.0...1.61.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-04-07 07:51:57 +03:00
dependabot[bot] 650734c2bc
Bump axios from 1.3.4 to 1.3.5 in /Plan/react/dashboard (#2966)
Bumps [axios](https://github.com/axios/axios) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.3.4...v1.3.5)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-04-07 07:51:45 +03:00
Aurora Lahtela 3b40188bf5 Fix same server check logging warning every 30 min 2023-04-06 21:15:50 +03:00
Aurora Lahtela c1f08cbc99 Fix tests 2023-04-06 21:00:10 +03:00
Aurora Lahtela ef7ddc0766 Warn about two servers storing data as same one
Affects issues:
- Close #2049
2023-04-06 20:37:05 +03:00
Aurora Lahtela e40793d2b8 Add warning to server list if server hasn't sent data for over 24h
The warning is demoted if data doesn't arrive in 7 days to a grey warning
And again after 30 days it changes to an archive to signify the server might be gone for good.

Affects issues:
- Close #2595
2023-04-06 19:57:45 +03:00
Aurora Lahtela 720cf4374e Correct MySQL charset and collation encoding if they're wrong
Affects issues:
- Close #2293
2023-04-06 18:58:42 +03:00
WolverStone 9dd6fab80b
Update locale_CS.yml (#2961)
Fix typos and add missing translation
2023-04-06 07:36:40 +03:00
WolverStone 7a09d04c8c
Update locale_CS.yml (#2960) 2023-04-05 16:09:09 +03:00
dependabot[bot] 399b9c1525
Bump react-router-dom from 6.7.0 to 6.10.0 in /Plan/react/dashboard (#2953)
* Bump react-router-dom from 6.7.0 to 6.10.0 in /Plan/react/dashboard

Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.7.0 to 6.10.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.10.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Fix Open URI redirect with login redirect

Affects issues:
- Fixed #2747

* Tested open redirection and fixed addresses that bypassed the protection

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-04-01 11:19:39 +03:00
dependabot[bot] ec41b81f7b
Bump @fortawesome/free-solid-svg-icons in /Plan/react/dashboard (#2955)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  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>
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-04-01 08:58:50 +03:00
dependabot[bot] ad9d5dd13c
Bump @fortawesome/free-brands-svg-icons in /Plan/react/dashboard (#2959)
Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-brands-svg-icons"
  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>
2023-04-01 08:51:39 +03:00
dependabot[bot] 1112e9f37c
Bump @fortawesome/fontawesome-free in /Plan/react/dashboard (#2954)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  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>
2023-04-01 08:51:26 +03:00
dependabot[bot] e576683080
Bump slf4jVersion from 2.0.6 to 2.0.7 in /Plan (#2937)
Bumps `slf4jVersion` from 2.0.6 to 2.0.7.

Updates `org.slf4j:slf4j-nop` from 2.0.6 to 2.0.7
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.6...v_2.0.7)

Updates `org.slf4j:slf4j-api` from 2.0.6 to 2.0.7
- [Release notes](https://github.com/qos-ch/slf4j/releases)
- [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.6...v_2.0.7)

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-nop
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-api
  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>
2023-04-01 08:51:18 +03:00
dependabot[bot] 5ea01542bc
Bump swagger-ui from 4.18.1 to 4.18.2 in /Plan/react/dashboard (#2958)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.18.1 to 4.18.2.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.18.1...v4.18.2)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-04-01 08:50:03 +03:00
dependabot[bot] 4e5955abc3
Bump @fortawesome/fontawesome-svg-core in /Plan/react/dashboard (#2957)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  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>
2023-04-01 08:49:55 +03:00
dependabot[bot] 4725b4a801
Bump @fortawesome/free-regular-svg-icons in /Plan/react/dashboard (#2952)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-regular-svg-icons"
  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>
2023-04-01 08:49:42 +03:00
dependabot[bot] b9085c155d
Bump bstatsVersion from 3.0.1 to 3.0.2 in /Plan (#2951)
Bumps `bstatsVersion` from 3.0.1 to 3.0.2.

Updates `org.bstats:bstats-bukkit` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.1...v3.0.2)

Updates `org.bstats:bstats-sponge` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.1...v3.0.2)

Updates `org.bstats:bstats-bungeecord` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: org.bstats:bstats-bukkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.bstats:bstats-sponge
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.bstats:bstats-bungeecord
  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>
2023-04-01 08:47:48 +03:00
dependabot[bot] 414b9d1235
Bump org.seleniumhq.selenium:selenium-java from 4.8.2 to 4.8.3 in /Plan (#2956)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.2 to 4.8.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-01 08:46:59 +03:00
Aurora Lahtela 3da7612f92 Catch ExceptionInInitializerError when creating extension 2023-03-30 16:31:22 +03:00
Antti Koponen 64e2655466
Fabric 1.19.4 compatibility (#2944)
* Fabric 1.19.4 compatibility

- Upgraded to loom 1.1-SNAPSHOT
- Updated mappings & fixed injection targets
- Enabled ClientToServerHandshakePacketMixin (was missing from mixins JSON)
- Removed mixin for LocalServerHandshakeNetworkHandler, as that only handles local connections (client <-> its integrated server)
- Removed sunsetted velocitypowered.com repository

* Fix GameModeChangeListener not firing & add redundancy for not registering listeners twice

* Update Plan/fabric/src/main/java/net/playeranalytics/plan/gathering/listeners/fabric/DeathEventListener.java

---------

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2023-03-26 14:51:25 +03:00
AuroraLS3 5de8ae84ce Update versions.txt 5.5 build 2307 2023-03-26 09:07:22 +00:00
dependabot[bot] 904e9282c4
Bump org.xerial:sqlite-jdbc from 3.41.0.0 to 3.41.2.1 in /Plan (#2946)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.41.0.0 to 3.41.2.1.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.41.0.0...3.41.2.1)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2023-03-26 11:48:25 +03:00
dependabot[bot] 77ddddedc9
Bump org.seleniumhq.selenium:selenium-java from 4.8.1 to 4.8.2 in /Plan (#2945)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.1 to 4.8.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-26 11:46:00 +03:00
Aurora Lahtela ab3971616d Fix tests 2023-03-26 11:45:42 +03:00
Aurora Lahtela d7aab58aa1 Improve player head display on mobile
Affects issues:
- Fixed #2087
2023-03-26 11:35:22 +03:00
Aurora Lahtela 1f89eec3f6 Reduce font size on really thin devices
Affects issues:
- Fixed #2156
2023-03-26 11:20:54 +03:00
Aurora Lahtela e5cf9cb4c5 Attempt to correct register date when gathering register date data
Affects issues:
- Possibly fixed #2934
2023-03-26 11:07:42 +03:00
Aurora Lahtela e4a32a2902 Make it possible to sort extension tables 2023-03-26 11:00:33 +03:00
dependabot[bot] ffba3c05db
Bump swaggerVersion from 2.2.8 to 2.2.9 in /Plan (#2935)
Bumps `swaggerVersion` from 2.2.8 to 2.2.9.

Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.8 to 2.2.9

Updates `io.swagger.core.v3:swagger-jaxrs2-jakarta` from 2.2.8 to 2.2.9

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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>
2023-03-26 10:37:08 +03:00
dependabot[bot] 2e8df264e5
Bump me.clip:placeholderapi from 2.11.2 to 2.11.3 in /Plan (#2936)
Bumps me.clip:placeholderapi from 2.11.2 to 2.11.3.

---
updated-dependencies:
- dependency-name: me.clip:placeholderapi
  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>
2023-03-26 10:36:58 +03:00
dependabot[bot] 89b912814d
Bump sass from 1.59.3 to 1.60.0 in /Plan/react/dashboard (#2940)
Bumps [sass](https://github.com/sass/dart-sass) from 1.59.3 to 1.60.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.59.3...1.60.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-03-26 10:36:47 +03:00
dependabot[bot] 2831913d1e
Bump io.swagger.core.v3.swagger-gradle-plugin in /Plan (#2941)
Bumps io.swagger.core.v3.swagger-gradle-plugin from 2.2.8 to 2.2.9.

---
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>
2023-03-26 10:36:38 +03:00
dependabot[bot] f51952639c
Bump org.apache.commons:commons-compress from 1.22 to 1.23.0 in /Plan (#2939)
Bumps org.apache.commons:commons-compress from 1.22 to 1.23.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  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>
2023-03-26 10:36:30 +03:00
dependabot[bot] 9e5d5fcdc0
Bump i18next from 22.4.11 to 22.4.13 in /Plan/react/dashboard (#2938)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.11 to 22.4.13.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.11...v22.4.13)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-03-26 10:36:17 +03:00
dependabot[bot] ef0314f007
Bump org.xerial:sqlite-jdbc from 3.41.0.0 to 3.41.2.0 in /Plan (#2943)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.41.0.0 to 3.41.2.0.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/commits)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2023-03-26 10:36:06 +03:00
Aurora Lahtela a2db9e1da5 Bump FloodgateExtension to R1.4
Fixed NPE if API is not available

Affects issues:
- Fixed #2915
2023-03-26 10:35:03 +03:00
Aurora Lahtela c4058d3edb Fixed data was not updating on page change
When switching from any page with a shared data fetch method between server
and network, such as join address graph, the network page would not update
the data, since the identifier is not in the parameter list.

This was fixed by also checking parameters.length in useEffect dependencies.
2023-03-19 09:37:22 +02:00
AuroraLS3 c2000db8de Update versions.txt 5.5 DEV build 2290 2023-03-17 18:09:32 +00:00
dependabot[bot] e96a26b685
Bump datatables.net-responsive-bs5 in /Plan/react/dashboard (#2926)
Bumps [datatables.net-responsive-bs5](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Responsive-Bootstrap5/compare/2.4.0...2.4.1)

---
updated-dependencies:
- dependency-name: datatables.net-responsive-bs5
  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>
2023-03-17 19:08:47 +02:00
dependabot[bot] 2156c1ece5
Bump datatables.net from 1.13.3 to 1.13.4 in /Plan/react/dashboard (#2929)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.13.3...1.13.4)

---
updated-dependencies:
- dependency-name: datatables.net
  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>
2023-03-17 19:08:38 +02:00
dependabot[bot] ab7a3d7793
Bump sass from 1.58.3 to 1.59.3 in /Plan/react/dashboard (#2925)
Bumps [sass](https://github.com/sass/dart-sass) from 1.58.3 to 1.59.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.3...1.59.3)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-03-17 18:47:30 +02:00
dependabot[bot] 040861ffd1
Bump datatables.net-bs5 from 1.13.3 to 1.13.4 in /Plan/react/dashboard (#2927)
Bumps [datatables.net-bs5](https://github.com/DataTables/Dist-DataTables-Bootstrap5) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Bootstrap5/compare/1.13.3...1.13.4)

---
updated-dependencies:
- dependency-name: datatables.net-bs5
  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>
2023-03-17 18:47:19 +02:00
dependabot[bot] 3627b39f3c
Bump net.kyori:adventure-api from 4.12.0 to 4.13.0 in /Plan (#2930)
Bumps [net.kyori:adventure-api](https://github.com/KyoriPowered/adventure) from 4.12.0 to 4.13.0.
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.12.0...v4.13.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-17 18:47:04 +02:00
dependabot[bot] 3e21010766
Bump adventureVersion from 4.12.0 to 4.13.0 in /Plan (#2923)
Bumps `adventureVersion` from 4.12.0 to 4.13.0.

Updates `net.kyori:adventure-text-serializer-gson` from 4.12.0 to 4.13.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.12.0...v4.13.0)

Updates `net.kyori:adventure-text-serializer-legacy` from 4.12.0 to 4.13.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.12.0...v4.13.0)

Updates `net.kyori:adventure-text-minimessage` from 4.12.0 to 4.13.0
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.12.0...v4.13.0)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-text-serializer-gson
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: net.kyori:adventure-text-serializer-legacy
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: net.kyori:adventure-text-minimessage
  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>
2023-03-17 18:46:53 +02:00
dependabot[bot] 2b54407595
Bump i18next-http-backend from 2.1.1 to 2.2.0 in /Plan/react/dashboard (#2928)
Bumps [i18next-http-backend](https://github.com/i18next/i18next-http-backend) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/i18next/i18next-http-backend/releases)
- [Changelog](https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-http-backend/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: i18next-http-backend
  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>
2023-03-17 18:46:45 +02:00
dependabot[bot] a1f2be0987
Bump swagger-ui from 4.17.0 to 4.18.1 in /Plan/react/dashboard (#2931)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.17.0 to 4.18.1.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.17.0...v4.18.1)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-03-17 18:46:41 +02:00
dependabot[bot] 61bc57a79d
Bump com.maxmind.geoip2:geoip2 from 4.0.0 to 4.0.1 in /Plan (#2903)
Bumps [com.maxmind.geoip2:geoip2](https://github.com/maxmind/GeoIP2-java) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/maxmind/GeoIP2-java/releases)
- [Changelog](https://github.com/maxmind/GeoIP2-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maxmind/GeoIP2-java/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: com.maxmind.geoip2:geoip2
  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>
2023-03-17 18:38:01 +02:00
dependabot[bot] b0cafaf8b3
Bump mockitoVersion from 5.1.1 to 5.2.0 in /Plan (#2911)
Bumps `mockitoVersion` from 5.1.1 to 5.2.0.

Updates `org.mockito:mockito-core` from 5.1.1 to 5.2.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.1.1...v5.2.0)

Updates `org.mockito:mockito-junit-jupiter` from 5.1.1 to 5.2.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.1.1...v5.2.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-03-17 18:26:34 +02:00
dependabot[bot] 4a814c606d
Bump i18next from 22.4.10 to 22.4.11 in /Plan/react/dashboard (#2909)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.10 to 22.4.11.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.10...v22.4.11)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-03-17 18:26:24 +02:00
dependabot[bot] 6cec365d46
Bump com.github.ben-manes.caffeine:caffeine from 3.1.4 to 3.1.5 in /Plan (#2910)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.4...v3.1.5)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  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>
2023-03-17 18:26:06 +02:00
Aurora Lahtela c20a746bd6
Add player retention analysis graph (#2917)
Adds a graph to network and server pages that has options to:
- Draw graphs at different time resolutions
- Limit input data by time
- Group players by register date or join address
- Visualize retention in different ways
  - Time since registration date
  - Playtime
  - Date
  - Cumulative player gain
  - Percentage / Player count / Stacked player count

Any and all combinations are allowed which allows extensive analysis of player retention. Help sections attempt to make the data understandable and show examples.

Affects issues:
- Close #2159
2023-03-17 18:25:38 +02:00
dependabot[bot] dc94e45f98
Bump webpack from 5.72.0 to 5.76.1 in /Plan/react/dashboard (#2918)
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.0 to 5.76.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.72.0...v5.76.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 16:16:20 +02:00
Aurora Lahtela c1684a55df Fix Network > Servers Overview Quick View players online graph
Affects issues:
- Fixed #2908
2023-03-10 07:28:24 +02:00
TheLittle_Yang d96dce8c14
update locale_CN.yml (#2907) 2023-03-09 16:56:43 +02:00
Aurora Lahtela 4814b27399 Fixed night mode sidebar being transparent 2023-03-06 19:01:28 +02:00
AuroraLS3 d1889f5205 Update versions.txt 5.5 build 2272 2023-03-05 07:40:24 +00:00
Aurora Lahtela 3569034dc4 Translate the retention help prompt 2023-03-05 09:11:33 +02:00
Aurora Lahtela d27af20774 Added help modal for new player retention 2023-03-05 09:06:14 +02:00
dependabot[bot] 9d8a851b14
Bump datatables.net-bs5 from 1.13.2 to 1.13.3 in /Plan/react/dashboard (#2898)
Bumps [datatables.net-bs5](https://github.com/DataTables/Dist-DataTables-Bootstrap5) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Bootstrap5/compare/1.13.2...1.13.3)

---
updated-dependencies:
- dependency-name: datatables.net-bs5
  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>
2023-03-04 21:02:19 +02:00
Aurora Lahtela 7b3c436872 Update locale files with the text of new help window 2023-03-04 19:17:03 +02:00
Aurora Lahtela b3a8fee22d Add information modal about activity index 2023-03-04 19:13:35 +02:00
Aurora Lahtela 31d6fb1cb1 Allow switching between same page for different servers
This should make it easier to compare different servers quickly
2023-03-04 13:56:19 +02:00
Aurora Lahtela 2da4357527 Fixed plugin boxes overlapping
When switching between plugins tabs on player page the Y height of the first
plugins tab was used, which caused overlapping when another tab had more
plugins than the other one
2023-03-04 13:36:05 +02:00
Aurora Lahtela e736055898 Fix page extension api not loading scripts 2023-03-04 10:56:56 +02:00
Aurora Lahtela 5654710ed6 Fix GroupTable breaking when there were more groups than colors 2023-03-04 10:12:28 +02:00
Aurora Lahtela e9496e924f Fix page breaking after login
Navigation button broke the page due to requiring network metadata,
which was fetched when login page was loaded. Unfortunately
the endpoint required permissions so nothing was actually loaded.

- Load metadata after login
- Remove auth requirement from networkMetadata and serverIdentity endpoints
2023-03-04 10:10:20 +02:00
Aurora Lahtela 13cc314238 Log information to console if using custom react bundle 2023-03-04 09:44:01 +02:00
dependabot[bot] 0fb493f236
Bump swagger-ui from 4.15.5 to 4.17.0 in /Plan/react/dashboard (#2901)
Bumps [swagger-ui](https://github.com/swagger-api/swagger-ui) from 4.15.5 to 4.17.0.
- [Release notes](https://github.com/swagger-api/swagger-ui/releases)
- [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc)
- [Commits](https://github.com/swagger-api/swagger-ui/compare/v4.15.5...v4.17.0)

---
updated-dependencies:
- dependency-name: swagger-ui
  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>
2023-03-03 08:47:47 +02:00
dependabot[bot] c224cd4bb0
Bump jettyVersion from 11.0.13 to 11.0.14 in /Plan (#2900)
Bumps `jettyVersion` from 11.0.13 to 11.0.14.

Updates `org.eclipse.jetty:jetty-server` from 11.0.13 to 11.0.14
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.13...jetty-11.0.14)

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 11.0.13 to 11.0.14

Updates `org.eclipse.jetty.http2:http2-server` from 11.0.13 to 11.0.14

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  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>
2023-03-03 08:46:06 +02:00
dependabot[bot] fc7155eb19
Bump datatables.net from 1.13.2 to 1.13.3 in /Plan/react/dashboard (#2897)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.13.2...1.13.3)

---
updated-dependencies:
- dependency-name: datatables.net
  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>
2023-03-03 08:45:53 +02:00
dependabot[bot] 1b3adb899e
Bump dns-packet from 5.3.1 to 5.4.0 in /Plan/react/dashboard (#2896)
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v5.3.1...5.4.0)

---
updated-dependencies:
- dependency-name: dns-packet
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-03 08:17:53 +02:00
Aurora Lahtela 274d99b54d Remove unnecessary useCallback dependencies 2023-02-28 20:15:27 +02:00
Aurora Lahtela 6b2486f80d Catch component level errors at high level 2023-02-27 17:41:32 +02:00
AuroraLS3 62ad253c09 Update versions.txt 5.5 DEV build 2254 2023-02-25 13:03:38 +00:00
Aurora Lahtela 2a3d3bbbc9 Enabled React frontend by default
Added Plugin.Use_Legacy_Frontend to help migrating html customizations to new version
2023-02-25 14:31:11 +02:00
Aurora Lahtela b92e886a39
React PageExtension Javascript APIs (#2894)
* Page extension api javascript file
* Add support for extending rows with pageExtensionApi
Tested it
* Support javascript snippets in react index.html
* Add context to pageExtensionApi calls
* Fix redirect text overlapping with sidebar
* Add new API for registering custom javascript and css
2023-02-25 13:57:12 +02:00
Aurora Lahtela 154d0b2b46 Refactored FullSystemExtension to be easier to maintain 2023-02-25 12:17:30 +02:00
Aurora Lahtela d25d013b75 Test file extensions supported by public html 2023-02-24 20:08:40 +02:00
dependabot[bot] 7ccc957929
Bump org.xerial:sqlite-jdbc from 3.40.1.0 to 3.41.0.0 in /Plan (#2891)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.40.1.0 to 3.41.0.0.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.40.1.0...3.41.0.0)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2023-02-24 19:38:46 +02:00
dependabot[bot] 76aabe8c5a
Bump axios from 1.3.3 to 1.3.4 in /Plan/react/dashboard (#2888)
Bumps [axios](https://github.com/axios/axios) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.3.3...v1.3.4)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-02-24 19:31:35 +02:00
dependabot[bot] e16a12f6c3
Bump react-i18next from 12.1.5 to 12.2.0 in /Plan/react/dashboard (#2889)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.1.5 to 12.2.0.
- [Release notes](https://github.com/i18next/react-i18next/releases)
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.1.5...v12.2.0)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-02-24 19:30:41 +02:00
dependabot[bot] 7f731e92c8
Bump com.github.ben-manes.caffeine:caffeine from 3.1.3 to 3.1.4 in /Plan (#2893)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.3...v3.1.4)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  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>
2023-02-24 19:30:15 +02:00
dependabot[bot] 344790958b
Bump i18next from 22.4.9 to 22.4.10 in /Plan/react/dashboard (#2887)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.9 to 22.4.10.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.9...v22.4.10)

---
updated-dependencies:
- dependency-name: i18next
  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>
2023-02-24 19:29:58 +02:00
dependabot[bot] 64fb2063b4
Bump org.seleniumhq.selenium:selenium-java from 4.8.0 to 4.8.1 in /Plan (#2892)
Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.8.0...selenium-4.8.1)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 19:28:48 +02:00
dependabot[bot] 665d80ff46
Bump sass from 1.58.1 to 1.58.3 in /Plan/react/dashboard (#2890)
Bumps [sass](https://github.com/sass/dart-sass) from 1.58.1 to 1.58.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.1...1.58.3)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-02-24 19:28:08 +02:00
Aurora Lahtela 020e49e0d5 Fixed subdirectory path replacement
The minified bundle variable name changed.
This should sort it out
2023-02-17 17:45:32 +02:00
dependabot[bot] 701f4d3393
Bump @testing-library/react in /Plan/react/dashboard (#2881)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 12.1.5 to 14.0.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v12.1.5...v14.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 17:26:41 +02:00
dependabot[bot] a32db205db
Bump axios from 1.3.1 to 1.3.3 in /Plan/react/dashboard (#2880)
Bumps [axios](https://github.com/axios/axios) from 1.3.1 to 1.3.3.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.3.1...v1.3.3)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-02-17 17:04:05 +02:00
dependabot[bot] 2ac2ae2e74
Bump @fortawesome/free-regular-svg-icons in /Plan/react/dashboard (#2872)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-regular-svg-icons"
  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>
2023-02-17 17:00:56 +02:00
dependabot[bot] 47a988ac0b
Bump @fortawesome/free-brands-svg-icons in /Plan/react/dashboard (#2873)
Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-brands-svg-icons"
  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>
2023-02-17 16:58:26 +02:00
dependabot[bot] 2934fa8944
Bump @fortawesome/free-solid-svg-icons in /Plan/react/dashboard (#2868)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  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>
2023-02-17 16:58:11 +02:00
dependabot[bot] 40321ece1e
Bump @fortawesome/fontawesome-free in /Plan/react/dashboard (#2875)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  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>
2023-02-17 16:57:39 +02:00
dependabot[bot] 1dec9fc6c7
Bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929 in /Plan (#2884)
Bumps org.sonarqube from 3.5.0.2730 to 4.0.0.2929.

---
updated-dependencies:
- dependency-name: org.sonarqube
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 16:51:39 +02:00
dependabot[bot] 707abd172c
Bump com.github.ben-manes.caffeine:caffeine from 3.1.2 to 3.1.3 in /Plan (#2879)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  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>
2023-02-17 16:49:41 +02:00
dependabot[bot] 600287c5e4
Bump react-bootstrap from 2.7.0 to 2.7.2 in /Plan/react/dashboard (#2882)
Bumps [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) from 2.7.0 to 2.7.2.
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.7.0...v2.7.2)

---
updated-dependencies:
- dependency-name: react-bootstrap
  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>
2023-02-17 16:46:42 +02:00
dependabot[bot] 1a2fd72aa6
Bump datatables.net from 1.13.1 to 1.13.2 in /Plan/react/dashboard (#2866)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.13.1...1.13.2)

---
updated-dependencies:
- dependency-name: datatables.net
  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>
2023-02-17 16:45:33 +02:00
dependabot[bot] 0c23bdb3f8
Bump bstatsVersion from 3.0.0 to 3.0.1 in /Plan (#2878)
Bumps `bstatsVersion` from 3.0.0 to 3.0.1.

Updates `org.bstats:bstats-bukkit` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.0...v3.0.1)

Updates `org.bstats:bstats-sponge` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.0...v3.0.1)

Updates `org.bstats:bstats-bungeecord` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/Bastian/bStats-Metrics/releases)
- [Commits](https://github.com/Bastian/bStats-Metrics/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: org.bstats:bstats-bukkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.bstats:bstats-sponge
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.bstats:bstats-bungeecord
  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>
2023-02-17 16:39:08 +02:00
dependabot[bot] 8863151ef7
Bump @fortawesome/fontawesome-svg-core in /Plan/react/dashboard (#2871)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  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>
2023-02-17 16:36:09 +02:00
dependabot[bot] e67d4e0792
Bump sass from 1.58.0 to 1.58.1 in /Plan/react/dashboard (#2883)
Bumps [sass](https://github.com/sass/dart-sass) from 1.58.0 to 1.58.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.0...1.58.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-02-17 16:32:02 +02:00
dependabot[bot] 7b6e0bf519
Bump datatables.net-bs5 from 1.13.1 to 1.13.2 in /Plan/react/dashboard (#2869)
Bumps [datatables.net-bs5](https://github.com/DataTables/Dist-DataTables-Bootstrap5) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/DataTables/Dist-DataTables-Bootstrap5/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-Bootstrap5/compare/1.13.1...1.13.2)

---
updated-dependencies:
- dependency-name: datatables.net-bs5
  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>
2023-02-17 16:29:59 +02:00
dependabot[bot] 123c412036
Bump daggerVersion from 2.44.2 to 2.45 in /Plan (#2870)
Bumps `daggerVersion` from 2.44.2 to 2.45.

Updates `com.google.dagger:dagger` from 2.44.2 to 2.45
- [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.44.2...dagger-2.45)

Updates `com.google.dagger:dagger-compiler` from 2.44.2 to 2.45
- [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.44.2...dagger-2.45)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  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>
2023-02-17 16:29:05 +02:00
Aurora Lahtela 7786767fa8
Changed java and react badges to be cleaner 2023-02-14 17:22:20 +02:00
Aurora Lahtela 776fa3327f Fixed issues with peak player count query optimization 2023-02-13 18:23:38 +02:00
Aurora Lahtela 226bc20e3f Speed up /v1/network/servers by 66%
Benchmark: endpoint (fetchPeakPlayerCount is the highest contributor)
- Before: 10 seconds (1s * server count)
- Before: 3 seconds (332ms * server count)
2023-02-12 10:37:52 +02:00
Aurora Lahtela 55d2366d4b
Add React badges to README 2023-02-08 08:44:08 +02:00
Aurora Lahtela 49a8db83c8 Fix ci.yml syntax 2023-02-07 21:36:44 +02:00
Aurora Lahtela 6e5cb3b9f2 Add React Sonar Scan 2023-02-07 21:35:13 +02:00
Aurora Lahtela a2d92a34cb Update to React 18 and react-bootstrap 2 2023-02-06 19:01:33 +02:00
dependabot[bot] c28f239ddc
Bump @fullcalendar/daygrid in /Plan/react/dashboard (#2846)
Bumps [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/v5.11.4/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v5.11.4/packages/daygrid)

---
updated-dependencies:
- dependency-name: "@fullcalendar/daygrid"
  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>
2023-02-05 15:47:54 +02:00
dependabot[bot] 05a13a3435
Bump axios from 1.2.3 to 1.3.1 in /Plan/react/dashboard (#2857)
Bumps [axios](https://github.com/axios/axios) from 1.2.3 to 1.3.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.2.3...v1.3.1)

---
updated-dependencies:
- dependency-name: axios
  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>
2023-02-05 15:47:38 +02:00
dependabot[bot] 735dea4d61
Bump react-i18next from 12.1.4 to 12.1.5 in /Plan/react/dashboard (#2858)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.1.4 to 12.1.5.
- [Release notes](https://github.com/i18next/react-i18next/releases)
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.1.4...v12.1.5)

---
updated-dependencies:
- dependency-name: react-i18next
  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>
2023-02-05 15:46:42 +02:00
dependabot[bot] b73e494101
Bump sass from 1.57.1 to 1.58.0 in /Plan/react/dashboard (#2855)
Bumps [sass](https://github.com/sass/dart-sass) from 1.57.1 to 1.58.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.57.1...1.58.0)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-02-05 15:46:35 +02:00
dependabot[bot] aa9d45178f
Bump @fullcalendar/bootstrap in /Plan/react/dashboard (#2848)
Bumps [@fullcalendar/bootstrap](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/bootstrap4) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v5.11.4/packages/bootstrap4)

---
updated-dependencies:
- dependency-name: "@fullcalendar/bootstrap"
  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>
2023-02-05 15:45:39 +02:00
dependabot[bot] 09cd482ea4
Bump @fullcalendar/react from 5.11.3 to 5.11.4 in /Plan/react/dashboard (#2847)
Bumps [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/fullcalendar/fullcalendar-react/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar-react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar-react/compare/v5.11.3...v5.11.4)

---
updated-dependencies:
- dependency-name: "@fullcalendar/react"
  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>
2023-02-05 15:45:22 +02:00
dependabot[bot] 8c7b0d86ae
Bump selenium-java from 4.7.2 to 4.8.0 in /Plan (#2843)
Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.2 to 4.8.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.8.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-05 15:42:18 +02:00
dependabot[bot] 06a45309fc
Bump highcharts from 10.3.2 to 10.3.3 in /Plan/react/dashboard (#2845)
Bumps [highcharts](https://github.com/highcharts/highcharts-dist) from 10.3.2 to 10.3.3.
- [Release notes](https://github.com/highcharts/highcharts-dist/releases)
- [Commits](https://github.com/highcharts/highcharts-dist/compare/v10.3.2...v10.3.3)

---
updated-dependencies:
- dependency-name: highcharts
  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>
2023-02-05 15:42:05 +02:00
dependabot[bot] e7b2d0a75e
Bump mockitoVersion from 5.0.0 to 5.1.1 in /Plan (#2854)
Bumps `mockitoVersion` from 5.0.0 to 5.1.1.

Updates `org.mockito:mockito-core` from 5.0.0 to 5.1.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.0.0...v5.1.1)

Updates `org.mockito:mockito-junit-jupiter` from 5.0.0 to 5.1.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.0.0...v5.1.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-02-05 15:41:50 +02:00
dependabot[bot] 47dbece4c0
Bump org.xerial:sqlite-jdbc from 3.40.0.0 to 3.40.1.0 in /Plan (#2856)
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from 3.40.0.0 to 3.40.1.0.
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](https://github.com/xerial/sqlite-jdbc/compare/3.40.0.0...3.40.1.0)

---
updated-dependencies:
- dependency-name: org.xerial:sqlite-jdbc
  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>
2023-02-05 15:41:10 +02:00
Aurora Lahtela f8e0975c14 Fix dev server leaving zombie node process behind 2023-02-05 15:03:05 +02:00
AuroraLS3 a9348fe2c4 Update versions.txt 5.5 DEV build 2208 2023-02-05 10:35:21 +00:00
Aurora Lahtela 09279cbb66
React html customization / public_html folder (#2862)
* Add public_html folder, configuration and access methods to it
* Make Frontend BETA static resource resolution prefer public_html
* Add resolver for getting any file in public_html from webserver
* Test customized bundle loading from public_html
* Update gradle wrapper to 7.6
* Wrote scripts to React build or run dev server through gradle
* Disable cyclomatic-complexity check on PublicHtmlResolver
* Throw bad request exception on IllegalPathException
* Throw bad request exception on bad chars in URI query
2023-02-05 12:08:29 +02:00
Aurora Lahtela 413e087c4d Improved navigation significantly on mobile
Affects issues:
- Close #2228
2023-02-03 20:29:03 +02:00
Aurora Lahtela 12d22f945f Unregister placeholder api extension synchronously
Affects issues:
- Fixed #2841
2023-02-03 17:16:49 +02:00
Aurora Lahtela 5b6efa0438 Fix ERR_NETWORK_CHANGED on CI 2023-02-03 17:07:35 +02:00
Aurora Lahtela 6de06f6ae2
Delete security_vuln.md 2023-02-02 11:17:14 +02:00
Aurora Lahtela 4e486032f3 Fix some issues with the new navigation button 2023-01-26 14:39:17 +02:00
Aurora Lahtela 362bb44aad Implement a page navigation button
Improve page loading and theme system
- The sidebar is visible while loading with css
  There was an apparent problem when switching pages with the new switcher
- css variables are now used
- Theme color is applied to several buttons and texts
  where previously Plan color was used

Affects issues:
- Implements #2357
2023-01-26 14:18:51 +02:00
Aurora Lahtela b1a63d57b6 Don't accept redirect in https test 2023-01-25 21:50:03 +02:00
Aurora Lahtela 8dccb060c0 Skip javascript translation on React bundle files
Affects issues:
- Fixed #2799
2023-01-22 14:50:42 +02:00
Aurora Lahtela 63350a4fea Fix PlayerTableRowPatch is applied check 2023-01-22 14:31:10 +02:00
Aurora Lahtela acf9d92b1d Refactor duplicate code: command confirmation 2023-01-22 13:45:47 +02:00
Aurora Lahtela e0d80cb3b4 Filter out fonts.gstatic.com from test logs
This should sort out ERR_NETWORK_CHANGED error that appears from time to time
2023-01-22 13:12:52 +02:00
AuroraLS3 4f0d15b320 Update versions.txt 5.5 DEV build 2195 2023-01-22 08:29:54 +00:00
Aurora Lahtela 88b4191f6b
Implement http caching (#2840)
* Implement first response parts of http caching
* Implement cached response for static resources
* Implement HTTP caching for json responses
* Fix last seen value for online players
* Implement http caching for pages (.html)
* Use placeholder cache even with async requests.

Affects issues:
- Close #2813
2023-01-22 10:18:14 +02:00
Aurora Lahtela 0ddda27384 Implement a date formatter for Last-Modified header
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified
2023-01-21 15:22:04 +02:00
Aurora Lahtela 0bce7880cd Add support for getting last modified date to Resource
- Use AssetVersions.yml for jar files
- Use File#lastModified for regular files
2023-01-21 15:03:29 +02:00
Aurora Lahtela b26678b3dc Fix a couple issues in the react frontend
- Fix card tabs not working with the new react router
- Fix server list card showing "No servers installed" while loading
2023-01-21 12:59:57 +02:00
Aurora Lahtela d3be0e9f89 Optimized server latest join addresses query
Original benchmark: 19 seconds
Improved benchmark: 150 milliseconds
-> 120x faster
2023-01-21 12:47:13 +02:00
Aurora Lahtela 987fb7b56a Optimized server player list table query
Original benchmark: 4 seconds
Improved benchmark: 500 milliseconds
-> 8x faster
2023-01-21 12:17:46 +02:00
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 52a80622ce Fix sonar smells in fabric module 2023-01-20 22:17:40 +02:00
Aurora Lahtela 2eba115f6f Wrote tests for some commands 2023-01-20 21:03:15 +02:00
dependabot[bot] c22da1bf76
Bump i18next from 22.4.8 to 22.4.9 in /Plan/react/dashboard (#2827)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.8 to 22.4.9.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.8...v22.4.9)

---
updated-dependencies:
- dependency-name: i18next
  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 19:05:07 +02:00
dependabot[bot] 04c43fac79
Bump react-i18next from 12.1.1 to 12.1.4 in /Plan/react/dashboard (#2828)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 12.1.1 to 12.1.4.
- [Release notes](https://github.com/i18next/react-i18next/releases)
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v12.1.1...v12.1.4)

---
updated-dependencies:
- dependency-name: react-i18next
  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 19:04:57 +02:00
dependabot[bot] e21e7aa068
Bump geoip2 from 3.0.2 to 4.0.0 in /Plan (#2787)
Bumps [geoip2](https://github.com/maxmind/GeoIP2-java) from 3.0.2 to 4.0.0.
- [Release notes](https://github.com/maxmind/GeoIP2-java/releases)
- [Changelog](https://github.com/maxmind/GeoIP2-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maxmind/GeoIP2-java/compare/v3.0.2...v4.0.0)

---
updated-dependencies:
- dependency-name: com.maxmind.geoip2:geoip2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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 19:04:49 +02:00
dependabot[bot] 5bc58a893a
Bump gson from 2.10 to 2.10.1 in /Plan (#2823)
Bumps [gson](https://github.com/google/gson) from 2.10 to 2.10.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.10...gson-parent-2.10.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  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:43:26 +02:00
dependabot[bot] 6e29d62f17
Bump junit-jupiter from 5.9.1 to 5.9.2 in /Plan (#2825)
Bumps [junit-jupiter](https://github.com/junit-team/junit5) from 5.9.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  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:43:11 +02:00
dependabot[bot] 7ae218f558
Bump react-router-dom from 6.4.5 to 6.7.0 in /Plan/react/dashboard (#2836)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.4.5 to 6.7.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.7.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  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>
2023-01-20 18:42:57 +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
dependabot[bot] 468aada307
Bump swaggerVersion from 2.2.7 to 2.2.8 in /Plan (#2826)
Bumps `swaggerVersion` from 2.2.7 to 2.2.8.

Updates `swagger-core-jakarta` from 2.2.7 to 2.2.8

Updates `swagger-jaxrs2-jakarta` from 2.2.7 to 2.2.8

---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-jaxrs2-jakarta
  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:07 +02:00
dependabot[bot] 446a4c1cb3
Bump mockitoVersion from 4.11.0 to 5.0.0 in /Plan (#2835)
Bumps `mockitoVersion` from 4.11.0 to 5.0.0.

Updates `mockito-core` from 4.11.0 to 5.0.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.11.0...v5.0.0)

Updates `mockito-junit-jupiter` from 4.11.0 to 5.0.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.11.0...v5.0.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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:27:48 +02:00
dependabot[bot] 1c1aa08948
Bump mysql-connector-java from 8.0.31 to 8.0.32 in /Plan (#2834)
Bumps mysql-connector-java from 8.0.31 to 8.0.32.

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-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>
2023-01-20 18:16:02 +02:00
dependabot[bot] 7a44a91546
Bump axios from 1.2.2 to 1.2.3 in /Plan/react/dashboard (#2837)
Bumps [axios](https://github.com/axios/axios) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: axios
  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:15:43 +02:00
Aurora Lahtela 1f1a8e0de2 Unregister placeholder extension when Plan disables
Affects issues:
- Fixed #2833
2023-01-17 17:52:12 +02:00
AuroraLS3 75e9057919 Update versions.txt 5.5 build 2172 - CRITICAL security vulnerability fix 2023-01-15 08:43:42 +00: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
AuroraLS3 c8e720cd24 Update versions.txt 5.5 build 2163 2023-01-07 10:09:22 +00: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
dependabot[bot] 85b4a51515
Bump json5 from 1.0.1 to 1.0.2 in /Plan/react/dashboard (#2817)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

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-06 15:24:46 +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] ac2fa2ecce
Bump i18next from 22.4.6 to 22.4.8 in /Plan/react/dashboard (#2816)
Bumps [i18next](https://github.com/i18next/i18next) from 22.4.6 to 22.4.8.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v22.4.6...v22.4.8)

---
updated-dependencies:
- dependency-name: i18next
  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-06 09:13:24 +02:00
dependabot[bot] 86285b2915
Bump mockitoVersion from 4.10.0 to 4.11.0 in /Plan (#2808)
Bumps `mockitoVersion` from 4.10.0 to 4.11.0.

Updates `mockito-core` from 4.10.0 to 4.11.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.10.0...v4.11.0)

Updates `mockito-junit-jupiter` from 4.10.0 to 4.11.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.10.0...v4.11.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  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>
2023-01-03 11:36:32 +02:00
dependabot[bot] 0d89122988
Bump sass from 1.56.2 to 1.57.1 in /Plan/react/dashboard (#2800)
Bumps [sass](https://github.com/sass/dart-sass) from 1.56.2 to 1.57.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.56.2...1.57.1)

---
updated-dependencies:
- dependency-name: sass
  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>
2023-01-03 11:36:14 +02:00
dependabot[bot] b9432673c6
Bump axios from 1.2.1 to 1.2.2 in /Plan/react/dashboard (#2809)
Bumps [axios](https://github.com/axios/axios) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: axios
  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:53 +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 c1084364fb Update versions.txt 5.5 build 2150 - Hotfix 2022-12-30 11:58:24 +00:00
948 changed files with 39408 additions and 53115 deletions

View File

@ -1,22 +0,0 @@
---
name: Security Vulnerability
about: Create a report to help improving the plugin
labels: 'Security Vulnerability'
---
### Vulnerability description
<!-- A clear and concise description of what the issue is. Post possible exceptions further down below -->
### Steps to reproduce
1. Set these config settings..
2. Open `<plan address>/`
3. ...
### Server information
### Additional information
<!-- Any additional information -->

View File

@ -11,7 +11,7 @@ jobs:
services:
mariadb:
image: mariadb:latest
image: mariadb:11.1-rc
ports:
- 3306
env:
@ -19,34 +19,20 @@ jobs:
MYSQL_PASSWORD: password
MYSQL_DATABASE: test
MYSQL_ROOT_PASSWORD: password
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: 📥 Checkout git repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ☕ Setup JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '17'
- name: 🚦 Setup Selenium Webdriver
uses: nanasess/setup-chromedriver@v1
- name: 🚦 Setup Selenium Webdriver settings
run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
- name: 📶 Verify MariaDB connection
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
while ! mysqladmin ping -h"127.0.0.1" -P"$PORT" --silent; do
sleep 1
done
java-version: '21'
- name: 💼 Load Gradle Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
@ -68,15 +54,29 @@ jobs:
echo "versionString=$(cat build/versions/jar.txt)" >> $GITHUB_ENV
echo "artifactPath=$(pwd)/builds" >> $GITHUB_ENV
- name: 📤 Upload Plan.jar
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Plan-${{ env.versionString }}-${{ env.git_hash }}.jar
path: ${{ env.artifactPath }}/Plan-${{ env.snapshotVersion }}.jar
- name: 📤 Upload PlanFabric.jar
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: PlanFabric-${{ env.versionString }}-${{ env.git_hash }}.jar
path: ${{ env.artifactPath }}/PlanFabric-${{ env.snapshotVersion }}.jar
- name: 🚦 Setup Selenium Webdriver
uses: nanasess/setup-chromedriver@v2
- name: 🚦 Setup Selenium Webdriver settings
run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
- name: 📶 Verify MariaDB connection
env:
PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
while ! mysqladmin ping -h"127.0.0.1" -P"$PORT" --silent; do
sleep 1
done
- name: 🩺 Test
env:
MYSQL_DB: test
@ -108,11 +108,17 @@ jobs:
with:
branch: gh-pages # The branch the action should deploy to.
folder: javadocs # The folder the action should deploy.
- name: 🩺 SonarCloud
- name: 🩺 SonarCloud - Java
if: "${{ env.SONAR_TOKEN != '' }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
if: "${{ env.SONAR_TOKEN != '' }}"
run: |
cd Plan
./gradlew sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=player-analytics-plan
- name: 🩺 SonarCloud - React
if: "${{ env.SONAR_TOKEN != '' }}"
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

View File

@ -119,7 +119,7 @@ jobs:
changelog: ${{ github.event.release.body }}
changelog_type: markdown
display_name: ${{ github.event.release.name }}
game_versions: "2:Java 17,73407:1.19,Fabric"
game_versions: "2:Java 17,75125:1.20,Fabric"
release_type: release
relations: fabric-api:requiredDependency,luckperms:optionalDependency
- name: Upload prerelease to CurseForge 🚀
@ -133,6 +133,6 @@ jobs:
changelog: ${{ github.event.release.body }}
changelog_type: markdown
display_name: ${{ github.event.release.name }}
game_versions: "2:Java 17,73407:1.19,Fabric"
game_versions: "2:Java 17,75125:1.20,Fabric"
release_type: beta
relations: fabric-api:requiredDependency,luckperms:optionalDependency

View File

@ -8,7 +8,7 @@ compileJava {
options.release = 8
}
ext.apiVersion = '5.5-R0.1'
ext.apiVersion = '5.6-R0.1'
publishing {
repositories {

View File

@ -16,6 +16,8 @@
*/
package com.djrapitops.plan.capability;
import com.djrapitops.plan.delivery.web.ResourceService;
import java.util.Optional;
import java.util.UUID;
@ -83,7 +85,16 @@ enum Capability {
/**
* {@link com.djrapitops.plan.delivery.web.ResourceService}
*/
PAGE_EXTENSION_RESOURCES;
PAGE_EXTENSION_RESOURCES,
/**
* {@link com.djrapitops.plan.delivery.web.ResourceService#addJavascriptToResource(String, String, ResourceService.Position, String, String)}
* {@link com.djrapitops.plan.delivery.web.ResourceService#addStyleToResource(String, String, ResourceService.Position, String, String)}
*/
PAGE_EXTENSION_RESOURCES_REGISTER_DIRECT_CUSTOMIZATION,
/**
* {@link com.djrapitops.plan.delivery.web.ResolverService#registerPermissions(String...)}
*/
PAGE_EXTENSION_USER_PERMISSIONS;
static Optional<Capability> getByName(String name) {
if (name == null) {

View File

@ -64,6 +64,9 @@ public interface CapabilityService {
return Capability.getByName(capabilityName).isPresent();
}
/**
* Singleton holder for listeners.
*/
class ListHolder {
static final AtomicReference<List<Consumer<Boolean>>> enableListeners = new AtomicReference<>(
new CopyOnWriteArrayList<>()

View File

@ -89,7 +89,7 @@ public interface ComponentService {
* Converts the given input into a {@link Component}.
* Input example {@code §ctext}.
*
* @param legacy the input legacy
* @param legacy the input legacy
* @param character the character to use as the color prefix, usually {@code §}.
* @return a {@link Component}
* @see #fromLegacy(String)
@ -115,7 +115,7 @@ public interface ComponentService {
* Input example: {@code &#rrggbbtext}.
*
* @param adventureLegacy the input adventure legacy
* @param character the character to use as the color prefix, usually {@code &}.
* @param character the character to use as the color prefix, usually {@code &}.
* @return a {@link Component}
* @see #fromAdventureLegacy(String)
* @see Component#SECTION
@ -139,7 +139,7 @@ public interface ComponentService {
* Input example: {@code §x§r§r§g§g§b§btext}.
*
* @param bungeeLegacy the input bungee legacy
* @param character the character to use as the color prefix, usually {@code §}.
* @param character the character to use as the color prefix, usually {@code §}.
* @return a {@link Component}
* @see Component#SECTION
* @see Component#AMPERSAND
@ -164,6 +164,9 @@ public interface ComponentService {
*/
Component fromJson(String json);
/**
* Singleton holder for ComponentService.
*/
class Holder {
static final AtomicReference<ComponentService> service = new AtomicReference<>();

View File

@ -17,9 +17,11 @@
package com.djrapitops.plan.delivery.web;
import com.djrapitops.plan.delivery.web.resolver.Resolver;
import com.djrapitops.plan.delivery.web.resolver.request.Request;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Pattern;
@ -63,6 +65,26 @@ public interface ResolverService {
*/
void registerResolverForMatches(String pluginName, Pattern pattern, Resolver resolver);
/**
* Register a new permission that you are using in your {@link Resolver#canAccess(Request)} method.
* <p>
* The permissions are not given to any users by default, and need to be given by admin manually.
*
* @param webPermissions Permission strings, higher level permissions grant lower level automatically - eg. page.foo also grants page.foo.bar
* @return CompletableFuture that tells when the permissions have been stored.
*/
CompletableFuture<Void> registerPermissions(String... webPermissions);
/**
* Register a new permission that you are using in your {@link Resolver#canAccess(Request)} method.
* <p>
* The permission is granted to any groups with {@code whenHasPermission} parameter.
*
* @param webPermission Permission string, higher level permissions grant lower level automatically - eg. page.foo also grants page.foo.bar
* @param whenHasPermission Permission that a group already has that this permission should be granted to - eg. page.network.overview.numbers
*/
void registerPermission(String webPermission, String whenHasPermission);
/**
* Obtain a {@link Resolver} for a target.
* <p>

View File

@ -16,6 +16,9 @@
*/
package com.djrapitops.plan.delivery.web;
import com.djrapitops.plan.delivery.web.resolver.MimeType;
import com.djrapitops.plan.delivery.web.resolver.NoAuthResolver;
import com.djrapitops.plan.delivery.web.resolver.Response;
import com.djrapitops.plan.delivery.web.resource.WebResource;
import java.util.Optional;
@ -48,7 +51,7 @@ public interface ResourceService {
WebResource getResource(String pluginName, String fileName, Supplier<WebResource> source);
/**
* Add javascript to load in an existing html resource.
* Add javascript to load in a html resource.
* <p>
* Adds {@code <script src="jsSrc"></script>} or multiple to the resource.
*
@ -63,6 +66,40 @@ public interface ResourceService {
*/
void addScriptsToResource(String pluginName, String fileName, Position position, String... jsSources);
/**
* Add javascript to load in a html resource.
* <p>
* Requires PAGE_EXTENSION_RESOURCES_REGISTER_DIRECT_CUSTOMIZATION Capability.
*
* @param pluginName Name of your plugin (for config purposes)
* @param fileName Name of the .html file being modified
* @param position Where to place the script tag on the page.
* @param scriptName Name of your javascript file (used on the page)
* @param javascriptAsString Javascript file contents in UTF-8
* @throws IllegalArgumentException If fileName is null, empty or does not end with .html
* @throws IllegalArgumentException If anything is empty or null
*/
default void addJavascriptToResource(String pluginName, String fileName, Position position, String scriptName, String javascriptAsString) {
if (javascriptAsString == null || javascriptAsString.isEmpty()) {
throw new IllegalArgumentException("null or empty 'javascriptAsString' given.");
}
if (scriptName == null || scriptName.isEmpty()) {
throw new IllegalArgumentException("null or empty 'scriptName' given.");
}
String actualScriptName = scriptName.endsWith(".js") ? scriptName : scriptName + ".js";
addScriptsToResource(pluginName, fileName, position, "/" + pluginName + "/" + actualScriptName);
ResolverService.getInstance().registerResolver(pluginName, "/" + pluginName + "/" + actualScriptName, (NoAuthResolver) request -> {
if (request.getPath().asString().endsWith(actualScriptName)) {
return Optional.of(Response.builder()
.setContent(javascriptAsString)
.setMimeType(MimeType.JS)
.build());
}
return Optional.empty();
});
}
/**
* Add css to load in an existing html resource.
* <p>
@ -79,9 +116,46 @@ public interface ResourceService {
*/
void addStylesToResource(String pluginName, String fileName, Position position, String... cssSources);
/**
* Add javascript to load in a html resource.
* <p>
* Requires PAGE_EXTENSION_RESOURCES_REGISTER_DIRECT_CUSTOMIZATION Capability.
*
* @param pluginName Name of your plugin (for config purposes)
* @param fileName Name of the .html file being modified
* @param position Where to place the script tag on the page.
* @param cssFileName Name of your css file (used on the page)
* @param cssAsString CSS file contents in UTF-8
* @throws IllegalArgumentException If fileName is null, empty or does not end with .html
* @throws IllegalArgumentException If anything is empty or null
*/
default void addStyleToResource(String pluginName, String fileName, Position position, String cssFileName, String cssAsString) {
if (cssAsString == null || cssAsString.isEmpty()) {
throw new IllegalArgumentException("null or empty 'cssAsString' given.");
}
if (cssFileName == null || cssFileName.isEmpty()) {
throw new IllegalArgumentException("null or empty 'cssFileName' given.");
}
String actualCssFileName = cssFileName.endsWith(".js") ? cssFileName : cssFileName + ".js";
addStylesToResource(pluginName, fileName, position, pluginName + "/" + actualCssFileName);
ResolverService.getInstance().registerResolver(pluginName, pluginName + "/" + actualCssFileName, (NoAuthResolver) request -> {
if (request.getPath().asString().equals(actualCssFileName)) {
return Optional.of(Response.builder()
.setContent(cssAsString)
.setMimeType(MimeType.CSS)
.build());
}
return Optional.empty();
});
}
enum Position {
/**
* Loaded before page contents.
* <p>
* Recommended for loading style sheets.
*/
PRE_CONTENT,
/**
@ -94,7 +168,11 @@ public interface ResourceService {
* Loaded after script execution.
* <p>
* Recommended for loading data to custom structure on the page.
*
* @see <a href="https://github.com/plan-player-analytics/Plan/blob/master/Plan/react/dashboard/public/pageExtensionApi.js">Javascript API</a>
* @deprecated No longer supported on React pages, use the javascript API in PRE_MAIN_SCRIPT.
*/
@Deprecated
AFTER_MAIN_SCRIPT;
public String cleanName() {

View File

@ -1,6 +1,5 @@
/**
* PageExtension API for extending the webserver and the website.
*
* <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5-PageExtension-API">Documentation</a>
*/
package com.djrapitops.plan.delivery.web;

View File

@ -46,6 +46,11 @@ public final class CompositeResolver implements Resolver {
this.resolvers = new ArrayList<>();
}
/**
* Create a new builder for a .
*
* @return a builder.
*/
public static CompositeResolver.Builder builder() {
return new Builder();
}
@ -100,6 +105,9 @@ public final class CompositeResolver implements Resolver {
return getResolver(forThis.getPath()).map(resolver -> resolver.requiresAuth(forThis)).orElse(true);
}
/**
* Builder class for {@link CompositeResolver}.
*/
public static class Builder {
private final CompositeResolver composite;
@ -132,6 +140,11 @@ public final class CompositeResolver implements Resolver {
return this;
}
/**
* Build the final result after adding all resolvers.
*
* @return The {@link CompositeResolver}
*/
public CompositeResolver build() {
return composite;
}

View File

@ -22,11 +22,20 @@ import java.util.Optional;
import java.util.function.Function;
import java.util.function.Predicate;
/**
* Utility class for constructing a {@link Resolver} with Functional Interfaces.
*/
public class FunctionalResolverWrapper implements Resolver {
private final Function<Request, Optional<Response>> resolver;
private final Predicate<Request> accessCheck;
/**
* Default constructor.
*
* @param resolver Function that solves the {@link Request} into an Optional {@link Response}.
* @param accessCheck Predicate that checks if {@link Request} is allowed or if 403 Forbidden should be given.
*/
public FunctionalResolverWrapper(Function<Request, Optional<Response>> resolver, Predicate<Request> accessCheck) {
this.resolver = resolver;
this.accessCheck = accessCheck;

View File

@ -20,7 +20,7 @@ public final class MimeType {
public static final String HTML = "text/html";
public static final String CSS = "text/css";
public static final String JSON = "application/json";
public static final String JS = "application/javascript";
public static final String JS = "text/javascript";
public static final String IMAGE = "image/gif";
public static final String FAVICON = "image/x-icon";
public static final String FONT_TTF = "application/x-font-ttf";

View File

@ -19,7 +19,9 @@ package com.djrapitops.plan.delivery.web.resolver;
import com.djrapitops.plan.delivery.web.resolver.request.Request;
import com.djrapitops.plan.delivery.web.resolver.request.WebUser;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
/**
* Interface for resolving requests of Plan webserver.
@ -40,6 +42,25 @@ public interface Resolver {
*/
boolean canAccess(Request request);
/**
* Override this to tell Plan what web permissions this endpoint uses.
* <p>
* This allows:
* <ul>
* <li>Plan to store these permissions in the permission list</li>
* <li>Users can grant/deny the permission for a group</li>
* <li>Plan can show what endpoints specific permission gives access to</li>
* </ul>
* <p>
* Requires PAGE_EXTENSION_USER_PERMISSIONS capability
*
* @return Set of permissions eg. [plugin.custom.permission, plugin.custom.permission.child.node]
* @see com.djrapitops.plan.capability.CapabilityService for Capability checks
*/
default Set<String> usedWebPermissions() {
return new HashSet<>();
}
/**
* Implement request resolution.
*
@ -51,10 +72,21 @@ public interface Resolver {
*/
Optional<Response> resolve(Request request);
/**
* Creates a new {@link ResponseBuilder} for a {@link Response}.
*
* @return a new builder.
*/
default ResponseBuilder newResponseBuilder() {
return Response.builder();
}
/**
* Used to check if the resolver requires authentication to be used.
*
* @param request Incoming request that you can use to figure out if authentication is required.
* @return true if you want 401 to be given when user has not logged in.
*/
default boolean requiresAuth(Request request) {
return true;
}

View File

@ -33,7 +33,7 @@ public class ResponseBuilder {
/**
* Set MIME Type of the Response.
*
* @param mimeType MIME type of the Response https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
* @param mimeType MIME type of the Response <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">Documentation</a>
* @return this builder.
* @see MimeType for common MIME types.
*/
@ -46,7 +46,7 @@ public class ResponseBuilder {
* <p>
* Default status code is 200 (OK) if not set.
*
* @param code 1xx, 2xx, 3xx, 4xx, 5xx, https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
* @param code 1xx, 2xx, 3xx, 4xx, 5xx, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status">Documentation</a>
* @return this builder.
*/
public ResponseBuilder setStatus(int code) {
@ -57,7 +57,7 @@ public class ResponseBuilder {
/**
* Set HTTP Response header.
*
* @param header Key of the header. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
* @param header Key of the header. <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">Documentation</a>
* @param value Value for the header.
* @return this builder.
*/
@ -75,7 +75,7 @@ public class ResponseBuilder {
* Utility method for building redirects.
*
* @param url URL to redirect the client to with 302 Found.
* @return https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location
* @return <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location">Documentation</a>
*/
public ResponseBuilder redirectTo(String url) {
return setStatus(302).setHeader("Location", url).setContent(new byte[0]);

View File

@ -26,6 +26,11 @@ package com.djrapitops.plan.delivery.web.resolver.exception;
*/
public class BadRequestException extends IllegalArgumentException {
/**
* Default constructor.
*
* @param message Error message - avoid including any input incoming in the request to prevent XSS.
*/
public BadRequestException(String message) {
super(message);
}

View File

@ -1,6 +1,5 @@
/**
* Classes for implementing functionality with {@link com.djrapitops.plan.delivery.web.ResolverService}.
*
* <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5-PageExtension-API#resolverservice">Documentation</a>
*/
package com.djrapitops.plan.delivery.web.resolver;

View File

@ -43,7 +43,7 @@ public final class Request {
* @param path Requested path /example/target
* @param query Request parameters ?param=value etc
* @param user Web user doing the request (if authenticated)
* @param headers Request headers https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
* @param headers Request headers <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">Documentation</a>
* @param requestBody Raw body as bytes, if present
*/
public Request(String method, URIPath path, URIQuery query, WebUser user, Map<String, String> headers, byte[] requestBody) {
@ -57,6 +57,11 @@ public final class Request {
/**
* Special constructor that figures out URIPath and URIQuery from "/path/and?query=params" and has no request body.
*
* @param method HTTP requst method
* @param target The requested path and query, e.g. "/path/and?query=params"
* @param user User that made the request
* @param headers HTTP request headers
*/
public Request(String method, String target, WebUser user, Map<String, String> headers) {
this.method = method;
@ -121,7 +126,7 @@ public final class Request {
/**
* Get a header in the request.
*
* @param key https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
* @param key <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">Documentation</a>
* @return Value if it is present in the request.
*/
public Optional<String> getHeader(String key) {

View File

@ -16,6 +16,7 @@
*/
package com.djrapitops.plan.delivery.web.resolver.request;
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
import org.apache.commons.lang3.StringUtils;
import java.io.UnsupportedEncodingException;
@ -82,6 +83,8 @@ public final class URIQuery {
);
} catch (UnsupportedEncodingException e) {
// If UTF-8 is unsupported, we have bigger problems
} catch (IllegalArgumentException badCharacter) {
throw new BadRequestException("URI Query contained bad character");
}
}

View File

@ -17,6 +17,7 @@
package com.djrapitops.plan.delivery.web.resolver.request;
import java.util.*;
import java.util.function.Supplier;
public final class WebUser {
@ -57,7 +58,16 @@ public final class WebUser {
}
public boolean hasPermission(String permission) {
return permissions.contains(permission);
for (String grant : permissions) {
String substitute = permission.replace(grant, "");
// Last character is . so it is a sub-permission of the parent, eg. page.player, page.player.thing -> .thing
if (substitute.isEmpty() || substitute.startsWith(".")) return true;
}
return false;
}
public boolean hasPermission(Supplier<String> permissionSupplier) {
return hasPermission(permissionSupplier.get());
}
public String getName() {

View File

@ -16,11 +16,10 @@
*/
package com.djrapitops.plan.delivery.web.resource;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
import java.util.function.Supplier;
/**
* Represents a customizable resource.
@ -61,6 +60,18 @@ public interface WebResource {
* @throws IOException If the stream can not be read.
*/
static WebResource create(InputStream in) throws IOException {
return create(in, null);
}
/**
* Creates a new WebResource from an InputStream.
*
* @param in InputStream for the resource, closed after inside the method.
* @param lastModified Epoch millisecond the resource was last modified
* @return WebResource.
* @throws IOException If the stream can not be read.
*/
static WebResource create(InputStream in, Long lastModified) throws IOException {
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
int read;
byte[] bytes = new byte[1024];
@ -68,12 +79,36 @@ public interface WebResource {
out.write(bytes, 0, read);
}
return new ByteResource(out.toByteArray());
return new ByteResource(out.toByteArray(), lastModified);
} finally {
in.close();
}
}
/**
* Create a lazy WebResource that only reads contents if necessary.
*
* @param in Supplier for InputStream, a lazy method that reads input when necessary.
* @param lastModified Last modified date for the resource.
* @return WebResource.
*/
static WebResource create(Supplier<InputStream> in, Long lastModified) {
return new LazyWebResource(in, () -> {
try (ByteArrayOutputStream out = new ByteArrayOutputStream();
InputStream input = in.get()) {
int read;
byte[] bytes = new byte[1024];
while ((read = input.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
return out.toByteArray();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}, lastModified);
}
byte[] asBytes();
/**
@ -85,11 +120,21 @@ public interface WebResource {
InputStream asStream();
default Optional<Long> getLastModified() {
return Optional.empty();
}
final class ByteResource implements WebResource {
private final byte[] content;
private final Long lastModified;
public ByteResource(byte[] content) {
this(content, null);
}
public ByteResource(byte[] content, Long lastModified) {
this.content = content;
this.lastModified = lastModified;
}
@Override
@ -106,5 +151,42 @@ public interface WebResource {
public InputStream asStream() {
return new ByteArrayInputStream(content);
}
@Override
public Optional<Long> getLastModified() {
return Optional.ofNullable(lastModified);
}
}
final class LazyWebResource implements WebResource {
private final Supplier<InputStream> inputStreamSupplier;
private final Supplier<byte[]> contentSupplier;
private final Long lastModified;
public LazyWebResource(Supplier<InputStream> inputStreamSupplier, Supplier<byte[]> contentSupplier, Long lastModified) {
this.inputStreamSupplier = inputStreamSupplier;
this.contentSupplier = contentSupplier;
this.lastModified = lastModified;
}
@Override
public byte[] asBytes() {
return contentSupplier.get();
}
@Override
public String asString() {
return new String(asBytes(), StandardCharsets.UTF_8);
}
@Override
public InputStream asStream() {
return inputStreamSupplier.get();
}
@Override
public Optional<Long> getLastModified() {
return Optional.ofNullable(lastModified);
}
}
}

View File

@ -1,6 +1,5 @@
/**
* Classes for implementing functionality with {@link com.djrapitops.plan.delivery.web.ResourceService}.
*
* <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5-PageExtension-API#resourceservice">Documentation</a>
*/
package com.djrapitops.plan.delivery.web.resource;

View File

@ -113,6 +113,7 @@ public interface DataExtension {
* <p>
* Requires Capability DATA_EXTENSION_BUILDER_API
*
* @param text Text that is displayed next to the value.
* @return new builder.
*/
default ValueBuilder valueBuilder(String text) {

View File

@ -81,6 +81,9 @@ public interface ExtensionService {
*/
void unregister(DataExtension extension);
/**
* Singleton holder for {@link ExtensionService}.
*/
class Holder {
static final AtomicReference<ExtensionService> service = new AtomicReference<>();

View File

@ -42,6 +42,12 @@ public enum FormatType {
*/
NONE;
/**
* Get a format type by the enum name without exception.
*
* @param name FormatType#name()
* @return Optional if the format type is found by that name, empty if not found.
*/
public static Optional<FormatType> getByName(String name) {
if (name == null) {
return Optional.empty();
@ -51,4 +57,5 @@ public enum FormatType {
} catch (IllegalArgumentException e) {
return Optional.empty();
}
}}
}
}

View File

@ -30,6 +30,11 @@ package com.djrapitops.plan.extension;
*/
public interface Group {
/**
* Get the name of the group.
*
* @return Name of the group given by a {@link com.djrapitops.plan.extension.annotation.GroupProvider}, e.g. "Miner"
*/
String getGroupName();
}

View File

@ -89,7 +89,7 @@ public @interface BooleanProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -98,7 +98,7 @@ public @interface BooleanProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -76,7 +76,7 @@ public @interface ComponentProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -85,7 +85,7 @@ public @interface ComponentProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -67,7 +67,7 @@ public @interface DoubleProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -76,7 +76,7 @@ public @interface DoubleProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -62,7 +62,7 @@ public @interface GroupProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -71,7 +71,7 @@ public @interface GroupProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -39,10 +39,18 @@ public @interface InvalidateMethod {
*/
String value();
/**
* Multiple {@link InvalidateMethod} annotations are supported per class.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface Multiple {
/**
* All the annotations.
*
* @return All InvalidateMethod annotations in the class.
*/
InvalidateMethod[] value();
}

View File

@ -79,7 +79,7 @@ public @interface NumberProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -88,7 +88,7 @@ public @interface NumberProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -70,7 +70,7 @@ public @interface PercentageProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -79,7 +79,7 @@ public @interface PercentageProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -44,7 +44,7 @@ public @interface PluginInfo {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -53,7 +53,7 @@ public @interface PluginInfo {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -79,7 +79,7 @@ public @interface StringProvider {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -88,7 +88,7 @@ public @interface StringProvider {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -41,7 +41,7 @@ public @interface TabInfo {
/**
* Name of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Name of the icon, if name is not valid no icon is shown.
*/
@ -50,7 +50,7 @@ public @interface TabInfo {
/**
* Family of Font Awesome icon.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @return Family that matches an icon, if there is no icon for this family no icon is shown.
*/

View File

@ -18,7 +18,10 @@ package com.djrapitops.plan.extension.builder;
import com.djrapitops.plan.component.Component;
import com.djrapitops.plan.extension.FormatType;
import com.djrapitops.plan.extension.annotation.*;
import com.djrapitops.plan.extension.annotation.BooleanProvider;
import com.djrapitops.plan.extension.annotation.Conditional;
import com.djrapitops.plan.extension.annotation.StringProvider;
import com.djrapitops.plan.extension.annotation.Tab;
import com.djrapitops.plan.extension.extractor.ExtensionMethod;
import com.djrapitops.plan.extension.icon.Color;
import com.djrapitops.plan.extension.icon.Family;
@ -64,7 +67,7 @@ public interface ValueBuilder {
/**
* Icon displayed next to the value.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons
*
* @param iconName Name of the icon
* @param iconFamily Family of the icon
@ -78,7 +81,7 @@ public interface ValueBuilder {
/**
* Icon displayed next to the value.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons
*
* @param icon Icon built using the methods in {@link Icon}.
* @return This builder.

View File

@ -47,6 +47,12 @@ public enum Color {
BLACK,
NONE;
/**
* Get a color by the enum name without exception.
*
* @param name Color#name()
* @return Optional if the color is found by that name, empty if not found.
*/
public static Optional<Color> getByName(String name) {
if (name == null) {
return Optional.empty();
@ -56,4 +62,5 @@ public enum Color {
} catch (IllegalArgumentException e) {
return Optional.empty();
}
}}
}
}

View File

@ -37,6 +37,12 @@ public enum Family {
*/
BRAND;
/**
* Get a family by the enum name without exception.
*
* @param name Family#name()
* @return Optional if the family is found by that name, empty if not found.
*/
public static Optional<Family> getByName(String name) {
if (name == null) {
return Optional.empty();

View File

@ -16,10 +16,12 @@
*/
package com.djrapitops.plan.extension.icon;
import java.util.Objects;
/**
* Object that represents an icon on the website.
* <p>
* See https://fontawesome.com/icons (select 'free')) for icons and their {@link Family}.
* See <a href="https://fontawesome.com/icons">FontAwesome</a> (select 'free')) for icons and their {@link Family}.
*
* @author AuroraLS3
*/
@ -72,11 +74,27 @@ public class Icon {
return this;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Icon icon = (Icon) o;
return type == icon.type && Objects.equals(getName(), icon.getName()) && getColor() == icon.getColor();
}
@Override
public int hashCode() {
return Objects.hash(id, type, getName(), getColor());
}
@Override
public String toString() {
return "Icon{" + type.name() + ", '" + name + '\'' + ", " + color.name() + '}';
}
/**
* Builder for an {@link Icon}.
*/
public static class Builder {
private final Icon icon;

View File

@ -1,6 +1,5 @@
/**
* DataExtension API and related classes.
*
* <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">Documentation</a>
*/
package com.djrapitops.plan.extension;

View File

@ -21,10 +21,8 @@ import com.djrapitops.plan.extension.icon.Color;
import com.djrapitops.plan.extension.icon.Icon;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
/**
* Object for giving Plan table data.
@ -100,6 +98,52 @@ public final class Table {
return tableColumnFormats;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Table table = (Table) o;
return Arrays.equals(getColumns(), table.getColumns())
&& Arrays.equals(getIcons(), table.getIcons())
&& Arrays.equals(getTableColumnFormats(), table.getTableColumnFormats())
&& valuesEqual(table);
}
private boolean valuesEqual(Table other) {
List<Object[]> rows1 = getRows();
List<Object[]> rows2 = other.getRows();
if (rows1.size() != rows2.size()) return false;
for (int i = 0; i < rows1.size(); i++) {
Object[] values1 = rows1.get(i);
Object[] values2 = rows2.get(i);
for (int j = 0; j < getMaxColumnSize(); j++) {
if (!Objects.equals(Objects.toString(values1[0]), Objects.toString(values2[0]))) {
return false;
}
}
}
return true;
}
@Override
public int hashCode() {
int result = Objects.hash(getRows());
result = 31 * result + Arrays.hashCode(getColumns());
result = 31 * result + Arrays.hashCode(getIcons());
result = 31 * result + Arrays.hashCode(getTableColumnFormats());
return result;
}
@Override
public String toString() {
return "Table{" +
"columns=" + Arrays.toString(columns) +
", icons=" + Arrays.toString(icons) +
", tableColumnFormats=" + Arrays.toString(tableColumnFormats) +
", rows=" + rows.stream().map(Arrays::toString).collect(Collectors.toList()) +
'}';
}
/**
* Factory for creating new {@link Table} objects.
*/

View File

@ -62,14 +62,44 @@ public interface CommonQueries {
*/
long fetchLastSeen(UUID playerUUID, UUID serverUUID);
/**
* Get the UUIDs of all servers Plan has registered.
*
* @return Set of Server UUIDs
*/
Set<UUID> fetchServerUUIDs();
/**
* Fetch UUID of a player by name.
*
* @param playerName Name of the player
* @return UUID if it is found by Plan or empty if not found.
*/
Optional<UUID> fetchUUIDOf(String playerName);
/**
* Fetch name of a player by UUID.
*
* @param playerUUID UUID of the player
* @return Name if it is known by Plan or empty if not.
*/
Optional<String> fetchNameOf(UUID playerUUID);
/**
* Check that schema has table you are using in your queries.
*
* @param table Name of the table, e.g. plan_users.
* @return true if table exists.
*/
boolean doesDBHaveTable(String table);
/**
* Check that schema table has a column you are using in your queries.
*
* @param table Name of the table, e.g. plan_users.
* @param column Name of the column, e.g. id
* @return true if table and column exist.
*/
boolean doesDBHaveTableColumn(String table, String column);
/**

View File

@ -126,7 +126,7 @@ public interface QueryService {
CommonQueries getCommonQueries();
/**
* See https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
* See <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">Functional Interfaces</a>
*/
@FunctionalInterface
interface ThrowingConsumer<T> {
@ -134,7 +134,7 @@ public interface QueryService {
}
/**
* See https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
* See <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">Functional Interfaces</a>
*/
@FunctionalInterface
interface ThrowingFunction<T, R> {
@ -142,7 +142,7 @@ public interface QueryService {
}
/**
* See https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
* See <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">Functional Interfaces</a>
*/
@FunctionalInterface
interface VoidFunction {

View File

@ -1,6 +1,5 @@
/**
* Query API related classes.
*
* <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5-Query-API">Documentation</a>
*/
package com.djrapitops.plan.query;

View File

@ -51,6 +51,9 @@ public interface ListenerService {
*/
void registerListenerForPlan(Object listener);
/**
* Singleton holder for listeners.
*/
class Holder {
static final AtomicReference<ListenerService> service = new AtomicReference<>();

View File

@ -11,13 +11,13 @@ buildscript {
}
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2" apply false
id "com.github.johnrengelman.shadow" version "8.1.1" apply false
id "java"
id 'java-library'
id "jacoco"
id "checkstyle"
id "org.sonarqube" version "3.5.0.2730"
id 'fabric-loom' version '0.12.+' apply false
id "org.sonarqube" version "5.0.0.4638"
id 'fabric-loom' version '1.6-SNAPSHOT' apply false
}
apply plugin: 'nebula-aggregate-javadocs'
@ -36,20 +36,22 @@ def buildVersion = determineBuildVersion()
allprojects {
group "com.djrapitops"
version "5.5-SNAPSHOT"
version "5.6-SNAPSHOT"
ext.majorVersion = '5'
ext.minorVersion = '5'
ext.minorVersion = '6'
ext.buildVersion = buildVersion
ext.fullVersion = project.ext.majorVersion + '.' + project.ext.minorVersion + ' build ' + project.ext.buildVersion
ext.fullVersionFilename = project.ext.majorVersion + '.' + project.ext.minorVersion + '-build-' + project.ext.buildVersion
ext.fullVersionSemantic = project.ext.majorVersion + '.' + project.ext.minorVersion + '+build.' + project.ext.buildVersion
// Fix for UTF-8 files showing with wrong encoding when compiled on Windows machines.
compileJava { options.encoding = "UTF-8" }
tasks.withType(JavaCompile) { options.encoding = 'UTF-8' }
tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' }
javadoc { options.encoding = 'UTF-8' }
}
logger.lifecycle("Building artifact for version $fullVersion")
logger.lifecycle("Building artifact for version $fullVersion / $fullVersionFilename / $fullVersionSemantic")
subprojects {
// Build plugins
@ -67,9 +69,9 @@ subprojects {
}
ext {
daggerVersion = "2.44.2"
daggerVersion = "2.51.1"
palVersion = "5.1.0"
palVersion = "5.2.0"
bukkitVersion = "1.13.2-R0.1-SNAPSHOT"
spigotVersion = "1.13.2-R0.1-SNAPSHOT"
@ -81,29 +83,33 @@ subprojects {
redisBungeeVersion = "0.3.8-SNAPSHOT"
redisBungeeProxioDevVersion = "0.7.3"
commonsTextVersion = "1.10.0"
commonsCompressVersion = "1.22"
commonsCodecVersion = "1.15"
caffeineVersion = "3.1.2"
jettyVersion = "11.0.13"
commonsTextVersion = "1.12.0"
commonsCompressVersion = "1.26.2"
commonsCodecVersion = "1.17.0"
caffeineVersion = "3.1.8"
jettyVersion = "11.0.21"
caffeineVersion = "2.9.2"
mysqlVersion = "8.0.31"
sqliteVersion = "3.40.0.0"
adventureVersion = "4.12.0"
hikariVersion = "5.0.1"
slf4jVersion = "2.0.6"
geoIpVersion = "3.0.2"
gsonVersion = "2.10"
dependencyDownloadVersion = "1.3.0"
mysqlVersion = "8.4.0"
mariadbVersion = "3.4.0"
sqliteVersion = "3.42.0.1"
adventureVersion = "4.17.0"
hikariVersion = "5.1.0"
slf4jVersion = "2.0.13"
geoIpVersion = "4.2.0"
gsonVersion = "2.11.0"
dependencyDownloadVersion = "1.3.1"
ipAddressMatcherVersion = "5.5.0"
jasyptVersion = "1.9.3"
bstatsVersion = "3.0.0"
placeholderapiVersion = "2.11.2"
bstatsVersion = "3.0.2"
placeholderapiVersion = "2.11.5"
nkPlaceholderapiVersion = "1.4-SNAPSHOT"
junitVersion = "5.9.1"
mockitoVersion = "4.10.0"
testContainersVersion = "1.17.6"
swaggerVersion = "2.2.7"
junitVersion = "5.10.2"
mockitoVersion = "5.12.0"
seleniumVersion = "4.21.0"
testContainersVersion = "1.19.8"
swaggerVersion = "2.2.22"
}
repositories {
@ -113,7 +119,6 @@ subprojects {
maven { url = "https://papermc.io/repo/repository/maven-public/" } // Paper
maven { url = "https://repo.spongepowered.org/repository/maven-public/" } // Sponge
maven { url = "https://oss.sonatype.org/content/repositories/snapshots" } // BungeeCord
maven { url = "https://repo.velocitypowered.com/snapshots/" } // Velocity
maven { url = "https://repo.playeranalytics.net/releases" } // Plan
maven { url = "https://repo.md-5.net/content/repositories/snapshots/" } // RedisBungee
maven { url = "https://jitpack.io" } // RedisBungee fork
@ -126,6 +131,8 @@ subprojects {
testImplementation "com.google.dagger:dagger:$daggerVersion"
testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
compileOnly "io.swagger.core.v3:swagger-core-jakarta:$swaggerVersion"
// Test Tooling Dependencies
testImplementation "org.junit.jupiter:junit-jupiter:$junitVersion" // JUnit 5
testImplementation "org.mockito:mockito-core:$mockitoVersion" // Mockito Core
@ -134,8 +141,9 @@ subprojects {
// Awaitility (Concurrent wait conditions)
// Testing dependencies required by Plan
testImplementation "org.xerial:sqlite-jdbc:$sqliteVersion" // SQLite
testImplementation "mysql:mysql-connector-java:$mysqlVersion" // MySQL
testImplementation "org.xerial:sqlite-jdbc:$sqliteVersion" // SQLite
testImplementation "com.mysql:mysql-connector-j:$mysqlVersion" // MySQL
testImplementation "org.mariadb.jdbc:mariadb-java-client:$mariadbVersion" // MariaDB
}
configurations {
@ -146,7 +154,7 @@ subprojects {
testImplementation.extendsFrom shadow // Include shadowed dependencies in test classpath
}
// Test classes available to other modules
task testJar(type: Jar) {
tasks.register('testJar', Jar) {
archiveClassifier.set("test")
from sourceSets.test.output
}
@ -174,8 +182,8 @@ subprojects {
}
}
plugins.withType(JacocoPlugin) {
tasks["test"].finalizedBy 'jacocoTestReport'
plugins.withType(JacocoPlugin).configureEach {
tasks.named("test").get().finalizedBy 'jacocoTestReport'
}
}

View File

@ -17,6 +17,8 @@
package com.djrapitops.plan;
import com.djrapitops.plan.gathering.ServerShutdownSave;
import com.djrapitops.plan.gathering.afk.AFKTracker;
import com.djrapitops.plan.gathering.listeners.bukkit.BukkitAFKListener;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.utilities.java.Reflection;
@ -26,6 +28,7 @@ import org.bukkit.Bukkit;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Optional;
/**
* ServerShutdownSave implementation for Bukkit based servers.
@ -52,6 +55,11 @@ public class BukkitServerShutdownSave extends ServerShutdownSave {
return isStoppedBefore1p17() || isStoppedV1p17() || isStoppedAfterV1p17();
}
@Override
public Optional<AFKTracker> getAfkTracker() {
return Optional.ofNullable(BukkitAFKListener.getAfkTracker());
}
private boolean isStoppedBefore1p17() {
try {
// Special thanks to Fuzzlemann for figuring out the methods required for this check.

View File

@ -36,6 +36,7 @@ import org.bukkit.command.PluginCommand;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
import java.lang.reflect.Constructor;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@ -58,17 +59,29 @@ public class Plan extends JavaPlugin implements PlanPlugin {
private RunnableFactory runnableFactory;
private PlatformAbstractionLayer abstractionLayer;
private ErrorLogger errorLogger;
private PlanBukkitComponent component;
@Override
public void onLoad() {
abstractionLayer = new BukkitPlatformLayer(this);
if (isFolia()) {
try {
// Attempt to load and use the Folia library for Java 17+
Class<?> foliaPlatformLayer = Class.forName("net.playeranalytics.plugin.FoliaPlatformLayer");
abstractionLayer = (PlatformAbstractionLayer) foliaPlatformLayer.getConstructor(JavaPlugin.class).newInstance(this);
} catch (Exception e) {
this.getLogger().log(Level.SEVERE, "Failed to load FoliaPlatformLayer", e);
abstractionLayer = new BukkitPlatformLayer(this);
}
} else {
abstractionLayer = new BukkitPlatformLayer(this);
}
pluginLogger = abstractionLayer.getPluginLogger();
runnableFactory = abstractionLayer.getRunnableFactory();
}
@Override
public void onEnable() {
PlanBukkitComponent component = DaggerPlanBukkitComponent.builder()
component = DaggerPlanBukkitComponent.builder()
.plan(this)
.abstractionLayer(abstractionLayer)
.server(getServer())
@ -135,11 +148,18 @@ public class Plan extends JavaPlugin implements PlanPlugin {
public void onDisable() {
storeSessionsOnShutdown();
cancelAllTasks();
if (component != null) unregisterPlaceholders(component.placeholders());
if (system != null) system.disable();
pluginLogger.info(Locale.getStringNullSafe(locale, PluginLang.DISABLED));
}
private void unregisterPlaceholders(BukkitPlaceholderRegistrar placeholders) {
if (placeholders != null) {
runnableFactory.create(placeholders::unregister);
}
}
private void storeSessionsOnShutdown() {
if (serverShutdownSave != null) {
Optional<Future<?>> complete = serverShutdownSave.performSave();
@ -159,7 +179,18 @@ public class Plan extends JavaPlugin implements PlanPlugin {
public void cancelAllTasks() {
runnableFactory.cancelAllKnownTasks();
Bukkit.getScheduler().cancelTasks(this);
if (!isFolia()) {
Bukkit.getScheduler().cancelTasks(this);
}
}
private static boolean isFolia() {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer");
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
@Override

View File

@ -22,6 +22,7 @@ import com.djrapitops.plan.utilities.logging.ErrorLogger;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.concurrent.TimeUnit;
@Singleton
public class BukkitPlaceholderRegistrar {
@ -30,6 +31,8 @@ public class BukkitPlaceholderRegistrar {
private final PlanSystem system;
private final ErrorLogger errorLogger;
private PlanPlaceholderExtension placeholderExtension;
@Inject
public BukkitPlaceholderRegistrar(
PlanPlaceholders placeholders,
@ -42,6 +45,23 @@ public class BukkitPlaceholderRegistrar {
}
public void register() {
new PlanPlaceholderExtension(placeholders, system, errorLogger).register();
placeholderExtension = new PlanPlaceholderExtension(placeholders, system, errorLogger);
placeholderExtension.register();
}
public void unregister() {
if (placeholderExtension != null) {
boolean success = false;
while (!success) {
success = placeholderExtension.unregister();
if (!success) {
try {
Thread.sleep(TimeUnit.SECONDS.toMillis(1));
} catch (InterruptedException interrupted) {
Thread.currentThread().interrupt();
}
}
}
}
}
}

View File

@ -19,6 +19,7 @@ package com.djrapitops.plan.addons.placeholderapi;
import com.djrapitops.plan.PlanSystem;
import com.djrapitops.plan.placeholder.PlanPlaceholders;
import com.djrapitops.plan.processing.Processing;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
import com.djrapitops.plan.version.VersionChecker;
@ -89,15 +90,25 @@ public class PlanPlaceholderExtension extends PlaceholderExpansion {
}
@Override
public String onRequest(OfflinePlayer player, String params) {
UUID uuid = player != null ? player.getUniqueId() : null;
if ("Server thread".equalsIgnoreCase(Thread.currentThread().getName())) {
return getCached(params, uuid);
public String onRequest(OfflinePlayer player, @Untrusted String params) {
try {
UUID uuid = player != null ? player.getUniqueId() : null;
if ("Server thread".equalsIgnoreCase(Thread.currentThread().getName())) {
return getCached(params, uuid);
}
return Optional.ofNullable(getCached(params, uuid))
.orElseGet(() -> getPlaceholderValue(params, uuid));
} catch (IllegalStateException e) {
if ("zip file closed".equals(e.getMessage())) {
return null; // Plan is disabled.
} else {
throw e;
}
}
return getPlaceholderValue(params, uuid);
}
private String getPlaceholderValue(String params, UUID uuid) {
private String getPlaceholderValue(@Untrusted String params, UUID uuid) {
try {
String value = placeholders.onPlaceholderRequest(uuid, parseRequest(params), parseParameters(params));
@ -114,14 +125,16 @@ public class PlanPlaceholderExtension extends PlaceholderExpansion {
}
}
private String parseRequest(String params) {
@Untrusted
private String parseRequest(@Untrusted String params) {
return params.split(":")[0];
}
private List<String> parseParameters(String params) {
@Untrusted
private List<String> parseParameters(@Untrusted String params) {
List<String> parameters = new ArrayList<>();
boolean first = true;
for (String parameter : params.split(":")) {
for (@Untrusted String parameter : params.split(":")) {
if (first) {
first = false;
} else {
@ -131,8 +144,8 @@ public class PlanPlaceholderExtension extends PlaceholderExpansion {
return parameters;
}
private String getCached(String params, UUID uuid) {
String key = params + "-" + uuid;
private String getCached(@Untrusted String params, UUID uuid) {
@Untrusted String key = params + "-" + uuid;
if (!currentlyProcessing.contains(key)) {
currentlyProcessing.add(key);

View File

@ -16,13 +16,16 @@
*/
package com.djrapitops.plan.gathering;
import com.djrapitops.plan.gathering.domain.PluginMetadata;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -129,4 +132,12 @@ public class BukkitSensor implements ServerSensor<World> {
.map(Player::getName)
.collect(Collectors.toList());
}
@Override
public List<PluginMetadata> getInstalledPlugins() {
return Arrays.stream(Bukkit.getPluginManager().getPlugins())
.map(Plugin::getDescription)
.map(description -> new PluginMetadata(description.getName(), description.getVersion()))
.collect(Collectors.toList());
}
}

View File

@ -25,7 +25,7 @@ import java.util.stream.Collectors;
/**
* UserImportRefiner attempts to find any crucial information that is missing.
*
* <p>
* - Finds UUIDs if only name is present.
* - Finds Names if only UUID is present.
* - Removes any importers that do not have any identifiers.

View File

@ -62,6 +62,10 @@ public class BukkitAFKListener implements Listener {
}
}
public static AFKTracker getAfkTracker() {
return afkTracker;
}
private void event(PlayerEvent event) {
try {
Player player = event.getPlayer();

View File

@ -16,6 +16,7 @@
*/
package com.djrapitops.plan.gathering.listeners.bukkit;
import com.djrapitops.plan.gathering.JoinAddressValidator;
import com.djrapitops.plan.gathering.cache.JoinAddressCache;
import com.djrapitops.plan.gathering.domain.BukkitPlayerData;
import com.djrapitops.plan.gathering.domain.event.PlayerJoin;
@ -28,6 +29,8 @@ import com.djrapitops.plan.identification.ServerUUID;
import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.storage.database.transactions.events.BanStatusTransaction;
import com.djrapitops.plan.storage.database.transactions.events.KickStoreTransaction;
import com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
import org.bukkit.event.EventHandler;
@ -50,6 +53,7 @@ public class PlayerOnlineListener implements Listener {
private final PlayerJoinEventConsumer playerJoinEventConsumer;
private final PlayerLeaveEventConsumer playerLeaveEventConsumer;
private final JoinAddressValidator joinAddressValidator;
private final JoinAddressCache joinAddressCache;
private final ServerInfo serverInfo;
@ -61,6 +65,7 @@ public class PlayerOnlineListener implements Listener {
public PlayerOnlineListener(
PlayerJoinEventConsumer playerJoinEventConsumer,
PlayerLeaveEventConsumer playerLeaveEventConsumer,
JoinAddressValidator joinAddressValidator,
JoinAddressCache joinAddressCache,
ServerInfo serverInfo,
DBSystem dbSystem,
@ -69,6 +74,7 @@ public class PlayerOnlineListener implements Listener {
) {
this.playerJoinEventConsumer = playerJoinEventConsumer;
this.playerLeaveEventConsumer = playerLeaveEventConsumer;
this.joinAddressValidator = joinAddressValidator;
this.joinAddressCache = joinAddressCache;
this.serverInfo = serverInfo;
this.dbSystem = dbSystem;
@ -82,16 +88,14 @@ public class PlayerOnlineListener implements Listener {
UUID playerUUID = event.getPlayer().getUniqueId();
ServerUUID serverUUID = serverInfo.getServerUUID();
boolean banned = PlayerLoginEvent.Result.KICK_BANNED == event.getResult();
boolean notWhitelisted = PlayerLoginEvent.Result.KICK_WHITELIST == event.getResult();
String address = event.getHostname();
if (!address.isEmpty()) {
address = address.substring(0, address.lastIndexOf(':'));
if (address.contains("\u0000")) {
address = address.substring(0, address.indexOf('\u0000'));
}
if (address.contains("fml")) {
address = address.substring(0, address.lastIndexOf("fml"));
}
if (notWhitelisted) {
dbSystem.getDatabase().executeTransaction(new StoreAllowlistBounceTransaction(playerUUID, event.getPlayer().getName(), serverUUID, System.currentTimeMillis()));
}
@Untrusted String address = joinAddressValidator.sanitize(event.getHostname());
if (joinAddressValidator.isValid(address)) {
joinAddressCache.put(playerUUID, address);
}
dbSystem.getDatabase().executeTransaction(new BanStatusTransaction(playerUUID, serverUUID, banned));

View File

@ -53,7 +53,7 @@ import java.util.logging.Logger;
* Task that handles player ping calculation on Bukkit based servers.
* <p>
* Modified PingManager from LagMonitor plugin.
* https://github.com/games647/LagMonitor/blob/master/src/main/java/com/github/games647/lagmonitor/task/PingManager.java
* <a href="https://github.com/games647/LagMonitor/blob/master/src/main/java/com/github/games647/lagmonitor/task/PingManager.java">original</a>
*
* @author games647
*/
@ -89,9 +89,9 @@ public class BukkitPingCounter extends TaskSystem.Task implements Listener {
startRecording = new ConcurrentHashMap<>();
playerHistory = new HashMap<>();
Optional<PingMethod> pingMethod = loadPingMethod();
if (pingMethod.isPresent()) {
this.pingMethod = pingMethod.get();
Optional<PingMethod> loaded = loadPingMethod();
if (loaded.isPresent()) {
this.pingMethod = loaded.get();
pingMethodAvailable = true;
} else {
pingMethodAvailable = false;
@ -100,6 +100,7 @@ public class BukkitPingCounter extends TaskSystem.Task implements Listener {
private Optional<PingMethod> loadPingMethod() {
PingMethod[] methods = new PingMethod[]{
new SpigotPingMethod(),
new PaperPingMethod(),
new ReflectiveLatencyFieldMethod(),
new ReflectivePingFieldMethod(),

View File

@ -0,0 +1,64 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2016-2018
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package com.djrapitops.plan.gathering.timed;
import org.bukkit.entity.Player;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class SpigotPingMethod implements PingMethod {
private String reasonForUnavailability;
@Override
public boolean isAvailable() {
try {
//Only available in Paper
Class.forName("org.bukkit.entity.Player").getDeclaredMethod("getPing");
return true;
} catch (ClassNotFoundException | NoSuchMethodException noSuchMethodEx) {
reasonForUnavailability = noSuchMethodEx.toString();
return false;
}
}
@Override
public int getPing(Player player) {
if (reasonForUnavailability != null) return -1;
try {
Method getPing = player.getClass().getDeclaredMethod("getPing");
return (int) getPing.invoke(player);
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
reasonForUnavailability = e.toString();
return -1;
}
}
@Override
public String getReasonForUnavailability() {
return reasonForUnavailability;
}
}

View File

@ -19,13 +19,14 @@ package com.djrapitops.plan.modules.bukkit;
import com.djrapitops.plan.TaskSystem;
import com.djrapitops.plan.addons.placeholderapi.PlaceholderCacheRefreshTask;
import com.djrapitops.plan.delivery.web.ResourceWriteTask;
import com.djrapitops.plan.delivery.web.WebAssetVersionCheckTask;
import com.djrapitops.plan.delivery.webserver.auth.ActiveCookieExpiryCleanupTask;
import com.djrapitops.plan.delivery.webserver.cache.JSONFileStorage;
import com.djrapitops.plan.delivery.webserver.configuration.AddressAllowList;
import com.djrapitops.plan.extension.ExtensionServerDataUpdater;
import com.djrapitops.plan.gathering.ShutdownDataPreservation;
import com.djrapitops.plan.gathering.ShutdownHook;
import com.djrapitops.plan.gathering.timed.BukkitPingCounter;
import com.djrapitops.plan.gathering.timed.InstalledPluginGatheringTask;
import com.djrapitops.plan.gathering.timed.ServerTPSCounter;
import com.djrapitops.plan.gathering.timed.SystemUsageBuffer;
import com.djrapitops.plan.settings.upkeep.ConfigStoreTask;
@ -93,10 +94,6 @@ public interface BukkitTaskModule {
@IntoSet
TaskSystem.Task bindResourceWriteTask(ResourceWriteTask resourceWriteTask);
@Binds
@IntoSet
TaskSystem.Task bindWebAssetVersionCheckTask(WebAssetVersionCheckTask webAssetVersionCheckTask);
@Binds
@IntoSet
TaskSystem.Task bindActiveCookieStoreExpiryTask(ActiveCookieExpiryCleanupTask activeCookieExpiryCleanupTask);
@ -108,4 +105,12 @@ public interface BukkitTaskModule {
@Binds
@IntoSet
TaskSystem.Task bindPlaceholderWarmupTask(PlaceholderCacheRefreshTask placeholderCacheRefreshTask);
@Binds
@IntoSet
TaskSystem.Task bindAddressAllowListUpdateTask(AddressAllowList addressAllowList);
@Binds
@IntoSet
TaskSystem.Task bindInstalledPluginGatheringTask(InstalledPluginGatheringTask installedPluginGatheringTask);
}

View File

@ -32,7 +32,7 @@ import java.lang.reflect.Field;
* An utility class that simplifies reflection in Bukkit plugins.
* <p>
* Modified Reflection utility from LagMonitor plugin.
* https://github.com/games647/LagMonitor/blob/master/src/main/java/com/github/games647/lagmonitor/traffic/Reflection.java
* <a href="https://github.com/games647/LagMonitor/blob/master/src/main/java/com/github/games647/lagmonitor/traffic/Reflection.java">original code</a>
*
* @author Kristian
*/

View File

@ -17,9 +17,11 @@
package com.djrapitops.plan.gathering;
import com.djrapitops.plan.PlanBungee;
import com.djrapitops.plan.gathering.domain.PluginMetadata;
import com.djrapitops.plan.identification.properties.RedisCheck;
import com.djrapitops.plan.identification.properties.RedisPlayersOnlineSupplier;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Plugin;
import javax.inject.Inject;
import javax.inject.Singleton;
@ -35,11 +37,13 @@ public class BungeeSensor implements ServerSensor<Object> {
private final IntSupplier onlinePlayerCountSupplier;
private final IntSupplier onlinePlayerCountBungee;
private final Supplier<Collection<ProxiedPlayer>> getPlayers;
private final Supplier<Collection<Plugin>> getPlugins;
@Inject
public BungeeSensor(PlanBungee plugin) {
getPlayers = plugin.getProxy()::getPlayers;
onlinePlayerCountBungee = plugin.getProxy()::getOnlineCount;
getPlugins = plugin.getProxy().getPluginManager()::getPlugins;
onlinePlayerCountSupplier = RedisCheck.isClassAvailable() ? new RedisPlayersOnlineSupplier() : onlinePlayerCountBungee;
}
@ -58,4 +62,17 @@ public class BungeeSensor implements ServerSensor<Object> {
public List<String> getOnlinePlayerNames() {
return getPlayers.get().stream().map(ProxiedPlayer::getName).collect(Collectors.toList());
}
@Override
public boolean usingRedisBungee() {
return RedisCheck.isClassAvailable();
}
@Override
public List<PluginMetadata> getInstalledPlugins() {
return getPlugins.get().stream()
.map(Plugin::getDescription)
.map(description -> new PluginMetadata(description.getName(), description.getVersion()))
.collect(Collectors.toList());
}
}

View File

@ -26,6 +26,7 @@ import com.djrapitops.plan.processing.Processing;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.PluginLang;
import net.playeranalytics.plugin.server.PluginLogger;
import org.jetbrains.annotations.Nullable;
import javax.inject.Inject;
import javax.inject.Named;
@ -73,17 +74,16 @@ public class BungeeServerInfo extends ServerInfo {
@Override
public void loadServerInfo() {
logger.info(locale.getString(PluginLang.LOADING_SERVER_INFO));
checkIfDefaultIP();
this.server = fromFile.load(null).orElseGet(() -> fromDatabase.load(null)
.orElseGet(this::registerServer));
this.server = fromFile.load(null)
.orElseGet(this::registerServer);
this.server.setProxy(true); // Ensure isProxy if loaded from file
processing.submitNonCritical(this::updateStorage);
}
private void updateStorage() {
String address = addresses.getAccessAddress().orElseGet(addresses::getFallbackLocalhostAddress);
String address = getAddress();
server.setWebAddress(address);
@ -92,18 +92,6 @@ public class BungeeServerInfo extends ServerInfo {
fromFile.save(server);
}
/**
* @throws EnableException If IP setting is unset
*/
private void checkIfDefaultIP() {
String ip = serverProperties.getIp();
if ("0.0.0.0".equals(ip)) {
logger.error("IP setting still 0.0.0.0 - Configure Alternative_IP/IP that connects to the Proxy server.");
logger.info("Player Analytics partially enabled (Use /planproxy reload to reload config)");
throw new EnableException("IP setting still 0.0.0.0 - Configure Alternative_IP/IP that connects to the Proxy server.");
}
}
/**
* @throws EnableException If IP setting is unset
*/
@ -111,19 +99,22 @@ public class BungeeServerInfo extends ServerInfo {
Server proxy = createServerObject();
fromDatabase.save(proxy);
Server stored = fromDatabase.load(null)
.orElseThrow(() -> new EnableException("BungeeCord registration failed (DB)"));
Server stored = fromDatabase.load(proxy.getUuid())
.orElseThrow(() -> new EnableException("Server registration to database failed"));
fromFile.save(stored);
return stored;
}
/**
* @throws EnableException If IP setting is unset
*/
private Server createServerObject() {
ServerUUID serverUUID = generateNewUUID();
String accessAddress = addresses.getAccessAddress().orElseThrow(() -> new EnableException("Velocity can not have '0.0.0.0' or '' as an address. Set up 'Server.IP' setting."));
String accessAddress = getAddress();
return new Server(-1, serverUUID, "BungeeCord", accessAddress, true, currentVersion);
}
@Nullable
private String getAddress() {
return addresses.getAccessAddress()
.orElse(addresses.isWebserverEnabled() ? addresses.getFallbackLocalhostAddress() : null);
}
}

View File

@ -40,5 +40,5 @@ public interface BungeeSuperClassBindingModule {
ListenerSystem bindListenerSystem(BungeeListenerSystem listenerSystem);
@Binds
ServerSensor<Object> bindServerSensor(BungeeSensor sensor);
ServerSensor<?> bindServerSensor(BungeeSensor sensor);
}

View File

@ -18,11 +18,12 @@ package com.djrapitops.plan.modules.bungee;
import com.djrapitops.plan.TaskSystem;
import com.djrapitops.plan.delivery.web.ResourceWriteTask;
import com.djrapitops.plan.delivery.web.WebAssetVersionCheckTask;
import com.djrapitops.plan.delivery.webserver.auth.ActiveCookieExpiryCleanupTask;
import com.djrapitops.plan.delivery.webserver.cache.JSONFileStorage;
import com.djrapitops.plan.delivery.webserver.configuration.AddressAllowList;
import com.djrapitops.plan.extension.ExtensionServerDataUpdater;
import com.djrapitops.plan.gathering.timed.BungeePingCounter;
import com.djrapitops.plan.gathering.timed.InstalledPluginGatheringTask;
import com.djrapitops.plan.gathering.timed.ProxyTPSCounter;
import com.djrapitops.plan.gathering.timed.SystemUsageBuffer;
import com.djrapitops.plan.settings.upkeep.NetworkConfigStoreTask;
@ -82,9 +83,13 @@ public interface BungeeTaskModule {
@Binds
@IntoSet
TaskSystem.Task bindWebAssetVersionCheckTask(WebAssetVersionCheckTask webAssetVersionCheckTask);
TaskSystem.Task bindActiveCookieStoreExpiryTask(ActiveCookieExpiryCleanupTask activeCookieExpiryCleanupTask);
@Binds
@IntoSet
TaskSystem.Task bindActiveCookieStoreExpiryTask(ActiveCookieExpiryCleanupTask activeCookieExpiryCleanupTask);
TaskSystem.Task bindAddressAllowListUpdateTask(AddressAllowList addressAllowList);
@Binds
@IntoSet
TaskSystem.Task bindInstalledPluginGatheringTask(InstalledPluginGatheringTask installedPluginGatheringTask);
}

View File

@ -32,7 +32,8 @@ import utilities.mocks.BungeeMockComponent;
import java.nio.file.Path;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
/**
@ -74,7 +75,7 @@ class BungeeSystemTest {
}
@Test
void bungeeDoesNotEnableWithDefaultIP() {
void bungeeEnablesWithDefaultIP() {
PlanSystem bungeeSystem = component.getPlanSystem();
try {
PlanConfig config = bungeeSystem.getConfigSystem().getConfig();
@ -86,8 +87,8 @@ class BungeeSystemTest {
db.setTransactionExecutorServiceProvider(MoreExecutors::newDirectExecutorService);
dbSystem.setActiveDatabase(db);
EnableException thrown = assertThrows(EnableException.class, bungeeSystem::enable);
assertEquals("IP setting still 0.0.0.0 - Configure Alternative_IP/IP that connects to the Proxy server.", thrown.getMessage());
bungeeSystem.enable();
assertTrue(bungeeSystem.isEnabled());
} finally {
bungeeSystem.disable();
}

View File

@ -3,16 +3,18 @@ import org.apache.tools.ant.filters.ReplaceTokens
plugins {
id "dev.vankka.dependencydownload.plugin" version "$dependencyDownloadVersion"
id "com.github.node-gradle.node" version "3.5.0"
id "io.swagger.core.v3.swagger-gradle-plugin" version "2.2.7"
id "com.github.node-gradle.node" version "7.0.2"
id "io.swagger.core.v3.swagger-gradle-plugin" version "2.2.22"
}
configurations {
// Runtime downloading scopes
mysqlDriver
mariadbDriver
sqliteDriver
testImplementation.extendsFrom mysqlDriver, sqliteDriver
compileOnly.extendsFrom mysqlDriver, sqliteDriver
ipAddressMatcher
testImplementation.extendsFrom mysqlDriver, mariadbDriver, sqliteDriver, ipAddressMatcher
compileOnly.extendsFrom mysqlDriver, mariadbDriver, sqliteDriver, ipAddressMatcher
swaggerJson // swagger.json configuration
}
@ -25,6 +27,14 @@ task generateResourceForMySQLDriver(type: GenerateDependencyDownloadResourceTask
includeShadowJarRelocations = false
}
task generateResourceForMariaDBDriver(type: GenerateDependencyDownloadResourceTask) {
var conf = configurations.mariadbDriver
configuration = conf
file = "assets/plan/dependencies/" + conf.name + ".txt"
// Not necessary to include in the resource
includeShadowJarRelocations = false
}
task generateResourceForSQLiteDriver(type: GenerateDependencyDownloadResourceTask) {
var conf = configurations.sqliteDriver
configuration = conf
@ -33,18 +43,29 @@ task generateResourceForSQLiteDriver(type: GenerateDependencyDownloadResourceTas
includeShadowJarRelocations = false
}
task generateResourceForIpAddressMatcher(type: GenerateDependencyDownloadResourceTask) {
var conf = configurations.ipAddressMatcher
configuration = conf
file = "assets/plan/dependencies/" + conf.name + ".txt"
// Not necessary to include in the resource
includeShadowJarRelocations = false
}
dependencies {
implementation project(":api")
shadow project(":extensions")
shadow "net.playeranalytics:platform-abstraction-layer-api:$palVersion"
compileOnly "net.kyori:adventure-api:4.12.0"
compileOnly "net.kyori:adventure-api:$adventureVersion"
shadow("dev.vankka:dependencydownload-runtime:$dependencyDownloadVersion") {
// Effectively disables relocating
exclude module: "jar-relocator"
}
mysqlDriver "mysql:mysql-connector-java:$mysqlVersion"
mysqlDriver "com.mysql:mysql-connector-j:$mysqlVersion"
mariadbDriver "org.mariadb.jdbc:mariadb-java-client:$mariadbVersion"
sqliteDriver "org.xerial:sqlite-jdbc:$sqliteVersion"
sqliteDriver "org.slf4j:slf4j-nop:1.7.36"
ipAddressMatcher "com.github.seancfoley:ipaddress:$ipAddressMatcherVersion"
shadow "org.apache.commons:commons-text:$commonsTextVersion"
shadow "org.apache.commons:commons-compress:$commonsCompressVersion"
@ -62,9 +83,11 @@ dependencies {
// json-simple has junit (a test dependency) compile scoped
exclude group: "junit", module: "junit"
}
implementation "org.jasypt:jasypt:$jasyptVersion:lite"
// Swagger annotations
implementation "jakarta.ws.rs:jakarta.ws.rs-api:3.1.0"
implementation "jakarta.ws.rs:jakarta.ws.rs-api:4.0.0"
implementation "io.swagger.core.v3:swagger-core-jakarta:$swaggerVersion"
implementation "io.swagger.core.v3:swagger-jaxrs2-jakarta:$swaggerVersion"
@ -72,12 +95,21 @@ dependencies {
testArtifacts project(":extensions:adventure")
testImplementation project(":extensions:adventure")
testImplementation "com.google.code.gson:gson:$gsonVersion"
testImplementation "org.seleniumhq.selenium:selenium-java:4.7.2"
testImplementation "org.seleniumhq.selenium:selenium-java:$seleniumVersion"
testImplementation "org.testcontainers:testcontainers:$testContainersVersion"
testImplementation "org.testcontainers:junit-jupiter:$testContainersVersion"
testImplementation "org.testcontainers:nginx:$testContainersVersion"
}
test {
environment "PLAN_TEST_NODE_STRING", "String"
environment "PLAN_TEST_NODE_BOOLEAN", "true"
environment "PLAN_TEST_NODE_INTEGER", "5"
environment "PLAN_TEST_NODE_DOUBLE", "0.5"
environment "PLAN_TEST_NODE_LONG", "9223372036854775807"
environment "PLAN_TEST_NODE_STRINGLIST", "- Test\n- Another"
}
task updateVersion(type: Copy) {
from('src/main/resources') {
include 'plugin.yml'
@ -91,13 +123,14 @@ task updateVersion(type: Copy) {
node {
download = true
version = "16.14.2"
version = "20.9.0"
nodeProjectDir = file("$rootDir/react/dashboard")
}
task yarnBundle(type: YarnTask) {
inputs.files(fileTree("$rootDir/react/dashboard/src"))
inputs.file("$rootDir/react/dashboard/package.json")
inputs.file("$rootDir/react/dashboard/vite.config.js")
outputs.dir("$rootDir/react/dashboard/build")
@ -105,9 +138,18 @@ task yarnBundle(type: YarnTask) {
args = ['run', 'build']
}
task yarnStart(type: YarnTask) {
logging.captureStandardOutput LogLevel.INFO
inputs.file("$rootDir/react/dashboard/package.json")
dependsOn yarn_install
args = ['run', 'start']
}
task copyYarnBuildResults {
inputs.files(fileTree("$rootDir/react/dashboard/build"))
outputs.dir("$rootDir/common/build/resources/main/assets/plan/web")
outputs.dir("$rootDir/common/build/resources/test/assets/plan/web")
dependsOn yarnBundle
doLast {
@ -116,6 +158,10 @@ task copyYarnBuildResults {
from "$rootDir/react/dashboard/build"
into "$rootDir/common/build/resources/main/assets/plan/web"
}
copy {
into "$rootDir/common/build/resources/main/assets/plan/web"
into "$rootDir/common/build/resources/test/assets/plan/web"
}
}
}
@ -196,10 +242,15 @@ artifacts {
}
processResources {
dependsOn copyYarnBuildResults
dependsOn determineAssetModifications
// Skips Yarn build on Jitpack since Jitpack doesn't offer gclib version compatible with Node 20
// Jitpack build is used mainly for java dependencies.
if (!project.hasProperty("isJitpack")) {
dependsOn copyYarnBuildResults
dependsOn determineAssetModifications
}
dependsOn generateResourceForMySQLDriver
dependsOn generateResourceForSQLiteDriver
dependsOn generateResourceForIpAddressMatcher
dependsOn updateVersion
duplicatesStrategy = DuplicatesStrategy.INCLUDE
from 'build/sources/resources'

View File

@ -0,0 +1,119 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan;
import com.djrapitops.plan.component.ComponentSvc;
import com.djrapitops.plan.delivery.web.ResolverSvc;
import com.djrapitops.plan.delivery.web.ResourceSvc;
import com.djrapitops.plan.extension.ExtensionSvc;
import com.djrapitops.plan.query.QuerySvc;
import com.djrapitops.plan.settings.ListenerSvc;
import com.djrapitops.plan.settings.SchedulerSvc;
import com.djrapitops.plan.settings.SettingsSvc;
import javax.inject.Inject;
import javax.inject.Singleton;
/**
* Breaks up {@link PlanSystem} to be a smaller class.
*
* @author AuroraLS3
*/
@Singleton
public class ApiServices {
private final ComponentSvc componentService;
private final ResolverSvc resolverService;
private final ResourceSvc resourceService;
private final ExtensionSvc extensionService;
private final QuerySvc queryService;
private final ListenerSvc listenerService;
private final SettingsSvc settingsService;
private final SchedulerSvc schedulerService;
@Inject
public ApiServices(
ComponentSvc componentService,
ResolverSvc resolverService,
ResourceSvc resourceService,
ExtensionSvc extensionService,
QuerySvc queryService,
ListenerSvc listenerService,
SettingsSvc settingsService,
SchedulerSvc schedulerService
) {
this.componentService = componentService;
this.resolverService = resolverService;
this.resourceService = resourceService;
this.extensionService = extensionService;
this.queryService = queryService;
this.listenerService = listenerService;
this.settingsService = settingsService;
this.schedulerService = schedulerService;
}
public void register() {
extensionService.register();
componentService.register();
resolverService.register();
resourceService.register();
listenerService.register();
settingsService.register();
schedulerService.register();
queryService.register();
}
public void registerExtensions() {
extensionService.registerExtensions();
}
public void disableExtensionDataUpdates() {
extensionService.disableUpdates();
}
public ComponentSvc getComponentService() {
return componentService;
}
public ResolverSvc getResolverService() {
return resolverService;
}
public ResourceSvc getResourceService() {
return resourceService;
}
public ExtensionSvc getExtensionService() {
return extensionService;
}
public QuerySvc getQueryService() {
return queryService;
}
public ListenerSvc getListenerService() {
return listenerService;
}
public SettingsSvc getSettingsService() {
return settingsService;
}
public SchedulerSvc getSchedulerService() {
return schedulerService;
}
}

View File

@ -17,25 +17,17 @@
package com.djrapitops.plan;
import com.djrapitops.plan.api.PlanAPI;
import com.djrapitops.plan.component.ComponentSvc;
import com.djrapitops.plan.delivery.DeliveryUtilities;
import com.djrapitops.plan.delivery.export.ExportSystem;
import com.djrapitops.plan.delivery.formatting.Formatters;
import com.djrapitops.plan.delivery.web.ResolverSvc;
import com.djrapitops.plan.delivery.web.ResourceSvc;
import com.djrapitops.plan.delivery.webserver.NonProxyWebserverDisableChecker;
import com.djrapitops.plan.delivery.webserver.WebServerSystem;
import com.djrapitops.plan.extension.ExtensionSvc;
import com.djrapitops.plan.gathering.cache.CacheSystem;
import com.djrapitops.plan.gathering.importing.ImportSystem;
import com.djrapitops.plan.gathering.listeners.ListenerSystem;
import com.djrapitops.plan.identification.ServerInfo;
import com.djrapitops.plan.processing.Processing;
import com.djrapitops.plan.query.QuerySvc;
import com.djrapitops.plan.settings.ConfigSystem;
import com.djrapitops.plan.settings.ListenerSvc;
import com.djrapitops.plan.settings.SchedulerSvc;
import com.djrapitops.plan.settings.SettingsSvc;
import com.djrapitops.plan.settings.locale.LocaleSystem;
import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.storage.file.PlanFiles;
@ -77,14 +69,7 @@ public class PlanSystem implements SubSystem {
private final ImportSystem importSystem;
private final ExportSystem exportSystem;
private final DeliveryUtilities deliveryUtilities;
private final ComponentSvc componentService;
private final ResolverSvc resolverService;
private final ResourceSvc resourceService;
private final ExtensionSvc extensionService;
private final QuerySvc queryService;
private final ListenerSvc listenerService;
private final SettingsSvc settingsService;
private final SchedulerSvc schedulerService;
private final ApiServices apiServices;
private final PluginLogger logger;
private final ErrorLogger errorLogger;
@ -104,17 +89,10 @@ public class PlanSystem implements SubSystem {
ImportSystem importSystem,
ExportSystem exportSystem,
DeliveryUtilities deliveryUtilities,
ComponentSvc componentService,
ResolverSvc resolverService,
ResourceSvc resourceService,
ExtensionSvc extensionService,
QuerySvc queryService,
ListenerSvc listenerService,
SettingsSvc settingsService,
SchedulerSvc schedulerService,
PluginLogger logger,
ErrorLogger errorLogger,
PlanAPI.PlanAPIHolder apiHolder
ApiServices apiServices, // API v5
@SuppressWarnings("deprecation") PlanAPI.PlanAPIHolder apiHolder // Deprecated PlanAPI, backwards compatibility
) {
this.files = files;
this.configSystem = configSystem;
@ -130,16 +108,9 @@ public class PlanSystem implements SubSystem {
this.importSystem = importSystem;
this.exportSystem = exportSystem;
this.deliveryUtilities = deliveryUtilities;
this.componentService = componentService;
this.resolverService = resolverService;
this.resourceService = resourceService;
this.extensionService = extensionService;
this.queryService = queryService;
this.listenerService = listenerService;
this.settingsService = settingsService;
this.schedulerService = schedulerService;
this.logger = logger;
this.errorLogger = errorLogger;
this.apiServices = apiServices;
logger.info("§2");
logger.info("§2 ██▌");
@ -149,14 +120,6 @@ public class PlanSystem implements SubSystem {
logger.info("§2");
}
/**
* @deprecated Use {@link com.djrapitops.plan.delivery.webserver.Addresses} instead.
*/
@Deprecated(since = "Addresses.java")
public String getMainAddress() {
return webServerSystem.getAddresses().getMainAddress().orElse(webServerSystem.getAddresses().getFallbackLocalhostAddress());
}
/**
* Enables only the systems that are required for {@link com.djrapitops.plan.commands.PlanCommand}.
*
@ -170,22 +133,15 @@ public class PlanSystem implements SubSystem {
* Enables the rest of the systems that are not enabled in {@link #enableForCommands()}.
*/
public void enableOtherThanCommands() {
extensionService.register();
componentService.register();
resolverService.register();
resourceService.register();
listenerService.register();
settingsService.register();
schedulerService.register();
queryService.register();
apiServices.register();
enableSystems(
processing,
files,
localeSystem,
versionChecker,
databaseSystem,
webServerSystem,
processing,
serverInfo,
importSystem,
exportSystem,
@ -197,11 +153,11 @@ public class PlanSystem implements SubSystem {
// Disables Webserver if Proxy is detected in the database
if (serverInfo.getServer().isNotProxy()) {
processing.submitNonCritical(new NonProxyWebserverDisableChecker(
configSystem.getConfig(), webServerSystem.getAddresses(), webServerSystem, logger, errorLogger
configSystem.getConfig(), localeSystem.getLocale(), webServerSystem.getAddresses(), webServerSystem, logger, errorLogger
));
}
extensionService.registerExtensions();
apiServices.registerExtensions();
enabled = true;
String javaVersion = System.getProperty("java.specification.version");
@ -231,7 +187,7 @@ public class PlanSystem implements SubSystem {
enabled = false;
Formatters.clearSingleton();
extensionService.disableUpdates();
apiServices.disableExtensionDataUpdates();
disableSystems(
taskSystem,
@ -324,12 +280,8 @@ public class PlanSystem implements SubSystem {
return enabled;
}
public ExtensionSvc getExtensionService() {
return extensionService;
}
public ComponentSvc getComponentService() {
return componentService;
public ApiServices getApiServices() {
return apiServices;
}
public static long getServerEnableTime() {

View File

@ -43,7 +43,7 @@ import java.util.stream.Collectors;
* PlanAPI extension for all implementations.
*
* @author AuroraLS3
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (https://github.com/plan-player-analytics/Plan/wiki/APIv5).
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (<a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5">wiki</a>).
*/
@Singleton
@Deprecated(forRemoval = true, since = "5.0")

View File

@ -35,7 +35,7 @@ import java.util.UUID;
* Interface for PlanAPI methods.
*
* @author AuroraLS3
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (https://github.com/plan-player-analytics/Plan/wiki/APIv5).
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (<a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5">wiki</a>).
*/
@Deprecated(since = "5.0")
public interface PlanAPI {
@ -65,7 +65,7 @@ public interface PlanAPI {
}
/**
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated
void addPluginDataSource(PluginData pluginData);

View File

@ -29,7 +29,7 @@ import java.util.Optional;
* The Keys might change in the future, but the Optional API should help dealing with those cases.
*
* @author AuroraLS3
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (https://github.com/plan-player-analytics/Plan/wiki/APIv5).
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (<a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5">wiki</a>).
*/
@Deprecated(since = "5.0")
public class PlayerContainer {

View File

@ -28,7 +28,7 @@ import java.util.Optional;
* The Keys might change in the future, but the Optional API should help dealing with those cases.
*
* @author AuroraLS3
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (https://github.com/plan-player-analytics/Plan/wiki/APIv5).
* @deprecated Plan API v4 has been deprecated, use the APIv5 instead (<a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5">wiki</a>).
*/
@Deprecated(forRemoval = true, since = "5.0")
public class ServerContainer {

View File

@ -20,10 +20,13 @@ import com.djrapitops.plan.commands.subcommands.*;
import com.djrapitops.plan.commands.use.*;
import com.djrapitops.plan.gathering.importing.ImportSystem;
import com.djrapitops.plan.settings.Permissions;
import com.djrapitops.plan.settings.config.PlanConfig;
import com.djrapitops.plan.settings.config.paths.WebserverSettings;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.DeepHelpLang;
import com.djrapitops.plan.settings.locale.lang.HelpLang;
import com.djrapitops.plan.storage.database.DBType;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
@ -50,6 +53,7 @@ public class PlanCommand {
private final DataUtilityCommands dataUtilityCommands;
private final Locale locale;
private final PlanConfig config;
private final ImportSystem importSystem;
private final ErrorLogger errorLogger;
@ -68,6 +72,7 @@ public class PlanCommand {
PluginStatusCommands statusCommands,
DatabaseCommands databaseCommands,
DataUtilityCommands dataUtilityCommands,
PlanConfig config,
ErrorLogger errorLogger
) {
this.commandName = commandName;
@ -81,10 +86,11 @@ public class PlanCommand {
this.statusCommands = statusCommands;
this.databaseCommands = databaseCommands;
this.dataUtilityCommands = dataUtilityCommands;
this.config = config;
this.errorLogger = errorLogger;
}
private void handleException(RuntimeException error, CMDSender sender, Arguments arguments) {
private void handleException(RuntimeException error, CMDSender sender, @Untrusted Arguments arguments) {
if (error instanceof IllegalArgumentException) {
sender.send("§c" + error.getMessage());
} else {
@ -109,6 +115,8 @@ public class PlanCommand {
.subcommand(unregisterCommand())
.subcommand(logoutCommand())
.subcommand(webUsersCommand())
.subcommand(groups())
.subcommand(setGroup())
.subcommand(acceptCommand())
.subcommand(cancelCommand())
@ -131,14 +139,22 @@ public class PlanCommand {
return command;
}
public List<String> serverNames(CMDSender sender, Arguments arguments) {
String asString = arguments.concatenate(" ");
return tabCompleteCache.getMatchingServerIdentifiers(asString);
public List<String> serverNames(CMDSender sender, @Untrusted Arguments arguments) {
if (sender.hasPermission(Permissions.SERVER)) {
@Untrusted String asString = arguments.concatenate(" ");
return tabCompleteCache.getMatchingServerIdentifiers(asString);
}
return List.of();
}
private List<String> playerNames(CMDSender sender, Arguments arguments) {
String asString = arguments.concatenate(" ");
return tabCompleteCache.getMatchingPlayerIdentifiers(asString);
private List<String> playerNames(CMDSender sender, @Untrusted Arguments arguments) {
if (sender.hasPermission(Permissions.PLAYER_OTHER)) {
@Untrusted String asString = arguments.concatenate(" ");
return tabCompleteCache.getMatchingPlayerIdentifiers(asString);
} else if (sender.hasPermission(Permissions.PLAYER_SELF)) {
return sender.getPlayerName().map(List::of).orElse(List.of());
}
return List.of();
}
private Subcommand serverCommand() {
@ -219,6 +235,9 @@ public class PlanCommand {
}
private Subcommand registerCommand() {
if (config.isTrue(WebserverSettings.DISABLED_AUTHENTICATION) || config.isTrue(WebserverSettings.DISABLED_REGISTRATION)) {
return null;
}
return Subcommand.builder()
.aliases("register")
.requirePermission(Permissions.REGISTER_SELF)
@ -237,29 +256,32 @@ public class PlanCommand {
.optionalArgument(locale.getString(HelpLang.ARG_USERNAME), locale.getString(HelpLang.DESC_ARG_USERNAME))
.description(locale.getString(HelpLang.UNREGISTER))
.inDepthDescription(locale.getString(DeepHelpLang.UNREGISTER))
.onCommand((sender, arguments) -> registrationCommands.onUnregister(commandName, sender, arguments))
.onCommand(registrationCommands::onUnregister)
.onTabComplete(this::webUserNames)
.build();
}
private Subcommand logoutCommand() {
if (config.isTrue(WebserverSettings.DISABLED_AUTHENTICATION)) {
return null;
}
return Subcommand.builder()
.aliases("logout")
.requirePermission(Permissions.LOGOUT_OTHER)
.requiredArgument(locale.getString(HelpLang.ARG_USERNAME), locale.getString(HelpLang.DESC_ARG_USERNAME))
.description(locale.getString(HelpLang.LOGOUT))
.inDepthDescription(locale.getString(DeepHelpLang.LOGOUT))
.onCommand(registrationCommands::onLogoutCommand)
.onArgsOnlyCommand(registrationCommands::onLogoutCommand)
.onTabComplete(this::webUserNames)
.build();
}
private List<String> webUserNames(CMDSender sender, Arguments arguments) {
private List<String> webUserNames(CMDSender sender, @Untrusted Arguments arguments) {
if (!sender.hasPermission(Permissions.UNREGISTER_OTHER)) {
return Collections.emptyList();
}
String username = arguments.concatenate(" ");
@Untrusted String username = arguments.concatenate(" ");
return tabCompleteCache.getMatchingUserIdentifiers(username);
}
@ -347,7 +369,7 @@ public class PlanCommand {
.optionalArgument("--remove_offline", "Remove offline players if given")
.description(locale.getString(HelpLang.ONLINE_UUID_MIGRATION))
.inDepthDescription("Moves and combines offline uuid data to online uuids where possible. Leaves offline-only players to database.")
.onCommand((sender, arguments) -> databaseCommands.onOnlineConversion(commandName, sender, arguments))
.onCommand(databaseCommands::onOnlineConversion)
.build();
}
@ -357,7 +379,7 @@ public class PlanCommand {
.requirePermission(Permissions.DATA_CLEAR)
.requiredArgument(locale.getString(HelpLang.ARG_SERVER), locale.getString(HelpLang.DESC_ARG_SERVER_IDENTIFIER))
.description(locale.getString(HelpLang.JOIN_ADDRESS_REMOVAL))
.onCommand((sender, arguments) -> databaseCommands.onFixFabricJoinAddresses(commandName, sender, arguments))
.onCommand(databaseCommands::onFixFabricJoinAddresses)
.onTabComplete(this::serverNames)
.build();
}
@ -383,20 +405,23 @@ public class PlanCommand {
.optionalArgument(DB_ARG_OPTIONS, locale.getString(HelpLang.DESC_ARG_DB_RESTORE))
.description(locale.getString(HelpLang.DB_RESTORE))
.inDepthDescription(locale.getString(DeepHelpLang.DB_RESTORE))
.onCommand((sender, arguments) -> databaseCommands.onRestore(commandName, sender, arguments))
.onCommand(databaseCommands::onRestore)
.onTabComplete(this::getBackupFilenames)
.build();
}
private List<String> getBackupFilenames(CMDSender sender, Arguments arguments) {
private List<String> getBackupFilenames(CMDSender sender, @Untrusted Arguments arguments) {
if (!sender.hasPermission(Permissions.DATA_RESTORE)) {
return List.of();
}
if (arguments.get(1).isPresent()) {
return DBType.names();
}
Optional<String> firstArgument = arguments.get(0);
@Untrusted Optional<String> firstArgument = arguments.get(0);
if (firstArgument.isEmpty()) {
return tabCompleteCache.getMatchingBackupFilenames(null);
}
String part = firstArgument.get();
@Untrusted String part = firstArgument.get();
return tabCompleteCache.getMatchingBackupFilenames(part);
}
@ -408,7 +433,7 @@ public class PlanCommand {
.requiredArgument(DB_ARG_OPTIONS, locale.getString(HelpLang.DESC_ARG_DB_MOVE_TO))
.description(locale.getString(HelpLang.DB_MOVE))
.inDepthDescription(locale.getString(DeepHelpLang.DB_MOVE))
.onCommand((sender, arguments) -> databaseCommands.onMove(commandName, sender, arguments))
.onCommand(databaseCommands::onMove)
.onTabComplete((sender, arguments) -> DBType.names())
.build();
}
@ -433,7 +458,7 @@ public class PlanCommand {
.requiredArgument(DB_ARG_OPTIONS, locale.getString(HelpLang.DESC_ARG_DB_REMOVE))
.description(locale.getString(HelpLang.DB_CLEAR))
.inDepthDescription(locale.getString(DeepHelpLang.DB_CLEAR))
.onCommand((sender, arguments) -> databaseCommands.onClear(commandName, sender, arguments))
.onCommand(databaseCommands::onClear)
.onTabComplete((sender, arguments) ->
arguments.isEmpty() ? DBType.names() : Collections.emptyList()
).build();
@ -446,7 +471,7 @@ public class PlanCommand {
.requiredArgument(locale.getString(HelpLang.ARG_NAME_UUID), locale.getString(HelpLang.DESC_ARG_PLAYER_IDENTIFIER_REMOVE))
.description(locale.getString(HelpLang.DB_REMOVE))
.inDepthDescription(locale.getString(DeepHelpLang.DB_REMOVE))
.onCommand((sender, arguments) -> databaseCommands.onRemove(commandName, sender, arguments))
.onCommand(databaseCommands::onRemove)
.onTabComplete(this::playerNames)
.build();
}
@ -502,4 +527,39 @@ public class PlanCommand {
.onTabComplete(this::playerNames)
.build();
}
private Subcommand setGroup() {
return Subcommand.builder()
.aliases("setgroup")
.requirePermission(Permissions.SET_GROUP)
.requiredArgument(locale.getString(HelpLang.ARG_USERNAME), locale.getString(HelpLang.DESC_ARG_USERNAME))
.requiredArgument(locale.getString(HelpLang.ARG_GROUP), locale.getString(HelpLang.DESC_ARG_GROUP))
.description(locale.getString(HelpLang.SET_GROUP))
.inDepthDescription(locale.getString(DeepHelpLang.SET_GROUP))
.onCommand(registrationCommands::onChangePermissionGroup)
.onTabComplete(this::webGroupTabComplete)
.build();
}
private List<String> webGroupTabComplete(CMDSender sender, @Untrusted Arguments arguments) {
if (!sender.hasPermission(Permissions.SET_GROUP)) {
return List.of();
}
Optional<String> groupArgument = arguments.get(1);
if (groupArgument.isPresent()) {
return tabCompleteCache.getMatchingWebGroupNames(groupArgument.get());
}
String usernameArgument = arguments.get(0).orElse(null);
return tabCompleteCache.getMatchingUserIdentifiers(usernameArgument);
}
private Subcommand groups() {
return Subcommand.builder()
.aliases("groups")
.requirePermission(Permissions.SET_GROUP)
.description(locale.getString(HelpLang.GROUPS))
.inDepthDescription(locale.getString(DeepHelpLang.GROUPS))
.onCommand(registrationCommands::onListWebGroups)
.build();
}
}

View File

@ -17,7 +17,6 @@
package com.djrapitops.plan.commands;
import com.djrapitops.plan.SubSystem;
import com.djrapitops.plan.delivery.domain.auth.User;
import com.djrapitops.plan.gathering.ServerSensor;
import com.djrapitops.plan.identification.Server;
import com.djrapitops.plan.identification.ServerUUID;
@ -27,6 +26,7 @@ import com.djrapitops.plan.storage.database.queries.objects.ServerQueries;
import com.djrapitops.plan.storage.database.queries.objects.UserIdentifierQueries;
import com.djrapitops.plan.storage.database.queries.objects.WebUserQueries;
import com.djrapitops.plan.storage.file.PlanFiles;
import com.djrapitops.plan.utilities.dev.Untrusted;
import org.jetbrains.annotations.NotNull;
import javax.inject.Inject;
@ -51,6 +51,7 @@ public class TabCompleteCache implements SubSystem {
private final Set<String> serverIdentifiers;
private final Set<String> userIdentifiers;
private final Set<String> backupFileNames;
private final Set<String> webGroupIdentifiers;
@Inject
public TabCompleteCache(
@ -67,6 +68,7 @@ public class TabCompleteCache implements SubSystem {
serverIdentifiers = new HashSet<>();
userIdentifiers = new HashSet<>();
backupFileNames = new HashSet<>();
webGroupIdentifiers = new HashSet<>();
}
@Override
@ -76,9 +78,14 @@ public class TabCompleteCache implements SubSystem {
refreshServerIdentifiers();
refreshUserIdentifiers();
refreshBackupFileNames();
refreshWebGroupIdentifiers();
});
}
private void refreshWebGroupIdentifiers() {
webGroupIdentifiers.addAll(dbSystem.getDatabase().query(WebUserQueries.fetchGroupNames()));
}
private void refreshServerIdentifiers() {
Map<ServerUUID, Server> serverNames = dbSystem.getDatabase().query(ServerQueries.fetchPlanServerInformation());
for (Map.Entry<ServerUUID, Server> server : serverNames.entrySet()) {
@ -93,9 +100,7 @@ public class TabCompleteCache implements SubSystem {
}
private void refreshUserIdentifiers() {
dbSystem.getDatabase().query(WebUserQueries.fetchAllUsers()).stream()
.map(User::getUsername)
.forEach(userIdentifiers::add);
userIdentifiers.addAll(dbSystem.getDatabase().query(WebUserQueries.fetchAllUsernames()));
}
private void refreshBackupFileNames() {
@ -115,25 +120,29 @@ public class TabCompleteCache implements SubSystem {
backupFileNames.clear();
}
public List<String> getMatchingServerIdentifiers(String searchFor) {
public List<String> getMatchingServerIdentifiers(@Untrusted String searchFor) {
return findMatches(serverIdentifiers, searchFor);
}
public List<String> getMatchingPlayerIdentifiers(String searchFor) {
public List<String> getMatchingPlayerIdentifiers(@Untrusted String searchFor) {
playerIdentifiers.addAll(serverSensor.getOnlinePlayerNames());
return findMatches(playerIdentifiers, searchFor);
}
public List<String> getMatchingUserIdentifiers(String searchFor) {
public List<String> getMatchingUserIdentifiers(@Untrusted String searchFor) {
return findMatches(userIdentifiers, searchFor);
}
public List<String> getMatchingBackupFilenames(String searchFor) {
public List<String> getMatchingBackupFilenames(@Untrusted String searchFor) {
return findMatches(backupFileNames, searchFor);
}
public List<String> getMatchingWebGroupNames(@Untrusted String searchFor) {
return findMatches(webGroupIdentifiers, searchFor);
}
@NotNull
List<String> findMatches(Collection<String> searchList, String searchFor) {
List<String> findMatches(Collection<String> searchList, @Untrusted String searchFor) {
List<String> filtered = searchList.stream()
.filter(identifier -> searchFor == null || searchFor.isEmpty() || identifier.startsWith(searchFor))
.sorted(String.CASE_INSENSITIVE_ORDER)

View File

@ -17,12 +17,15 @@
package com.djrapitops.plan.commands.subcommands;
import com.djrapitops.plan.commands.use.CMDSender;
import com.djrapitops.plan.commands.use.ColorScheme;
import com.djrapitops.plan.commands.use.MessageBuilder;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.CommandLang;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
@ -31,20 +34,57 @@ import java.util.function.Consumer;
public class Confirmation {
private final Cache<CMDSender, Consumer<Boolean>> awaiting;
private final String mainCommand;
private final ColorScheme colors;
private final Locale locale;
@Inject
public Confirmation(
@Named("mainCommandName") String mainCommand,
ColorScheme colors,
Locale locale
) {
this.mainCommand = mainCommand;
this.colors = colors;
this.locale = locale;
awaiting = Caffeine.newBuilder()
.expireAfterWrite(5, TimeUnit.MINUTES)
.build();
}
public void confirm(CMDSender sender, Consumer<Boolean> confirmation) {
private void sendConfirmOptionMessages(CMDSender sender, String prompt) {
MessageBuilder message = sender.buildMessage()
.addPart(colors.getMainColor() + prompt).newLine();
sendConfirmOptionMessages(sender, message);
}
private void sendConfirmOptionMessages(CMDSender sender, MessageBuilder message) {
if (sender.supportsChatEvents()) {
message
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
message
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
}
public void confirm(CMDSender sender, String prompt, Consumer<Boolean> confirmation) {
if (awaiting.getIfPresent(sender) != null) onCancel(sender);
sendConfirmOptionMessages(sender, prompt);
awaiting.put(sender, confirmation);
}
public void confirm(CMDSender sender, MessageBuilder message, Consumer<Boolean> confirmation) {
if (awaiting.getIfPresent(sender) != null) onCancel(sender);
sendConfirmOptionMessages(sender, message);
awaiting.put(sender, confirmation);
}

View File

@ -29,6 +29,7 @@ import com.djrapitops.plan.delivery.formatting.Formatter;
import com.djrapitops.plan.delivery.formatting.Formatters;
import com.djrapitops.plan.exceptions.ExportException;
import com.djrapitops.plan.gathering.domain.GeoInfo;
import com.djrapitops.plan.gathering.domain.event.JoinAddress;
import com.djrapitops.plan.gathering.importing.ImportSystem;
import com.djrapitops.plan.gathering.importing.importers.Importer;
import com.djrapitops.plan.identification.Identifiers;
@ -42,10 +43,12 @@ import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.CommandLang;
import com.djrapitops.plan.settings.locale.lang.GenericLang;
import com.djrapitops.plan.settings.locale.lang.HelpLang;
import com.djrapitops.plan.settings.locale.lang.HtmlLang;
import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.storage.database.Database;
import com.djrapitops.plan.storage.database.queries.containers.ContainerFetchQueries;
import com.djrapitops.plan.storage.database.queries.objects.UserIdentifierQueries;
import com.djrapitops.plan.utilities.dev.Untrusted;
import javax.inject.Inject;
import javax.inject.Singleton;
@ -95,8 +98,8 @@ public class DataUtilityCommands {
}
}
public void onExport(CMDSender sender, Arguments arguments) {
String exportKind = arguments.get(0)
public void onExport(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String exportKind = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_ACCEPTS_ARGUMENTS, locale.getString(HelpLang.ARG_EXPORT_KIND), "players, server_json")));
ensureDatabaseIsOpen();
@ -104,7 +107,7 @@ public class DataUtilityCommands {
getExportFunction(exportKind).accept(sender);
}
private Consumer<CMDSender> getExportFunction(String exportArg) {
private Consumer<CMDSender> getExportFunction(@Untrusted String exportArg) {
if ("players".equals(exportArg)) {
return this::exportPlayers;
} else if ("server_json".endsWith(exportArg)) {
@ -176,8 +179,8 @@ public class DataUtilityCommands {
}
}
public void onImport(CMDSender sender, Arguments arguments) {
String importKind = arguments.get(0)
public void onImport(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String importKind = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_ACCEPTS_ARGUMENTS, locale.getString(HelpLang.ARG_IMPORT_KIND), importSystem.getImporterNames().toString())));
ensureDatabaseIsOpen();
@ -185,7 +188,7 @@ public class DataUtilityCommands {
findAndProcessImporter(sender, importKind);
}
private void findAndProcessImporter(CMDSender sender, String importKind) {
private void findAndProcessImporter(CMDSender sender, @Untrusted String importKind) {
Optional<Importer> foundImporter = importSystem.getImporter(importKind);
if (foundImporter.isPresent()) {
Importer importer = foundImporter.get();
@ -199,8 +202,8 @@ public class DataUtilityCommands {
}
}
public void onSearch(CMDSender sender, Arguments arguments) {
String searchingFor = arguments.concatenate(" ");
public void onSearch(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String searchingFor = arguments.concatenate(" ");
if (searchingFor.trim().isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_EMPTY_SEARCH_STRING));
}
@ -221,8 +224,8 @@ public class DataUtilityCommands {
sender.send(sender.getFormatter().table(asTableString.toString(), "::"));
}
public void onInGame(CMDSender sender, Arguments arguments) {
String identifier = arguments.concatenate(" ");
public void onInGame(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String identifier = arguments.concatenate(" ");
UUID playerUUID = identifiers.getPlayerUUID(identifier);
UUID senderUUID = sender.getUUID().orElse(null);
if (playerUUID == null) playerUUID = senderUUID;
@ -257,12 +260,17 @@ public class DataUtilityCommands {
Optional<GeoInfo> mostRecentGeoInfo = new GeoInfoMutator(geoInfo).mostRecent();
String geolocation = mostRecentGeoInfo.isPresent() ? mostRecentGeoInfo.get().getGeolocation() : "-";
SessionsMutator sessionsMutator = SessionsMutator.forContainer(player);
String latestJoinAddress = sessionsMutator.latestSession()
.flatMap(session -> session.getExtraData(JoinAddress.class))
.map(JoinAddress::getAddress)
.orElse("-");
String table = locale.getString(CommandLang.HEADER_INSPECT, playerName) + '\n' +
locale.getString(CommandLang.INGAME_ACTIVITY_INDEX, activityIndex.getFormattedValue(formatters.decimals()), activityIndex.getGroup()) + '\n' +
locale.getString(CommandLang.INGAME_REGISTERED, timestamp.apply(() -> registered)) + '\n' +
locale.getString(CommandLang.INGAME_LAST_SEEN, timestamp.apply(() -> lastSeen)) + '\n' +
locale.getString(CommandLang.INGAME_GEOLOCATION, geolocation) + '\n' +
" §2" + locale.getString(HtmlLang.LABEL_LABEL_JOIN_ADDRESS) + ": §f" + latestJoinAddress + '\n' +
locale.getString(CommandLang.INGAME_TIMES_KICKED, player.getValue(PlayerKeys.KICK_COUNT).orElse(0)) + '\n' +
'\n' +
locale.getString(CommandLang.INGAME_PLAYTIME, length.apply(sessionsMutator.toPlaytime())) + '\n' +

View File

@ -46,6 +46,7 @@ import com.djrapitops.plan.storage.database.transactions.Transaction;
import com.djrapitops.plan.storage.database.transactions.commands.*;
import com.djrapitops.plan.storage.database.transactions.patches.BadFabricJoinAddressValuePatch;
import com.djrapitops.plan.storage.file.PlanFiles;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
import net.playeranalytics.plugin.player.UUIDFetcher;
@ -61,6 +62,8 @@ import java.util.stream.Collectors;
@Singleton
public class DatabaseCommands {
private static final String SUPPORTED_DB_OPTIONS = "<MySQL/SQLite>";
private final Locale locale;
private final Confirmation confirmation;
private final ColorScheme colors;
@ -113,7 +116,7 @@ public class DatabaseCommands {
this.processing = processing;
}
public void onBackup(CMDSender sender, Arguments arguments) {
public void onBackup(CMDSender sender, @Untrusted Arguments arguments) {
String dbName = arguments.get(0)
.orElse(dbSystem.getDatabase().getType().getName())
.toLowerCase();
@ -129,7 +132,7 @@ public class DatabaseCommands {
sender.send(locale.getString(CommandLang.PROGRESS_SUCCESS));
}
public void performBackup(CMDSender sender, Arguments arguments, String dbName, Database fromDB) {
public void performBackup(CMDSender sender, @Untrusted Arguments arguments, String dbName, Database fromDB) {
Database toDB = null;
try {
String timeStamp = timestamp.apply(System.currentTimeMillis());
@ -150,8 +153,8 @@ public class DatabaseCommands {
}
}
public void onRestore(String mainCommand, CMDSender sender, Arguments arguments) {
String backupDbName = arguments.get(0)
public void onRestore(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String backupDbName = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, 1, "<" + locale.getString(HelpLang.ARG_BACKUP_FILE) + ">")));
boolean containsDBFileExtension = backupDbName.endsWith(".db");
@ -177,24 +180,11 @@ public class DatabaseCommands {
if (toDB.getState() != Database.State.OPEN) toDB.init();
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_OVERWRITE_DB, toDB.getType().getName(), backupDBFile.toPath().toString())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_OVERWRITE_DB, toDB.getType().getName(), backupDBFile.toPath().toString())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_OVERWRITE_DB,
toDB.getType().getName(),
backupDBFile.toPath().toString());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
performRestore(sender, backupDBFile, toDB);
} else {
@ -219,35 +209,22 @@ public class DatabaseCommands {
}
}
public void onMove(String mainCommand, CMDSender sender, Arguments arguments) {
public void onMove(CMDSender sender, @Untrusted Arguments arguments) {
DBType fromDB = arguments.get(0).flatMap(DBType::getForName)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse("<MySQL/SQLite>"))));
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse(SUPPORTED_DB_OPTIONS))));
DBType toDB = arguments.get(1).flatMap(DBType::getForName)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse("<MySQL/SQLite>"))));
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse(SUPPORTED_DB_OPTIONS))));
if (fromDB == toDB) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_SAME_DB));
}
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_OVERWRITE_DB, toDB.getName(), fromDB.getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_OVERWRITE_DB, toDB.getName(), fromDB.getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_OVERWRITE_DB,
toDB.getName(),
fromDB.getName());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
performMove(sender, fromDB, toDB);
} else {
@ -282,28 +259,13 @@ public class DatabaseCommands {
}
public void onClear(String mainCommand, CMDSender sender, Arguments arguments) {
public void onClear(CMDSender sender, @Untrusted Arguments arguments) {
DBType fromDB = arguments.get(0).flatMap(DBType::getForName)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse("<MySQL/SQLite>"))));
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse(SUPPORTED_DB_OPTIONS))));
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_CLEAR_DB, fromDB.getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_CLEAR_DB, fromDB.getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_CLEAR_DB, fromDB.getName());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
performClear(sender, fromDB);
} else {
@ -335,8 +297,8 @@ public class DatabaseCommands {
}
}
public void onFixFabricJoinAddresses(String mainCommand, CMDSender sender, Arguments arguments) {
String identifier = arguments.concatenate(" ");
public void onFixFabricJoinAddresses(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String identifier = arguments.concatenate(" ");
Optional<ServerUUID> serverUUID = identifiers.getServerUUID(identifier);
if (serverUUID.isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_SERVER_NOT_FOUND, identifier));
@ -344,24 +306,9 @@ public class DatabaseCommands {
Database database = dbSystem.getDatabase();
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_JOIN_ADDRESS_REMOVAL, identifier, database.getType().getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_JOIN_ADDRESS_REMOVAL, identifier, database.getType().getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_JOIN_ADDRESS_REMOVAL, identifier, database.getType().getName());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
performJoinAddressRemoval(sender, serverUUID.get(), database);
} else {
@ -385,8 +332,8 @@ public class DatabaseCommands {
}
}
public void onRemove(String mainCommand, CMDSender sender, Arguments arguments) {
String identifier = arguments.concatenate(" ");
public void onRemove(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String identifier = arguments.concatenate(" ");
UUID playerUUID = identifiers.getPlayerUUID(identifier);
if (playerUUID == null) {
throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_PLAYER_NOT_FOUND, identifier));
@ -394,24 +341,9 @@ public class DatabaseCommands {
Database database = dbSystem.getDatabase();
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_REMOVE_PLAYER_DB, playerUUID, database.getType().getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_REMOVE_PLAYER_DB, playerUUID, database.getType().getName())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_REMOVE_PLAYER_DB, playerUUID, database.getType().getName());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
performRemoval(sender, database, playerUUID);
} else {
@ -444,9 +376,9 @@ public class DatabaseCommands {
}
}
public void onUninstalled(CMDSender sender, Arguments arguments) {
public void onUninstalled(CMDSender sender, @Untrusted Arguments arguments) {
ensureDatabaseIsOpen();
String identifier = arguments.concatenate(" ");
@Untrusted String identifier = arguments.concatenate(" ");
Server server = dbSystem.getDatabase()
.query(ServerQueries.fetchServerMatchingIdentifier(identifier))
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_SERVER_NOT_FOUND, identifier)));
@ -460,9 +392,9 @@ public class DatabaseCommands {
sender.send(locale.getString(CommandLang.DB_UNINSTALLED));
}
public void onHotswap(CMDSender sender, Arguments arguments) {
public void onHotswap(CMDSender sender, @Untrusted Arguments arguments) {
DBType toDB = arguments.get(0).flatMap(DBType::getForName)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse("<MySQL/SQLite>"))));
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_INCORRECT_DB, arguments.get(0).orElse(SUPPORTED_DB_OPTIONS))));
try {
Database database = dbSystem.getActiveDatabaseByType(toDB);
@ -482,7 +414,7 @@ public class DatabaseCommands {
statusCommands.onReload(sender);
}
public void onOnlineConversion(String mainCommand, CMDSender sender, Arguments arguments) {
public void onOnlineConversion(CMDSender sender, @Untrusted Arguments arguments) {
boolean removeOfflinePlayers = arguments.get(0)
.map("--remove_offline"::equals)
.orElse(false);
@ -491,7 +423,7 @@ public class DatabaseCommands {
Map<UUID, BaseUser> baseUsersByUUID = dbSystem.getDatabase().query(BaseUserQueries.fetchAllBaseUsersByUUID());
List<String> playerNames = baseUsersByUUID.values().stream().map(BaseUser::getName).collect(Collectors.toList());
sender.send("Performing lookup for " + playerNames.size() + " uuids from Mojang..");
sender.send("Preparation estimated complete at: " + clock.apply(System.currentTimeMillis() + playerNames.size() * 100) + " (due to request rate limiting)");
sender.send("Preparation estimated complete at: " + clock.apply(System.currentTimeMillis() + playerNames.size() * 100L) + " (due to request rate limiting)");
Map<String, UUID> onlineUUIDsOfPlayers = getUUIDViaUUIDFetcher(playerNames);
if (onlineUUIDsOfPlayers.isEmpty()) {
@ -514,9 +446,8 @@ public class DatabaseCommands {
if (actualUUID == null) {
offlineOnlyUsers++;
if (removeOfflinePlayers) transactions.add(new RemovePlayerTransaction(recordedUUID));
continue;
}
if (recordedUUID == actualUUID) {
if (actualUUID == null || recordedUUID.equals(actualUUID)) {
continue;
}
BaseUser alreadyExistingProfile = baseUsersByUUID.get(actualUUID);
@ -529,30 +460,16 @@ public class DatabaseCommands {
}
}
MessageBuilder messageBuilder = sender.buildMessage()
MessageBuilder prompt = sender.buildMessage()
.addPart(colors.getMainColor() + "Moving to online-only UUIDs (irreversible):").newLine()
.addPart(colors.getSecondaryColor() + " Total players in database: " + totalProfiles).newLine()
.addPart(colors.getSecondaryColor() + (removeOfflinePlayers ? "Removing (no online UUID): " : " Offline only (no online UUID): ") + offlineOnlyUsers).newLine()
.addPart(colors.getSecondaryColor() + " Moving to new UUID: " + move).newLine()
.addPart(colors.getSecondaryColor() + " Combining offline and online profiles: " + combine).newLine()
.newLine()
.addPart(colors.getSecondaryColor() + " Estimated online UUID players in database after: " + (totalProfiles - combine - offlineOnlyUsers) + (removeOfflinePlayers ? "" : " (+" + offlineOnlyUsers + " offline)")).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM));
if (sender.supportsChatEvents()) {
messageBuilder
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
messageBuilder
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
.addPart(colors.getSecondaryColor() + " Estimated online UUID players in database after: " + (totalProfiles - combine - offlineOnlyUsers) + (removeOfflinePlayers ? "" : " (+" + offlineOnlyUsers + " offline)")).newLine();
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
transactions.forEach(dbSystem.getDatabase()::executeTransaction);
dbSystem.getDatabase().executeTransaction(new Transaction() {

View File

@ -33,6 +33,7 @@ import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.storage.database.Database;
import com.djrapitops.plan.storage.database.queries.objects.ServerQueries;
import com.djrapitops.plan.storage.database.queries.objects.WebUserQueries;
import com.djrapitops.plan.utilities.dev.Untrusted;
import javax.inject.Inject;
import javax.inject.Singleton;
@ -92,9 +93,9 @@ public class LinkCommands {
* @param sender Sender of command.
* @param arguments Given arguments.
*/
public void onServerCommand(CMDSender sender, Arguments arguments) {
public void onServerCommand(CMDSender sender, @Untrusted Arguments arguments) {
Server server;
String identifier = arguments.concatenate(" ");
@Untrusted String identifier = arguments.concatenate(" ");
if (arguments.isEmpty()) {
server = serverInfo.getServer();
} else {
@ -104,7 +105,7 @@ public class LinkCommands {
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_SERVER_NOT_FOUND, identifier)));
}
String address = getAddress(sender) + "/server/" + Html.encodeToURL(server.getName());
String address = getAddress(sender) + "/server/" + Html.encodeToURL(server.getUuid().toString());
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.LINK_SERVER))
.apply(builder -> linkTo(builder, sender, address))
@ -117,7 +118,7 @@ public class LinkCommands {
* @param sender Sender of command.
* @param arguments Given arguments.
*/
public void onServersCommand(CMDSender sender, Arguments arguments) {
public void onServersCommand(CMDSender sender, @Untrusted Arguments arguments) {
ensureDatabaseIsOpen();
String m = colors.getMainColor();
String s = colors.getSecondaryColor();
@ -125,7 +126,7 @@ public class LinkCommands {
String serversListed = dbSystem.getDatabase()
.query(ServerQueries.fetchPlanServerInformationCollection())
.stream().sorted()
.map(server -> m + server.getId().orElse(0) + "::" + t + server.getName() + "::" + s + server.getUuid() + "::" + s + server.getPlanVersion() + "\n")
.map(server -> m + server.getId().orElse(0) + "::" + t + server.getIdentifiableName() + "::" + s + server.getUuid() + "::" + s + server.getPlanVersion() + "\n")
.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
.toString();
sender.buildMessage()
@ -148,8 +149,8 @@ public class LinkCommands {
* @param sender Sender of command.
* @param arguments Given arguments.
*/
public void onPlayerCommand(CMDSender sender, Arguments arguments) {
String identifier = arguments.concatenate(" ");
public void onPlayerCommand(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String identifier = arguments.concatenate(" ");
UUID playerUUID = identifiers.getPlayerUUID(identifier);
UUID senderUUID = sender.getUUID().orElse(null);
if (playerUUID == null) playerUUID = senderUUID;
@ -174,7 +175,7 @@ public class LinkCommands {
* @param sender Sender of command
* @param arguments Only present to fulfill Subcommand#onCommand requirements.
*/
public void onPlayersCommand(CMDSender sender, Arguments arguments) {
public void onPlayersCommand(CMDSender sender, @Untrusted Arguments arguments) {
String address = getAddress(sender) + "/players";
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.LINK_PLAYERS))
@ -188,13 +189,13 @@ public class LinkCommands {
* @param sender Sender of command
* @param arguments Only present to fulfill Subcommand#onCommand requirements.
*/
public void onNetworkCommand(CMDSender sender, Arguments arguments) {
public void onNetworkCommand(CMDSender sender, @Untrusted Arguments arguments) {
String address = getAddress(sender) + "/network";
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.LINK_NETWORK))
.apply(builder -> linkTo(builder, sender, address))
.send();
if (dbSystem.getDatabase().query(ServerQueries.fetchProxyServerInformation()).isEmpty()) {
if (dbSystem.getDatabase().query(ServerQueries.fetchProxyServers()).isEmpty()) {
throw new IllegalArgumentException(locale.getString(CommandLang.NOTIFY_NO_NETWORK));
}
}
@ -205,7 +206,7 @@ public class LinkCommands {
* @param sender Sender of command.
* @param arguments Given arguments.
*/
public void onWebUsersCommand(CMDSender sender, Arguments arguments) {
public void onWebUsersCommand(CMDSender sender, @Untrusted Arguments arguments) {
ensureDatabaseIsOpen();
String m = colors.getMainColor();
String s = colors.getSecondaryColor();
@ -216,7 +217,7 @@ public class LinkCommands {
sender.send(t + locale.getString(CommandLang.HEADER_WEB_USERS, 0));
} else {
String usersListed = users.stream().sorted()
.map(user -> m + user.getUsername() + "::" + t + user.getLinkedTo() + "::" + s + user.getPermissionLevel() + "\n")
.map(user -> m + user.getUsername() + "::" + t + user.getLinkedTo() + "::" + s + user.getPermissionGroup() + "\n")
.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
.toString();
sender.buildMessage()
@ -227,8 +228,8 @@ public class LinkCommands {
}
}
public void onJson(CMDSender sender, Arguments arguments) {
String identifier = arguments.concatenate(" ");
public void onJson(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted String identifier = arguments.concatenate(" ");
UUID playerUUID = identifiers.getPlayerUUID(identifier);
UUID senderUUID = sender.getUUID().orElse(null);
if (playerUUID == null) playerUUID = senderUUID;

View File

@ -20,12 +20,14 @@ import com.djrapitops.plan.PlanPlugin;
import com.djrapitops.plan.commands.use.Arguments;
import com.djrapitops.plan.commands.use.CMDSender;
import com.djrapitops.plan.gathering.listeners.Status;
import com.djrapitops.plan.identification.ServerInfo;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.CommandLang;
import com.djrapitops.plan.settings.locale.lang.GenericLang;
import com.djrapitops.plan.storage.database.DBSystem;
import com.djrapitops.plan.storage.database.Database;
import com.djrapitops.plan.storage.database.queries.objects.ServerQueries;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
import com.djrapitops.plan.version.VersionChecker;
@ -33,7 +35,6 @@ import net.playeranalytics.plugin.PluginInformation;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Optional;
@Singleton
public class PluginStatusCommands {
@ -41,6 +42,7 @@ public class PluginStatusCommands {
private final PlanPlugin plugin;
private final PluginInformation pluginInformation;
private final Locale locale;
private final ServerInfo serverInfo;
private final DBSystem dbSystem;
private final Status status;
private final VersionChecker versionChecker;
@ -51,6 +53,7 @@ public class PluginStatusCommands {
PlanPlugin plugin,
PluginInformation pluginInformation,
Locale locale,
ServerInfo serverInfo,
DBSystem dbSystem,
Status status,
VersionChecker versionChecker,
@ -59,6 +62,7 @@ public class PluginStatusCommands {
this.plugin = plugin;
this.pluginInformation = pluginInformation;
this.locale = locale;
this.serverInfo = serverInfo;
this.dbSystem = dbSystem;
this.status = status;
this.versionChecker = versionChecker;
@ -80,15 +84,15 @@ public class PluginStatusCommands {
}, "Plan Reload Thread").start();
}
public void onDisable(CMDSender sender, Arguments arguments) {
public void onDisable(CMDSender sender, @Untrusted Arguments arguments) {
if (arguments.isEmpty()) {
plugin.onDisable();
sender.send(locale.getString(CommandLang.DISABLE_DISABLED));
return;
}
Optional<String> kickCountDisable = arguments.get(0).filter("kickcount"::equalsIgnoreCase);
if (kickCountDisable.isPresent()) {
boolean kickCountDisable = arguments.get(0).map("kickcount"::equalsIgnoreCase).orElse(false);
if (kickCountDisable) {
status.setCountKicks(false);
sender.send(locale.getString(CommandLang.FEATURE_DISABLED, "Kick Counting"));
} else {
@ -103,7 +107,7 @@ public class PluginStatusCommands {
Database database = dbSystem.getDatabase();
String updateAvailable = versionChecker.isNewVersionAvailable() ? yes : no;
String proxyAvailable = database.query(ServerQueries.fetchProxyServerInformation()).isPresent() ? yes : no;
String proxyAvailable = database.query(ServerQueries.fetchProxyServers()).isEmpty() ? no : yes;
String[] messages = {
@ -113,6 +117,7 @@ public class PluginStatusCommands {
locale.getString(CommandLang.INFO_UPDATE, updateAvailable),
locale.getString(CommandLang.INFO_DATABASE, database.getType().getName() + " (" + database.getState().name() + ")"),
locale.getString(CommandLang.INFO_PROXY_CONNECTION, proxyAvailable),
locale.getString(CommandLang.INFO_SERVER_UUID, serverInfo.getServerUUID()),
"",
">"
};

View File

@ -20,6 +20,7 @@ import com.djrapitops.plan.commands.use.Arguments;
import com.djrapitops.plan.commands.use.CMDSender;
import com.djrapitops.plan.commands.use.ColorScheme;
import com.djrapitops.plan.delivery.domain.auth.User;
import com.djrapitops.plan.delivery.domain.auth.WebPermission;
import com.djrapitops.plan.delivery.webserver.auth.ActiveCookieStore;
import com.djrapitops.plan.delivery.webserver.auth.FailReason;
import com.djrapitops.plan.delivery.webserver.auth.RegistrationBin;
@ -33,14 +34,14 @@ import com.djrapitops.plan.storage.database.Database;
import com.djrapitops.plan.storage.database.queries.objects.WebUserQueries;
import com.djrapitops.plan.storage.database.transactions.commands.RemoveWebUserTransaction;
import com.djrapitops.plan.storage.database.transactions.commands.StoreWebUserTransaction;
import com.djrapitops.plan.utilities.PassEncryptUtil;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.logging.ErrorContext;
import com.djrapitops.plan.utilities.logging.ErrorLogger;
import net.playeranalytics.plugin.server.PluginLogger;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.UUID;
@ -87,7 +88,7 @@ public class RegistrationCommands {
}
}
public void onRegister(CMDSender sender, Arguments arguments) {
public void onRegister(CMDSender sender, @Untrusted Arguments arguments) {
ensureDatabaseIsOpen();
if (arguments.isEmpty()) {
String address = linkCommands.getAddress(sender) + "/register";
@ -96,63 +97,43 @@ public class RegistrationCommands {
.apply(builder -> linkCommands.linkTo(builder, sender, address))
.send();
} else {
Optional<String> code = arguments.getAfter("--code");
@Untrusted Optional<String> code = arguments.getAfter("--code");
if (code.isPresent()) {
registerUsingCode(sender, code.get());
registerUsingCode(sender, code.get(), arguments);
} else {
registerUsingLegacy(sender, arguments);
sender.send(locale.getString(CommandLang.FAIL_REQ_ARGS, "--code", "/plan register --code 81cc5b17"));
}
}
}
public void registerUsingCode(CMDSender sender, String code) {
public void registerUsingCode(CMDSender sender, @Untrusted String code, @Untrusted Arguments arguments) {
UUID linkedToUUID = sender.getUUID().orElse(null);
Optional<User> user = RegistrationBin.register(code, linkedToUUID);
if (user.isPresent()) {
registerUser(user.get(), sender, getPermissionLevel(sender));
} else {
throw new IllegalArgumentException(locale.getString(FailReason.USER_INFORMATION_NOT_FOUND));
}
User user = RegistrationBin.register(code, linkedToUUID)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(FailReason.USER_INFORMATION_NOT_FOUND)));
String permissionGroup = getPermissionGroup(sender, arguments)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(FailReason.NO_PERMISSION_GROUP)));
user.setPermissionGroup(permissionGroup);
registerUser(user, sender);
}
public void registerUsingLegacy(CMDSender sender, Arguments arguments) {
String password = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, 1, "<password>")));
String passwordHash = PassEncryptUtil.createHash(password);
int permissionLevel = arguments.getInteger(2)
.filter(arg -> sender.hasPermission(Permissions.REGISTER_OTHER)) // argument only allowed with register other permission
.orElseGet(() -> getPermissionLevel(sender));
Optional<UUID> senderUUID = sender.getUUID();
Optional<String> senderName = sender.getPlayerName();
if (senderUUID.isPresent() && senderName.isPresent()) {
String playerName = senderName.get();
UUID linkedToUUID = senderUUID.get();
String username = arguments.get(1).orElse(playerName);
registerUser(new User(username, playerName, linkedToUUID, passwordHash, permissionLevel, Collections.emptyList()), sender, permissionLevel);
} else {
String username = arguments.get(1)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, 3, "<password> <name> <level>")));
registerUser(new User(username, "console", null, passwordHash, permissionLevel, Collections.emptyList()), sender, permissionLevel);
private Optional<String> getPermissionGroup(CMDSender sender, @Untrusted Arguments arguments) {
List<String> groups = dbSystem.getDatabase().query(WebUserQueries.fetchGroupNames());
if (sender.isPlayer()) {
for (String group : groups) {
if (sender.hasPermission("plan.webgroup." + group)) {
return Optional.of(group);
}
}
} else if (arguments.contains("superuser")) {
return dbSystem.getDatabase().query(WebUserQueries.fetchGroupNamesWithPermission(WebPermission.MANAGE_GROUPS.getPermission()))
.stream().findFirst();
}
return Optional.empty();
}
private int getPermissionLevel(CMDSender sender) {
if (sender.hasPermission(Permissions.SERVER)) {
return 0;
}
if (sender.hasPermission(Permissions.PLAYER_OTHER)) {
return 1;
}
if (sender.hasPermission(Permissions.PLAYER_SELF)) {
return 2;
}
return 100;
}
private void registerUser(User user, CMDSender sender, int permissionLevel) {
private void registerUser(User user, CMDSender sender) {
String username = user.getUsername();
user.setPermissionLevel(permissionLevel);
try {
Database database = dbSystem.getDatabase();
boolean userExists = database.query(WebUserQueries.fetchUser(username)).isPresent();
@ -162,21 +143,21 @@ public class RegistrationCommands {
.get(); // Wait for completion
sender.send(locale.getString(CommandLang.WEB_USER_REGISTER_SUCCESS, username));
logger.info(locale.getString(CommandLang.WEB_USER_REGISTER_NOTIFY, username, permissionLevel));
logger.info(locale.getString(CommandLang.WEB_USER_REGISTER_NOTIFY, username, user.getPermissionGroup()));
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (DBOpException | ExecutionException e) {
errorLogger.warn(e, ErrorContext.builder().related(sender, user, permissionLevel).build());
errorLogger.warn(e, ErrorContext.builder().related(sender, user).build());
}
}
public void onUnregister(String mainCommand, CMDSender sender, Arguments arguments) {
Optional<String> givenUsername = arguments.get(0).filter(arg -> sender.hasPermission(Permissions.UNREGISTER_OTHER));
public void onUnregister(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted Optional<String> givenUsername = arguments.get(0).filter(arg -> sender.hasPermission(Permissions.UNREGISTER_OTHER));
Database database = dbSystem.getDatabase();
UUID playerUUID = sender.getUUID().orElse(null);
String username;
@Untrusted String username;
if (givenUsername.isEmpty() && playerUUID != null) {
username = database.query(WebUserQueries.fetchUser(playerUUID))
.map(User::getUsername)
@ -194,24 +175,9 @@ public class RegistrationCommands {
throw new IllegalArgumentException(locale.getString(CommandLang.USER_NOT_LINKED));
}
if (sender.supportsChatEvents()) {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, user.getUsername(), user.getLinkedTo())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM))
.addPart("§2§l[\u2714]").command("/" + mainCommand + " accept").hover(locale.getString(CommandLang.CONFIRM_ACCEPT))
.addPart(" ")
.addPart("§4§l[\u2718]").command("/" + mainCommand + " cancel").hover(locale.getString(CommandLang.CONFIRM_DENY))
.send();
} else {
sender.buildMessage()
.addPart(colors.getMainColor() + locale.getString(CommandLang.CONFIRM_UNREGISTER, user.getUsername(), user.getLinkedTo())).newLine()
.addPart(colors.getTertiaryColor() + locale.getString(CommandLang.CONFIRM)).addPart("§a/" + mainCommand + " accept")
.addPart(" ")
.addPart("§c/" + mainCommand + " cancel")
.send();
}
String prompt = locale.getString(CommandLang.CONFIRM_UNREGISTER, user.getUsername(), user.getLinkedTo());
confirmation.confirm(sender, choice -> {
confirmation.confirm(sender, prompt, choice -> {
if (Boolean.TRUE.equals(choice)) {
try {
sender.send(colors.getMainColor() + locale.getString(CommandLang.UNREGISTER, user.getUsername()));
@ -231,8 +197,8 @@ public class RegistrationCommands {
}
public void onLogoutCommand(CMDSender sender, Arguments arguments) {
String loggingOut = arguments.get(0)
public void onLogoutCommand(@Untrusted Arguments arguments) {
@Untrusted String loggingOut = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ONE_ARG, locale.getString(HelpLang.ARG_USERNAME) + "/*")));
if ("*".equals(loggingOut)) {
@ -241,4 +207,32 @@ public class RegistrationCommands {
ActiveCookieStore.removeUserCookie(loggingOut);
}
}
public void onChangePermissionGroup(CMDSender sender, @Untrusted Arguments arguments) {
String username = arguments.get(0)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, locale.getString(HelpLang.ARG_USERNAME))));
String group = arguments.get(1)
.orElseThrow(() -> new IllegalArgumentException(locale.getString(CommandLang.FAIL_REQ_ARGS, locale.getString(HelpLang.ARG_GROUP))));
Database database = dbSystem.getDatabase();
User user = database.query(WebUserQueries.fetchUser(username))
.orElseThrow(() -> new IllegalArgumentException(locale.getString(FailReason.USER_DOES_NOT_EXIST)));
Optional<Integer> groupId = database.query(WebUserQueries.fetchGroupId(group));
if (groupId.isEmpty()) {
throw new IllegalArgumentException(locale.getString(FailReason.GROUP_DOES_NOT_EXIST));
}
user.setPermissionGroup(group);
database.executeTransaction(new StoreWebUserTransaction(user))
.thenRun(() -> sender.send(locale.getString(CommandLang.PROGRESS_SUCCESS)));
}
public void onListWebGroups(CMDSender sender) {
Database database = dbSystem.getDatabase();
List<String> groupNames = database.query(WebUserQueries.fetchGroupNames());
sender.send(String.join(", ", groupNames));
}
}

View File

@ -16,6 +16,7 @@
*/
package com.djrapitops.plan.commands.use;
import com.djrapitops.plan.utilities.dev.Untrusted;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.TextStringBuilder;
@ -29,6 +30,7 @@ import java.util.Optional;
*
* @author AuroraLS3
*/
@Untrusted
public class Arguments {
private final List<String> args;

View File

@ -18,6 +18,7 @@ package com.djrapitops.plan.commands.use;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.settings.locale.lang.CommandLang;
import com.djrapitops.plan.utilities.dev.Untrusted;
import com.djrapitops.plan.utilities.java.TriConsumer;
import java.util.ArrayList;
@ -54,7 +55,7 @@ public class CommandWithSubcommands extends Subcommand {
return subcommands;
}
public Optional<Subcommand> findSubCommand(Arguments arguments) {
public Optional<Subcommand> findSubCommand(@Untrusted Arguments arguments) {
return arguments.get(0).flatMap(alias -> {
for (Subcommand subcommand : subcommands) {
if (subcommand.getAliases().contains(alias)) {
@ -65,7 +66,7 @@ public class CommandWithSubcommands extends Subcommand {
});
}
public void onHelp(CMDSender sender, Arguments arguments) {
public void onHelp(CMDSender sender, @Untrusted Arguments arguments) {
List<Subcommand> hasPermissionFor = getPermittedSubcommands(sender);
sender.buildMessage()
.addPart(locale.getString(CommandLang.HEADER_HELP, getPrimaryAlias()))
@ -89,7 +90,7 @@ public class CommandWithSubcommands extends Subcommand {
.send();
}
public void onCommand(CMDSender sender, Arguments arguments) {
public void onCommand(CMDSender sender, @Untrusted Arguments arguments) {
if (sender.isMissingPermissionsFor(this)) {
sender.send(locale.getString(CommandLang.FAIL_NO_PERMISSION) + " " + getRequiredPermissions());
return;
@ -101,10 +102,10 @@ public class CommandWithSubcommands extends Subcommand {
}
}
public void executeCommand(CMDSender sender, Arguments arguments) {
Optional<String> gotAlias = arguments.get(0);
public void executeCommand(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted Optional<String> gotAlias = arguments.get(0);
if (gotAlias.isPresent()) {
String alias = gotAlias.get();
@Untrusted String alias = gotAlias.get();
if ("help".equals(alias)) {
onHelp(sender, arguments);
return;
@ -128,8 +129,8 @@ public class CommandWithSubcommands extends Subcommand {
fallback.accept(sender, arguments);
}
public List<String> onTabComplete(CMDSender sender, Arguments arguments) {
Optional<String> gotAlias = arguments.get(0);
public List<String> onTabComplete(CMDSender sender, @Untrusted Arguments arguments) {
@Untrusted Optional<String> gotAlias = arguments.get(0);
List<String> options = new ArrayList<>();
if (gotAlias.isPresent()) {
subcommandsLoop:

View File

@ -54,6 +54,10 @@ public interface SubcommandBuilder {
return onCommand((sender, arguments) -> executor.accept(sender));
}
default SubcommandBuilder onArgsOnlyCommand(Consumer<Arguments> executor) {
return onCommand((sender, arguments) -> executor.accept(arguments));
}
SubcommandBuilder onTabComplete(BiFunction<CMDSender, Arguments, List<String>> resolver);
Subcommand build();

View File

@ -31,9 +31,8 @@ public class ComponentSvc implements ComponentService {
private ComponentConverter converter;
// This is required to inject
@Inject
public ComponentSvc() {}
public ComponentSvc() {/* Dagger constructor */}
@Override
public String translateLegacy(String input, char inputCharacter, char outputCharacter) {

View File

@ -27,7 +27,7 @@ import java.util.UUID;
* @author AuroraLS3
* @see TableContainer
* @see InspectContainer
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated(since = "5.0")
public final class AnalysisContainer extends InspectContainer {

View File

@ -27,7 +27,7 @@ import java.util.TreeMap;
*
* @author AuroraLS3
* @see TableContainer
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated(since = "5.0")
public class InspectContainer {

View File

@ -26,7 +26,7 @@ import java.util.List;
* Container used for creating Html tables.
*
* @author AuroraLS3
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated(since = "5.0")
public class TableContainer {

View File

@ -23,7 +23,7 @@ import java.util.UUID;
* Interface for PluginData objects that affect Ban state of players.
*
* @author AuroraLS3
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated(since = "5.0")
public interface BanData {

View File

@ -20,7 +20,7 @@ package com.djrapitops.plan.data.plugin;
* Enum class for PluginData to estimate the required width of the contained items.
*
* @author AuroraLS3
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated
public enum ContainerSize {

View File

@ -33,7 +33,7 @@ import java.util.UUID;
* to register objects extending this class.
*
* @author AuroraLS3
* @deprecated PluginData API has been deprecated - see https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API for new API.
* @deprecated PluginData API has been deprecated - see <a href="https://github.com/plan-player-analytics/Plan/wiki/APIv5---DataExtension-API">wiki</a> for new API.
*/
@Deprecated(since = "5.0")
public abstract class PluginData {

View File

@ -18,6 +18,8 @@ package com.djrapitops.plan.delivery;
import com.djrapitops.plan.delivery.formatting.Formatters;
import com.djrapitops.plan.delivery.rendering.json.graphs.Graphs;
import com.djrapitops.plan.delivery.webserver.Addresses;
import com.djrapitops.plan.storage.file.PublicHtmlFiles;
import dagger.Lazy;
import javax.inject.Inject;
@ -26,16 +28,26 @@ import javax.inject.Singleton;
@Singleton
public class DeliveryUtilities {
private final Lazy<Addresses> addresses;
private final Lazy<Formatters> formatters;
private final Lazy<Graphs> graphs;
private final Lazy<PublicHtmlFiles> publicHtmlFiles;
@Inject
public DeliveryUtilities(
Lazy<Addresses> addresses,
Lazy<Formatters> formatters,
Lazy<Graphs> graphs
Lazy<Graphs> graphs,
Lazy<PublicHtmlFiles> publicHtmlFiles
) {
this.addresses = addresses;
this.formatters = formatters;
this.graphs = graphs;
this.publicHtmlFiles = publicHtmlFiles;
}
public Addresses getAddresses() {
return addresses.get();
}
public Formatters getFormatters() {
@ -46,4 +58,8 @@ public class DeliveryUtilities {
return graphs.get();
}
public PublicHtmlFiles getPublicHtmlFiles() {
return publicHtmlFiles.get();
}
}

View File

@ -16,6 +16,8 @@
*/
package com.djrapitops.plan.delivery.domain;
import java.util.Objects;
/**
* Object that has a value tied to a date.
*
@ -39,4 +41,25 @@ public class DateObj<T> implements DateHolder {
public T getValue() {
return value;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DateObj<?> dateObj = (DateObj<?>) o;
return getDate() == dateObj.getDate() && Objects.equals(getValue(), dateObj.getValue());
}
@Override
public int hashCode() {
return Objects.hash(getDate(), getValue());
}
@Override
public String toString() {
return "DateObj{" +
"date=" + date +
", value=" + value +
'}';
}
}

View File

@ -28,7 +28,7 @@ import java.util.Objects;
*/
public class JoinAddressCount implements Comparable<JoinAddressCount> {
private final int count;
private int count;
private String joinAddress;
public JoinAddressCount(Map.Entry<String, Integer> entry) {
@ -52,6 +52,10 @@ public class JoinAddressCount implements Comparable<JoinAddressCount> {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public int compareTo(@NotNull JoinAddressCount other) {
return String.CASE_INSENSITIVE_ORDER.compare(this.joinAddress, other.joinAddress);

View File

@ -17,6 +17,7 @@
package com.djrapitops.plan.delivery.domain;
import com.djrapitops.plan.identification.ServerUUID;
import com.djrapitops.plan.utilities.dev.Untrusted;
import java.util.Objects;
@ -27,6 +28,7 @@ import java.util.Objects;
*/
public class Nickname implements DateHolder {
@Untrusted
private final String name;
private final long date;
private final ServerUUID serverUUID;
@ -37,6 +39,7 @@ public class Nickname implements DateHolder {
this.serverUUID = serverUUID;
}
@Untrusted
public String getName() {
return name.length() <= 75 ? name : name.substring(0, 74);
}

View File

@ -0,0 +1,77 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.delivery.domain;
import org.jetbrains.annotations.Nullable;
import java.util.Objects;
/**
* Represents plugin version history.
* <p>
* If version is null the plugin was uninstalled at that time.
*
* @author AuroraLS3
*/
public class PluginHistoryMetadata {
private final String name;
@Nullable
private final String version;
private final long modified;
public PluginHistoryMetadata(String name, @Nullable String version, long modified) {
this.name = name;
this.version = version;
this.modified = modified;
}
public String getName() {
return name;
}
@Nullable
public String getVersion() {
return version;
}
public long getModified() {
return modified;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PluginHistoryMetadata that = (PluginHistoryMetadata) o;
return getModified() == that.getModified() && Objects.equals(getName(), that.getName()) && Objects.equals(getVersion(), that.getVersion());
}
@Override
public int hashCode() {
return Objects.hash(getName(), getVersion(), getModified());
}
@Override
public String toString() {
return "PluginHistoryMetadata{" +
"name='" + name + '\'' +
", version='" + version + '\'' +
", modified=" + modified +
'}';
}
}

View File

@ -0,0 +1,86 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.delivery.domain;
import java.util.Objects;
import java.util.UUID;
/**
* Represents data that can be used to calculate player retention for a specific player.
*
* @author AuroraLS3
*/
public class RetentionData {
private final UUID playerUUID;
private final long registerDate;
private final long lastSeenDate;
private final long playtime;
private final long timeDifference;
public RetentionData(UUID playerUUID, long registerDate, long lastSeenDate, long playtime) {
this.playerUUID = playerUUID;
this.registerDate = registerDate;
this.lastSeenDate = lastSeenDate;
this.playtime = playtime;
timeDifference = lastSeenDate - registerDate;
}
public UUID getPlayerUUID() {
return playerUUID;
}
public long getRegisterDate() {
return registerDate;
}
public long getLastSeenDate() {
return lastSeenDate;
}
public long getTimeDifference() {
return timeDifference;
}
public long getPlaytime() {
return playtime;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RetentionData that = (RetentionData) o;
return getRegisterDate() == that.getRegisterDate() && getLastSeenDate() == that.getLastSeenDate() && getPlaytime() == that.getPlaytime() && getTimeDifference() == that.getTimeDifference() && Objects.equals(getPlayerUUID(), that.getPlayerUUID());
}
@Override
public int hashCode() {
return Objects.hash(getPlayerUUID(), getRegisterDate(), getLastSeenDate(), getPlaytime(), getTimeDifference());
}
@Override
public String toString() {
return "RetentionData{" +
"playerUUID=" + playerUUID +
", registerDate=" + registerDate +
", lastSeenDate=" + lastSeenDate +
", playtime=" + playtime +
", timeDifference=" + timeDifference +
'}';
}
}

View File

@ -18,6 +18,7 @@ package com.djrapitops.plan.delivery.domain;
import com.djrapitops.plan.delivery.domain.mutators.ActivityIndex;
import com.djrapitops.plan.gathering.domain.BaseUser;
import com.djrapitops.plan.gathering.domain.Ping;
import java.util.Objects;
import java.util.Optional;
@ -38,6 +39,7 @@ public class TablePlayer implements Comparable<TablePlayer> {
private Long registered;
private Long lastSeen;
private String geolocation;
private Ping ping;
private boolean banned = false;
@ -87,6 +89,10 @@ public class TablePlayer implements Comparable<TablePlayer> {
return Optional.ofNullable(geolocation);
}
public Ping getPing() {
return ping;
}
public boolean isBanned() {
return banned;
}
@ -111,12 +117,13 @@ public class TablePlayer implements Comparable<TablePlayer> {
lastSeen.equals(that.lastSeen) &&
name.equals(that.name) &&
activityIndex.equals(that.activityIndex) &&
geolocation.equals(that.geolocation);
geolocation.equals(that.geolocation) &&
ping.equals(that.ping);
}
@Override
public int hashCode() {
return Objects.hash(name, activityIndex, activePlaytime, sessionCount, registered, lastSeen, geolocation);
return Objects.hash(name, activityIndex, activePlaytime, sessionCount, registered, lastSeen, geolocation, ping);
}
@Override
@ -130,6 +137,7 @@ public class TablePlayer implements Comparable<TablePlayer> {
", registered=" + registered +
", lastSeen=" + lastSeen +
", geolocation='" + geolocation + '\'' +
", ping='" + ping + '\'' +
", banned=" + banned +
'}';
}
@ -190,6 +198,11 @@ public class TablePlayer implements Comparable<TablePlayer> {
return this;
}
public Builder ping(Ping ping) {
player.ping = ping;
return this;
}
public TablePlayer build() {
return player;
}

View File

@ -1,93 +0,0 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.delivery.domain;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* Object containing webserver security user information.
*
* @author AuroraLS3
* @deprecated Use {@link com.djrapitops.plan.delivery.domain.auth.User} instead
* TODO Rewrite Authentication stuff
*/
@Deprecated(since = "2022-02-12, User.java")
public class WebUser {
private final String username;
private final String saltedPassHash;
private final int permLevel;
public WebUser(String username, String saltedPassHash, int permLevel) {
this.username = username;
this.saltedPassHash = saltedPassHash;
this.permLevel = permLevel;
}
public static List<String> getPermissionsForLevel(int level) {
List<String> permissions = new ArrayList<>();
if (level <= 0) {
permissions.add("page.network");
permissions.add("page.server");
permissions.add("page.debug");
// TODO Add JSON Permissions
}
if (level <= 1) {
permissions.add("page.players");
permissions.add("page.player.other");
}
if (level <= 2) {
permissions.add("page.player.self");
}
return permissions;
}
public String getSaltedPassHash() {
return saltedPassHash;
}
public int getPermLevel() {
return permLevel;
}
public String getName() {
return username;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
WebUser webUser = (WebUser) o;
return permLevel == webUser.permLevel &&
Objects.equals(username, webUser.username) &&
Objects.equals(saltedPassHash, webUser.saltedPassHash);
}
@Override
public int hashCode() {
return Objects.hash(username, saltedPassHash, permLevel);
}
public com.djrapitops.plan.delivery.web.resolver.request.WebUser toNewWebUser() {
return new com.djrapitops.plan.delivery.web.resolver.request.WebUser(
username, getPermissionsForLevel(permLevel).toArray(new String[0])
);
}
}

View File

@ -0,0 +1,59 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.delivery.domain.auth;
import java.util.Objects;
/**
* Represents Plan web permission group without permissions or users.
* <p>
* This object is used instead of a String in case more attributes are added in the future.
*
* @author AuroraLS3
*/
public class Group {
private final String name;
public Group(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Group group = (Group) o;
return Objects.equals(getName(), group.getName());
}
@Override
public int hashCode() {
return Objects.hash(getName());
}
@Override
public String toString() {
return "WebGroup{" +
"name='" + name + '\'' +
'}';
}
}

View File

@ -0,0 +1,58 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.delivery.domain.auth;
import java.util.List;
import java.util.Objects;
/**
* Represents Plan web permission group listing without associated permissions.
*
* @author AuroraLS3
*/
public class GroupList {
private final List<Group> groups;
public GroupList(List<Group> groups) {
this.groups = groups;
}
public List<Group> getGroups() {
return groups;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GroupList that = (GroupList) o;
return Objects.equals(getGroups(), that.getGroups());
}
@Override
public int hashCode() {
return Objects.hash(getGroups());
}
@Override
public String toString() {
return "WebGroupList{" +
"groups=" + groups +
'}';
}
}

View File

@ -18,6 +18,7 @@ package com.djrapitops.plan.delivery.domain.auth;
import com.djrapitops.plan.delivery.web.resolver.request.WebUser;
import com.djrapitops.plan.utilities.PassEncryptUtil;
import com.djrapitops.plan.utilities.dev.Untrusted;
import java.util.Collection;
import java.util.Objects;
@ -30,23 +31,24 @@ import java.util.UUID;
*/
public class User implements Comparable<User> {
@Untrusted
private final String username;
private final String linkedTo;
private final UUID linkedToUUID; // null for 'console'
private final String passwordHash;
private int permissionLevel;
private String permissionGroup;
private final Collection<String> permissions;
public User(String username, String linkedTo, UUID linkedToUUID, String passwordHash, int permissionLevel, Collection<String> permissions) {
public User(@Untrusted String username, String linkedTo, UUID linkedToUUID, String passwordHash, String permissionGroup, Collection<String> permissions) {
this.username = username;
this.linkedTo = linkedTo;
this.linkedToUUID = linkedToUUID;
this.passwordHash = passwordHash;
this.permissionLevel = permissionLevel;
this.permissionGroup = permissionGroup;
this.permissions = permissions;
}
public boolean doesPasswordMatch(String password) {
public boolean doesPasswordMatch(@Untrusted String password) {
return PassEncryptUtil.verifyPassword(password, passwordHash);
}
@ -54,6 +56,7 @@ public class User implements Comparable<User> {
return new WebUser(linkedTo, linkedToUUID, username, permissions);
}
@Untrusted
public String getUsername() {
return username;
}
@ -70,20 +73,16 @@ public class User implements Comparable<User> {
return passwordHash;
}
/**
* @deprecated Permission list should be used instead.
*/
@Deprecated(since = "2022-05-04", forRemoval = true)
public int getPermissionLevel() {
return permissionLevel;
public String getPermissionGroup() {
return permissionGroup;
}
/**
* @deprecated Permission list should be used instead.
*/
@Deprecated(since = "2022-05-04", forRemoval = true)
public void setPermissionLevel(int permissionLevel) {
this.permissionLevel = permissionLevel;
public void setPermissionGroup(String permissionGroup) {
this.permissionGroup = permissionGroup;
}
public Collection<String> getPermissions() {
return permissions;
}
@Override
@ -93,7 +92,7 @@ public class User implements Comparable<User> {
", linkedTo='" + linkedTo + '\'' +
", linkedToUUID=" + linkedToUUID +
", passwordHash='" + passwordHash + '\'' +
", permissionLevel=" + permissionLevel +
", permissionGroup=" + permissionGroup +
", permissions=" + permissions +
'}';
}
@ -103,22 +102,22 @@ public class User implements Comparable<User> {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return permissionLevel == user.permissionLevel &&
Objects.equals(username, user.username) &&
return Objects.equals(username, user.username) &&
Objects.equals(linkedTo, user.linkedTo) &&
Objects.equals(linkedToUUID, user.linkedToUUID) &&
Objects.equals(passwordHash, user.passwordHash) &&
Objects.equals(permissionGroup, user.permissionGroup) &&
Objects.equals(permissions, user.permissions);
}
@Override
public int hashCode() {
return Objects.hash(username, linkedTo, linkedToUUID, passwordHash, permissionLevel, permissions);
return Objects.hash(username, linkedTo, linkedToUUID, passwordHash, permissionGroup, permissions);
}
@Override
public int compareTo(User other) {
int comparison = Integer.compare(this.permissionLevel, other.permissionLevel);
int comparison = String.CASE_INSENSITIVE_ORDER.compare(this.permissionGroup, other.permissionGroup);
if (comparison == 0) comparison = String.CASE_INSENSITIVE_ORDER.compare(this.username, other.username);
return comparison;
}

Some files were not shown because too many files have changed in this diff Show More