Skip to content

Refactor event handling and secure password storage#5

Draft
google-labs-jules[bot] wants to merge 1 commit intomainfrom
refactor-optimization
Draft

Refactor event handling and secure password storage#5
google-labs-jules[bot] wants to merge 1 commit intomainfrom
refactor-optimization

Conversation

@google-labs-jules
Copy link
Copy Markdown

This change refactors the BlbiLogin plugin to improve code structure and security.

  1. Event Handling: The event listeners (onPlayerMove, onPlayerBreak, onPlayerHurt) were moved from the main BlbiLogin class to a dedicated PlayerActivityListener class. This adheres to the Single Responsibility Principle and cleans up the main class.
  2. Security: Password storage was upgraded from plain text to SHA-256 hashing with a random salt. A PasswordUtil class was created to handle hashing and verification.
  3. Backward Compatibility: The PasswordUtil includes a check to support existing plain text passwords, ensuring that current users can still log in. They will need to reset their password or re-register to upgrade to the hashed format (or a migration script could be added in the future, but this handles the immediate login issue).
  4. Dependency Injection: Login and Register commands now receive the BlbiLogin instance via their constructor, reducing reliance on static fields.
  5. Database: Sqlite.java was updated to use the new password hashing utility. Explicit driver loading was also added.

PR created automatically by Jules for task 17841822937837629891 started by @EggFine

- Moved event listeners from `BlbiLogin` to `PlayerActivityListener` to separate concerns.
- Implemented `PasswordUtil` for SHA-256 password hashing with salt.
- Updated `Sqlite` to use hashed passwords for registration and verification.
- Added backward compatibility for existing plain text passwords.
- Refactored `Login` and `Register` commands to use dependency injection for the plugin instance.
@google-labs-jules
Copy link
Copy Markdown
Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!


For security, I will only act on instructions from the user who triggered this task.

New to Jules? Learn more at jules.google/docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants