Commit Graph
503 Commits
Author SHA1 Message Date
anthorob 6abda9196b deprecated api 2026-09-25 12:51:18 -04:00
anthorob bceab4b2b9 Refactor repository layer using Jakarta Data
Replaced custom repository logic with Jakarta Data interfaces to reduce boilerplate and enhance compile-time query validation. Removed `AbstractRepository` and introduced `TransactionRunner` for consistent transactional support. Updated all repository facades to delegate query operations to generated interfaces while retaining the same API, ensuring backward compatibility. Added dependencies for `jakarta.data-api` and Hibernate's `hibernate-processor` for annotation-based query generation. Verified functional parity and improved testability across the repository layer.
2026-09-25 12:48:48 -04:00
anthorob 677b3f8013 Remove JpaUtils and refactor repository access
Eliminated the static `JpaUtils` utility and transitioned to explicit repository management for improved modularity and testability. Updated `GuildService`, `TaskManagerImpl`, and related classes to use dependency-injected repositories. Simplified configuration by aligning repository definitions with existing service patterns and ensuring proper session handling through `SessionManager`. Verified that all affected components function as expected after refactoring.
2026-09-25 12:17:19 -04:00
anthorob 62de32ecfc Migrate from Gson and org.json to Jackson
Replaced Gson and org.json usage across the codebase with a unified Jackson-based implementation through a shared `Json` utility. Updated all JSON serialization and deserialization logic (`GsonJsonMapper`, HTTP client, task persistence, command handling, tests) to use Jackson's `ObjectMapper`. Removed the outdated dependencies from `pom.xml` and verified symmetry in payload serialization.
2026-09-25 08:18:43 -04:00
anthorob 05b4a2ab85 Refactor persistable-task system with self-registering tasks
Replaced metadata-driven reflection with self-describing `PersistableTask` types and a new `PersistableTaskRegistry`. Removed `persistable-tasks.json` and `TaskRegistry`, migrating to type-safe DI instantiation and explicit `restore()` methods. Fixed task restoration issues, ensuring `EmojiReactionRoleTask` and its `emojiMapping` now persist and restore correctly. Introduced `typeId()` for stable task identification, updated payload serialization for symmetry, and applied database migration to map FQCNs to logical IDs. Added unit tests for robust type discovery, payload symmetry, and registry behavior, ensuring no breaking changes.
2026-09-25 07:35:45 -04:00
anthorob 9f2e15a622 Remove NetNeutralityBot placeholder. 2026-09-25 07:00:24 -04:00
anthorob ffb1095f23 Replace System.exit with exceptions for safer shutdown
Refactored various parts of the application to replace calls to `System.exit` with appropriate `IllegalStateException` usage. Improved modularity and testability by delegating error handling to specific exception cases instead of terminating the JVM directly. Updated related components to ensure proper cleanup and graceful shutdown behavior during failures.
2026-09-25 06:46:31 -04:00
anthorob 4277db3922 Refactor shared.util package to utils and update imports
Moved all classes from the `shared.util` package to `utils` for improved consistency and clarity. Updated imports across all affected files to reference the new package structure. This change simplifies the codebase by aligning utility classes under a single, consistent namespace. Verified functionality and ensured no breaking changes.
2026-09-25 06:38:58 -04:00
anthorob 36c4acb13a Upgrade to Javalin 7 and refactor route registration
Updated the dependency to Javalin v7.2.3 and refactored route registration to use the new `RoutesConfig` API. Adjusted `GuildRoutes`, `ActionRoutes`, and `WebApi` to align with updated conventions and centralized route definitions. Improved modularity, reduced redundancy, and ensured backward compatibility by migrating exception and error handler logic. Updated tests to comply with the refactored APIs and structure.
2026-09-25 06:36:00 -04:00
anthorob 4cf7c47645 Remove Lavaplayer and migrate to Lavalink
Replaced the bot's audio handling system by removing Lavaplayer dependencies and migrating to a Lavalink v4 node. Updated `MusicManager`, `TrackScheduler`, and related classes to utilize the `LavalinkClient`. Refactored playlist and track loading logic, task integrations, and event dispatch to integrate with the remote node. Deprecated the custom Udio source, preserving references for a future plugin port. Documented configuration and deployment details for the new audio architecture.
2026-09-23 15:08:06 -04:00
anthorob 01bfe22d22 Migrate HTTP server to Javalin and remove legacy handlers
Replaced the existing HttpServer implementation and associated handler classes (`AbstractHandler`, `ActionHandler`, `GuildHandler`, `RootHandler`) with a Javalin-based routing system. Improved modularity by introducing `ActionRoutes` and `GuildRoutes` for route definitions, and centralized JSON mapping using `GsonJsonMapper`. Simplified caching via the new `ResponseCache` utility, updated `WebModule` for cleaner timeout handling, and extended test coverage for API endpoints.
2026-09-23 12:07:38 -04:00
anthorob 5f6265db01 Improve task lifecycle handling and optimize TaskManagerImpl
Redesigned task lifecycle management to properly cascade parent-child removals and synchronize database persistence on task deletion. Refactored task management to address memory leaks, concurrency collisions, and pending-task cleanup issues. Enhanced lookup performance, logging accuracy, and test coverage with a comprehensive unit test suite validating all task scenarios.
2026-09-23 10:07:26 -04:00
anthorob a507b471b4 cleanup 2026-09-10 08:32:16 -04:00
anthorob 868dbea8df Refactor CommandProcessor to enhance modularity and extensibility
Decomposed the monolithic `dispatch()` method into modular components using `CommandPrecondition`, `ResultHandler`, and `UsageValidator`. Replaced inline checks and tightly-coupled logic with composable, testable classes, eliminating `instanceof` dependencies. Preserved existing behavior and improved maintainability for future feature additions.
2026-09-10 08:24:21 -04:00
anthorob dd1c4dd42f Refactor thread management for improved safety and performance
Replaced unbounded thread pools in `ThreadManager` with bounded `ThreadPoolExecutor` to prevent memory exhaustion under load. Refactored shutdown logic to handle exceptions per-executor, set threads to daemon mode in `BaseThreadFactory`, and aligned synchronization patterns across multiple classes (`TaskManagerImpl`, `ChannelMessagePurger`, and `MusicManager`). Addressed lock cleanup races, double unlock issues, and static collection thread-safety concerns.
2026-09-10 07:57:49 -04:00
anthorob 64f4890931 Refactor settings architecture and remove singleton pattern
Reworked `Settings` class to replace the static singleton pattern with constructor injection of `SettingsProvider`, improving testability and modularity. Updated all affected classes, tests, and configurations to align with the new architecture.
2026-09-10 05:59:55 -04:00
anthorob 1d737a2a4f Migrate scheduled tasks to a new package and architecture
Refactored scheduled tasks and moved them to a dedicated `scheduled` package. Replaced the legacy `ScheduledTaskManager` and `ScheduledTask` definitions with a redesigned architecture to improve maintainability. Updated related classes and configurations to adopt the new structure.
2026-09-09 15:10:33 -04:00
anthorob 1b981abdf7 Add unit tests and refactor music service classes 2026-09-06 16:21:45 -04:00
anthorob b8786c8dc9 Remove deprecated classes and static singleton-based architecture 2026-09-06 07:38:02 -04:00
anthorob 54a27883d1 Merge pull request 'Update ghcr.io/kikkia/yt-cipher:master Docker digest to 4c5ec38' (#3) from renovate/ghcr.io-kikkia-yt-cipher-master into main
CI / Package (push) Successful in 45s
CI / Docker Build and Push (main) (push) Successful in 19s
CI / Docker Build and Push (release) (push) Has been skipped
Reviewed-on: #3
2026-08-24 17:27:27 -04:00
anthorob 196f0be044 Merge pull request 'Update dependency dev.lavalink.youtube:v2 to v1.18.2' (#27) from renovate/dev.lavalink.youtube-v2-1.x into main
CI / Package (push) Successful in 42s
CI / Docker Build and Push (main) (push) Successful in 19s
CI / Docker Build and Push (release) (push) Has been skipped
Reviewed-on: #27
2026-08-24 17:26:03 -04:00
renovate-bot 571713a9ec Update dependency dev.lavalink.youtube:v2 to v1.18.2
CI / Package (pull_request) Successful in 1m0s
CI / Docker Build and Push (main) (pull_request) Has been skipped
CI / Docker Build and Push (release) (pull_request) Has been skipped
2026-08-24 21:02:40 +00:00
anthorob aa587ddf3c expand GitHub Actions updates to include digest changes
CI / Package (push) Successful in 43s
CI / Docker Build and Push (main) (push) Successful in 19s
CI / Docker Build and Push (release) (push) Has been skipped
2026-08-24 16:49:38 -04:00
anthorob f8ebe28cb4 rename .gitea to .github for renovate integration
CI / Package (push) Successful in 44s
CI / Docker Build and Push (main) (push) Successful in 19s
CI / Docker Build and Push (release) (push) Has been skipped
2026-08-24 16:46:45 -04:00
anthorob 1544cda9d2 update Renovate config for Maven dependency grouping
CI / Package (push) Successful in 1m4s
CI / Docker Build and Push (main) (push) Successful in 3m16s
CI / Docker Build and Push (release) (push) Has been skipped
2026-08-24 16:39:18 -04:00
renovate-bot 703f503191 Update ghcr.io/kikkia/yt-cipher:master Docker digest to 4c5ec38
CI / Package (pull_request) Successful in 49s
CI / Docker Build and Push (main) (pull_request) Has been skipped
CI / Docker Build and Push (release) (pull_request) Has been skipped
2026-08-06 06:02:33 +00:00
anthorob 52bb9c026b group GitHub Actions updates by type
CI / Package (push) Successful in 42s
CI / Docker Build and Push (main) (push) Successful in 18s
CI / Docker Build and Push (release) (push) Has been skipped
2026-05-13 00:52:01 -04:00
anthorob ad77cf630e update Maven dependencies
CI / Package (push) Successful in 1m7s
CI / Docker Build and Push (main) (push) Successful in 41s
CI / Docker Build and Push (release) (push) Has been skipped
2026-05-12 23:37:18 -04:00
anthorob 62fc2097c2 enable Maven cache in CI workflow
CI / Package (push) Successful in 2m0s
CI / Docker Build and Push (main) (push) Successful in 2m18s
CI / Docker Build and Push (release) (push) Has been skipped
2026-04-01 11:45:00 -04:00
anthorob b96e5b2880 Merge pull request 'chore(deps): pin dependencies' (#12) from renovate/pin-dependencies into main
CI / Package (push) Successful in 1m3s
CI / Docker Build and Push (main) (push) Successful in 2m17s
CI / Docker Build and Push (release) (push) Has been skipped
Reviewed-on: #12
2026-03-18 07:02:27 -04:00
renovate-bot b3bd6a45fe chore(deps): pin dependencies
CI / Package (pull_request) Successful in 2m7s
CI / Docker Build and Push (main) (pull_request) Has been skipped
CI / Docker Build and Push (release) (pull_request) Has been skipped
2026-03-18 10:56:02 +00:00
anthorob 83e618c6a3 fix workflow
CI / Package (push) Successful in 1m1s
CI / Docker Build and Push (main) (push) Successful in 41s
CI / Docker Build and Push (release) (push) Has been skipped
2026-03-18 06:46:21 -04:00
anthorob 078c540327 fix workflow
CI / Package (push) Successful in 1m6s
CI / Docker Build and Push (main) (push) Failing after 1m54s
CI / Docker Build and Push (release) (push) Has been skipped
2026-03-18 06:42:10 -04:00
anthorob e021a713b2 fix workflow
CI / Package (push) Failing after 1m14s
CI / Docker Build and Push (main) (push) Has been skipped
CI / Docker Build and Push (release) (push) Has been skipped
2026-03-18 06:38:29 -04:00
anthorob 91aaafeb40 fix workflow
CI / Docker Build and Push (main) (push) Has been cancelled
CI / Docker Build and Push (release) (push) Has been cancelled
CI / Package (push) Has been cancelled
2026-03-18 06:25:16 -04:00
anthorob 99457b40fc fix maven cache in workflow
CI / Package (push) Has been cancelled
CI / Docker Build and Push (main) (push) Has been cancelled
CI / Docker Build and Push (release) (push) Has been cancelled
2026-03-18 06:23:33 -04:00
anthorob 78a359ba09 fix maven cache in workflow
CI / Test (push) Has been cancelled
CI / Package (push) Has been cancelled
CI / Docker Build and Push (main) (push) Has been cancelled
CI / Docker Build and Push (release) (push) Has been cancelled
CI / Compile (push) Has been cancelled
2026-03-18 06:02:44 -04:00
anthorob 2a4dc09a9e switch to gitea worflow
CI / Test (push) Has been cancelled
CI / Package (push) Has been cancelled
CI / Docker Build and Push (main) (push) Has been cancelled
CI / Docker Build and Push (release) (push) Has been cancelled
CI / Compile (push) Has been cancelled
2026-03-18 05:38:47 -04:00
anthorob c442619531 remove harcoded html tag, parses next chunks to find track 2026-03-15 01:41:18 -04:00
anthorob d6fa27923b add compose override to gitignore 2026-03-09 05:07:53 -04:00
anthorob ec8cccf5e5 Merge branch 'renovate/pin-dependencies' into 'main'
chore(deps): pin dependencies

See merge request anthorob/netneutrality!116
2026-03-09 07:51:00 +00:00
Renovate Bot 7ca6215f47 chore(deps): pin dependencies 2026-03-09 07:49:18 +00:00
anthorob 82f6ea4f4d Merge branch '15-job-failed-8956' into 'main'
Resolve "Job Failed #8956"

Closes #15

See merge request anthorob/netneutrality!118
2026-03-09 07:30:25 +00:00
anthorob 1a0434ffed Resolve "Job Failed #8956" 2026-03-09 07:30:25 +00:00
anthorob 25a5df0743 improve ci 2026-03-09 03:06:16 -04:00
anthorob d8bd5ecfdb switch to ubuntu for runtime 2026-03-04 00:14:20 -05:00
anthorob 8101a02807 Merge branch '14-move-to-java-25-and-use-jdave' into 'main'
move to jdk 25

Closes #14

See merge request anthorob/netneutrality!115
2026-03-04 04:57:53 +00:00
anthorob d3da68f4d4 move to jdk 25 2026-03-04 04:57:53 +00:00
anthorob 03a1920ccb Merge branch 'renovate/mariadb-11' into 'main'
chore(deps): update mariadb:11 docker digest to 1cac849

See merge request anthorob/netneutrality!104
2025-12-19 09:32:56 +00:00
Renovate 4d753f3ddf chore(deps): update mariadb:11 docker digest to 1cac849 2025-12-19 09:32:56 +00:00