Skip to content
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

Add Plugin Reload Feature Without Restarting DataLab #110

Open
PierreRaybaut opened this issue Dec 3, 2024 · 0 comments
Open

Add Plugin Reload Feature Without Restarting DataLab #110

PierreRaybaut opened this issue Dec 3, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@PierreRaybaut
Copy link
Contributor

Summary

Currently, plugins in DataLab require a full application restart to be reloaded, which disrupts workflows and reduces efficiency. This issue proposes adding a feature to reload plugins dynamically without needing to restart DataLab.


Proposed Solution

  1. Dynamic Plugin Management

    • Implement a mechanism to unload and reload plugins at runtime.
    • Ensure that plugin resources (e.g., UI components, data structures) are properly disposed of to avoid memory leaks.
  2. Reload UI Integration

    • Add a "Reload Plugins" option in the settings or tools menu for user convenience.
    • Provide feedback to users via notifications or status messages indicating success or failure of plugin reloads.
  3. Error Handling

    • Handle cases where a plugin fails to reload due to missing dependencies or errors in the plugin code:
      • Log detailed error messages.
      • Optionally allow the user to skip problematic plugins.
  4. Developer Experience

    • Support a developer mode for quick iteration during plugin development:
      • Automatically reload plugins when file changes are detected.
      • Provide debugging tools for plugin state inspection.

Benefits

  • Improves user productivity by eliminating the need to restart DataLab for plugin updates.
  • Enhances the plugin development workflow by providing a smoother testing process.
  • Reduces application downtime in multi-user or automation scenarios.

Suggested Priority

  • Critical:

    • Implement the basic reload mechanism.
    • Ensure resource cleanup and error handling during reloads.
  • Medium:

    • Add developer mode with file change detection.
    • Integrate the feature into the user interface.
  • Optional:

    • Allow selective reloading of specific plugins.
    • Provide additional tools for debugging and monitoring plugin states.
@PierreRaybaut PierreRaybaut added the enhancement New feature or request label Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant