-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Development
: Update server dependencies
#10061
Conversation
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 pmd (7.8.0)src/main/java/de/tum/cit/aet/artemis/core/config/SecurityConfiguration.javaThe following rules are missing or misspelled in your ruleset file category/vm/bestpractices.xml: BooleanInstantiation, DontImportJavaLang, DuplicateImports, EmptyFinallyBlock, EmptyIfStmt, EmptyInitializer, EmptyStatementBlock, EmptyStatementNotInLoop, EmptySwitchStatements, EmptySynchronizedBlock, EmptyTryBlock, EmptyWhileStmt, ExcessiveClassLength, ExcessiveMethodLength, ImportFromSamePackage, MissingBreakInSwitch, SimplifyBooleanAssertion. Please check your ruleset configuration. src/main/java/de/tum/cit/aet/artemis/core/config/websocket/WebsocketSecurityConfiguration.javaThe following rules are missing or misspelled in your ruleset file category/vm/bestpractices.xml: BooleanInstantiation, DontImportJavaLang, DuplicateImports, EmptyFinallyBlock, EmptyIfStmt, EmptyInitializer, EmptyStatementBlock, EmptyStatementNotInLoop, EmptySwitchStatements, EmptySynchronizedBlock, EmptyTryBlock, EmptyWhileStmt, ExcessiveClassLength, ExcessiveMethodLength, ImportFromSamePackage, MissingBreakInSwitch, SimplifyBooleanAssertion. Please check your ruleset configuration. WalkthroughThis pull request encompasses updates across multiple files in the Artemis project, focusing on dependency version upgrades, configuration refinements, and minor security configuration adjustments. The changes span build configuration files, Docker configurations, documentation, and Java source code. Key modifications include updating library versions in Changes
Possibly related PRs
Suggested Labels
Suggested Reviewers
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (3)
src/main/java/de/tum/cit/aet/artemis/core/config/websocket/WebsocketSecurityConfiguration.java (1)
15-19
: Keep an eye on the Spring Security issue.
These comments explaining why @EnableWebSocketSecurity is commented out are helpful. Remember to remove or adjust these comments when upgrading to a Spring Security version where the issue is resolved.src/main/java/de/tum/cit/aet/artemis/core/config/SecurityConfiguration.java (1)
Line range hint
168-190
: Renaming method and refining permission policy.
Renaming “filterChain” to “securityFilterChain” improves clarity and readability. The switch to “permissionsPolicyHeader” is a neat approach. Validate that this change does not break existing tests or integration scenarios.docs/dev/setup/docker-compose.rst (1)
Line range hint
308-324
: Consider adding security-related environment variablesWhile the MySQL configuration is functional, consider adding security-related environment variables such as:
MYSQL_ROOT_PASSWORD
for production environmentsMYSQL_USER
andMYSQL_PASSWORD
for a non-root userenvironment: - - MYSQL_ALLOW_EMPTY_PASSWORD=yes + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=Artemis
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (5)
docker/mysql.yml
is excluded by!**/*.yml
docker/nginx.yml
is excluded by!**/*.yml
docker/postgres.yml
is excluded by!**/*.yml
src/main/kubernetes/artemis/statefulsets/artemis-mysql.yml
is excluded by!**/*.yml
src/test/resources/config/application.yml
is excluded by!**/*.yml
📒 Files selected for processing (7)
build.gradle
(2 hunks)docker/nginx/nginx.conf
(1 hunks)docs/admin/database.rst
(2 hunks)docs/dev/setup/docker-compose.rst
(1 hunks)gradle.properties
(3 hunks)src/main/java/de/tum/cit/aet/artemis/core/config/SecurityConfiguration.java
(2 hunks)src/main/java/de/tum/cit/aet/artemis/core/config/websocket/WebsocketSecurityConfiguration.java
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- docker/nginx/nginx.conf
🧰 Additional context used
📓 Path-based instructions (2)
src/main/java/de/tum/cit/aet/artemis/core/config/SecurityConfiguration.java (1)
Pattern src/main/java/**/*.java
: naming:CamelCase; principles:{single_responsibility,small_methods,no_duplication}; db:{perf_queries,datetime_not_timestamp}; rest:{stateless,singleton,delegate_logic,http_only,minimal_dtos}; dtos:{java_records,no_entities,min_data,single_resp}; di:constructor_injection; kiss:simple_code; file_handling:os_indep_paths; practices:{least_access,avoid_transactions,code_reuse,static_member_ref,prefer_primitives}; sql:{param_annotation,uppercase,avoid_subqueries};java:avoid_star_imports
src/main/java/de/tum/cit/aet/artemis/core/config/websocket/WebsocketSecurityConfiguration.java (1)
Pattern src/main/java/**/*.java
: naming:CamelCase; principles:{single_responsibility,small_methods,no_duplication}; db:{perf_queries,datetime_not_timestamp}; rest:{stateless,singleton,delegate_logic,http_only,minimal_dtos}; dtos:{java_records,no_entities,min_data,single_resp}; di:constructor_injection; kiss:simple_code; file_handling:os_indep_paths; practices:{least_access,avoid_transactions,code_reuse,static_member_ref,prefer_primitives}; sql:{param_annotation,uppercase,avoid_subqueries};java:avoid_star_imports
🔇 Additional comments (8)
src/main/java/de/tum/cit/aet/artemis/core/config/websocket/WebsocketSecurityConfiguration.java (2)
8-9
: Imports look good.
No issues found with these import statements. They follow the coding guidelines by avoiding star imports.
21-40
: Ensure inbound WebSocket security rules are tested thoroughly.
The custom inbound configuration looks appropriate. However, the deny rule on MESSAGE and SUBSCRIBE types is quite restrictive unless it is specifically intended. Verify that this matches your application's requirements.
Would you like a script to search for areas that rely on WebSocket MESSAGE/SUBSCRIBE events?
gradle.properties (3)
10-10
: Spring Boot version bumped to 3.4.1.
Ensure that any known issues or breaking changes in 3.4.1 have been addressed. It’s good to review the release notes for compatibility.
34-34
: Logback version bumped to 1.5.15.
No immediate concerns. Check if any config changes are required for advanced logging features or appenders used in your codebase.
51-51
: Liquibase plugin version updated to 2.2.2.
Review Liquibase release notes to ensure that any schema migration changes or new functionalities do not affect your deployment pipeline.
build.gradle (2)
421-421
: Upgrade to nimbus-jose-jwt:9.48 detected.
This upgrade is important for security. Check the existing JWT usage to confirm there are no deprecations or breaking changes.
535-535
: gradle-tooling-api bumped to 8.12.
This update generally aligns well with Gradle 8.12. Confirm backward compatibility with any build scripts referencing older Gradle functionalities.
docs/dev/setup/docker-compose.rst (1)
308-308
: MySQL version is consistent
The MySQL version (9.1.0) matches the version specified in the database migration documentation, maintaining consistency across the codebase.
Keep server dependencies up to date to avoid security issues
Checklist
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores