Commit Graph

192 Commits

Author SHA1 Message Date
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 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
Aurora Lahtela f67a02775f Fix deprecation smells 2023-09-24 08:39:01 +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
Aurora Lahtela a957a65d54 Update AFK status on server shutdown
Affects issues:
- Fixed #3099
2023-07-08 09:31:41 +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
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 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 dda7199a1a Fix more sonar smells 2023-01-20 22:54:54 +02:00
Aurora Lahtela e3bea9ee77 Add online player names to player tab completion
Affects issues:
- Close #2216
2022-11-22 13:25:12 +02:00
Aurora Lahtela fd625b5002 Remove extra bits after \u0000 in join addresses
Affects issues:
- Fixed #2710
2022-11-08 16:38:09 +02:00
Aurora Lahtela cbc880c1d3 Improve database error messages
- Don't log "database is closed" when query tries to execute after database close
- Log better error help when mysql fails to connect

Affects issues:
- Fixed #2499
2022-09-02 18:49:36 +03:00
Aurora Lahtela 3eff46523d Test and fix user move and combination transactions 2022-08-27 15:20:23 +03:00
Aurora Lahtela b646e18c68
Fix fabric join address gathering (#2546)
- Refactored player online listeners to move common. often changed logic to common package
- Changed method fabric uses to get join address to use the client handshake packet which has the address
- Added command `/plan db removejoinaddresses {server}` to allow removing invalid join address data
- Changed build pipeline to always build jars even if tests fail
- Disabled one flaky test

Affects issues:
- Closed #817
- Fixed  #2526
2022-08-14 20:35:32 +03:00
Aurora Lahtela 37f11e3269 Remove PlanSystem#getErrorLogger
This code was improper use of dagger for dependency injection,
and could be fixed by introducing new method to Component classes
that gives the initialized ErrorLogger directly.
2022-07-15 08:34:18 +03:00
Aurora Lahtela b0be4f296d Use plugin classloader for thread context when initializing system
This allows ServiceLoader to find slf4j-nop provider for Jetty
preventing SLF4J "No provider" error

Affects issues:
- Fixed #2438
2022-07-15 08:21:23 +03:00
Aurora Lahtela 92910d647a Revert API jar to Java 8 and update to Java 11 APIs 2022-06-18 11:31:53 +03:00
Aurora Lahtela 315feb282b Merge branch 'master' into java-11
# Conflicts:
#	Plan/build.gradle
#	Plan/common/src/test/java/com/djrapitops/plan/identification/storage/ServerFileLoaderTest.java
2022-06-15 12:38:52 +03:00
Aurora Lahtela d34172412c Fix join address gathering
Affects issues:
- Fixed #2413
2022-06-11 19:02:36 +03:00
Henri Schubin bab0f273a2
Sponge API 8 port (#2119)
* Initial commit for Sponge API 8 port
* Change Sponge PAL version to include -sponge version suffix
* Comment out Nucleus w/ needs a update in ExtensionRegister
* Fix error with ArtifactVersion (from org.apache.maven) being relocated
* Correct todos related to getting values from ResourceKeys
* Cleanup sponge buildscript a bit
* Remove sout
* Update Extension-Sponge-Economy to 8.0.0-R0.3
* Convert to Sponge's new preferred way to load in jar resources
* Convert SpongeMessageBuilder and VelocityMessageBuilder into AdventureMessageBuilder
* Add back the command
* Update bStats to 3.0.0, re-enable bStats for Sponge
* Implement gamemode change mixin
* Remove unused import
* Update SpongeGMChangeListener's error logging as suggested

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>

* PAL 5.1.0
* Add a check in SpongeCommand to update the ErrorLogger and Subcommand if the PlanSpongeComponent changes
* Combine try-with-resources in SpongePlanFiles#asStringResource

Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2022-05-29 17:08:50 +03:00
Aurora Lahtela 368f1e5002 Various fixes to transactions
- Hopefully fix user_id relation error once and for all.
- Set timezone to 00:00 properly when MySQL initializes connection

Affects issues:
- Close #1239
2022-05-26 21:51:22 +03:00
Aurora Lahtela 52b8afe6cb Store join addresses separately and link to plan_sessions table for time data.
Affects issues:
- #2362
2022-05-20 19:32:00 +03:00
Aurora Lahtela 69c54fb5cb Fix some issues with data registering for new users 2022-04-11 19:08:05 +03:00
Aurora Lahtela 47e74f5ad5 Use ConcurrentHashMap for ignore afk permission checks
Affects issues:
- Fixed #2289
2022-02-28 19:23:59 +02:00
Risto Lahtela a7478645bd Reduce the amount of tasks used for upkeep
- Ping gathering now uses a map of timestamps
  - Removes a task that waited for ping data to be reliable (one task / join)
- Cookie expiration now uses a map of timestamps
  - Removes a task that waited for cookie to expire (one task / login cookie)

Affects issues:
- Possibly fixed #1984
2022-01-06 15:43:48 +02:00
Risto Lahtela 967adb226a Added User-Agent to Ore update checker to fix 403 error 2021-10-31 15:09:48 +02:00
Risto Lahtela ea7a214ef4 Reduce size of error message from SpongeVersionChecker 2021-10-31 13:28:17 +02:00
Henri S efd3b75a29
Database Driver downloading (#2144)
Affects issues:
- Fixed #1944
2021-10-31 13:16:47 +02:00
Risto Lahtela 5468a22c50 Added more instructions to sponge version check what to do 2021-10-30 11:08:42 +03:00
Aurora Lahtela ebb1108969
Comment out slimjar related configuration (#2138) 2021-10-27 18:43:14 +03:00
Emilia Dreamer 4d151d45fa
Specialized Fabric and Sponge version checkers (#2125)
Affects issues:
- Close #936
- Close #2093.
2021-10-13 18:00:20 +03:00
Risto Lahtela 5c618099af Added web-dev related settings
- Customized_files.Path can now be used to choose where Html Customized files are placed
  (Change this to `"<absolute path to git repo>/Plan/common/src/main/resources/assets/plan/web"`
   for easy time developing)
- Customized_files.Enable_web_dev_mode can be used to enable modifications of all files
  as well as bypass resource caching for instant updates on browser refresh.

Adding new files still needs recompiling the plugin, but this should speed up
modifications to existing parts of the website considerably.

- #2098
2021-09-26 14:50:14 +03:00
dependabot[bot] e066ff7215
Bump io.github.slimjar from 1.2.1 to 1.2.2 in /Plan (#2043)
* Bump io.github.slimjar from 1.2.1 to 1.2.2 in /Plan

Bumps io.github.slimjar from 1.2.1 to 1.2.2.

---
updated-dependencies:
- dependency-name: io.github.slimjar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Added vshnv.tech repository for including the slimjar library jar

* use papermc.io/repo for downloading slimjar dependencies

Affects issues:
- Resolved https://github.com/slimjar/slimjar/issues/52
- Resolved https://github.com/slimjar/slimjar/issues/53

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Risto Lahtela <24460436+AuroraLS3@users.noreply.github.com>
2021-08-08 09:21:44 +03:00
Antti Koponen d29a94e6a4
Implement SlimJar as a runtime dependency downloader (#1990)
MySQL & SQLite are dynamically (down)loaded to the classpath instead of being shaded.

Affects issues:
- Close #1944
2021-08-07 15:29:54 +03:00
Emilia Dreamer a90f003462
Notify about old versions of html customized files (#2014)
Affects issues:
- Close #1995
2021-07-23 17:17:35 +03:00
Risto Lahtela 6c26fc529e
Add server name to kill lists (#2013)
* Added server name to kill objects (and changed them a lot)
* Added server name to kill tables

Affects issues:
- Close #1437
2021-07-18 18:07:45 +03:00
Risto Lahtela cd2d0fcb0f Write new html customized Plan web files when Plan enables (no overwrite)
Affects issues:
- Close #1745
2021-07-17 16:28:18 +03:00
Risto Lahtela db0d3ff6ac Implemented more ways to get Ping on bukkit
Affects issues:
- Close #1962
2021-07-03 10:05:34 +03:00
Risto Lahtela e90606b68a
5.4: Java 16 support, remove H2 (#1932)
* Stop downloading dependencies at startup, include them instead
* 5.4: Removed H2
* Platform Abstraction Layer 5.0.0, delete dependency downloading
* Removed some unnecessary native sqlite drivers
* Serve jquery via CDN

Affects issues:
- Fixes #1886
- Close #1908 (No longer relevant, library no longer included)
2021-06-12 10:21:38 +03:00
Risto Lahtela 6f73af4719 Delete old dependency cache directories 2021-04-23 10:40:09 +03:00
Risto Lahtela b6f1bb22c8 Updated PlatformAbstraction layer
- Replace usage of DepDownloader with MVNLoader

Affects issues:
- Fixed #1839
2021-04-23 10:23:50 +03:00
Risto Lahtela 1c946e7490 Added missing server UUID to operator and ban status transactions
Affects issues:
- #1827
2021-04-17 08:24:42 +03:00
Risto Lahtela 2997e882a5 Fixed a bunch of IntelliJ inspection issues and typos 2021-03-23 11:57:01 +02:00
Risto Lahtela 111affaa50 Implemented EnderCrystal kill detection for Sponge
Affects issues:
- #1571
2021-03-21 15:37:34 +02:00
Risto Lahtela baab6e5f88 Fixing sonarcloud bugs and smells
Bugs fixed:
- LinkCommands: The return value of "orElseThrow" must be used.
- RegistrationCommands: Optional isPresent not same instance as Optional get

Smells fixed:
- Plan: "logger" is the name of a field in "JavaPlugin"
- PlayersTableJSONCreator: Reduce the total number of break and continue statements in this loop to use at most one.
- BukkitAFKListener, SpongeAFKListener, NukkitAFKListener, PlanAPI, CapabilityService: match the regular expression '^[a-z][a-zA-Z0-9]*$'
- TaskSystem: Reorder the modifiers to comply with the Java Language Specification.
- EntityNameFormatter: StringUtils.removeAll moved to RegExUtils.removeAll
- FiltersJSONResolver: fulfill compareTo contract
- ExportTask: Removed duplicate string literal
- FinishedSession.Id: Rename field "id"
2021-03-16 10:41:17 +02:00
Risto Lahtela 2e01758fd6 Fixed lag from host name lookup 2021-03-16 09:02:30 +02:00
Risto Lahtela bfcb7eea85
Dependency downloading (#1795)
Affects issues:
- Fix #1759
2021-03-15 15:28:36 +02:00
Risto Lahtela a9ce521c0c Made shutdown session save less disruptive
- Session save is now properly waited for when plugin disables
    The session save attempt times out after 4 seconds instead of
    waiting forever
- If shutdown save is not performed, instead of attempting again on JVM death,
  the sessions are placed into a file that is read next time the plugin
  enables.

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

Affects issues:
- Close #1746
2021-03-12 18:03:12 +02:00
Risto Lahtela e1bffbcc1f
Swap Abstract Plugin Framework for Platform Abstraction Layer library (#1787)
Replaced Abstract Plugin Framework with Platform Abstraction Layer

Large amount of changes due to removal of features from the library,
and change of the way the abstraction is achieved.
Removes features from Plan:

    Removed debug logging (Considered useless when debugging issues)
    Removed /debug page (Considered useless when debugging issues)
    Removed enable timing (Benchmarking utility was removed from the library)
2021-03-09 11:36:07 +02:00