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

This seems like useful functionality, but I'd encourage rethinking it a bit. #727

Closed
faraon-bot opened this issue Sep 2, 2024 · 2 comments

Comments

@faraon-bot
Copy link

          This seems like useful functionality, but I'd encourage rethinking it a bit.

I would like to avoid doing things like re-running meta-scan stuff or firing on_app_launch() code at arbitrary times. Plugins will generally assume that those things happen in a set order and exactly one time, and if that is sometimes not the case I worry it would introduce subtle bugs since people would not be testing those cases. It is sort of like reloading a python module; it is technically possible, but in my experience the results are not always safe or predictable (though it can still sometimes be useful during development).

I think something like this could be great implemented as some sort of GUI plugin (perhaps with a warning that it may cause unpredictable results). I'm hoping to add a 'debug panel' GUI soon which is accessible from anywhere; perhaps something like this could go there..

Originally posted by @efroemling in #160 (comment)

@faraon-bot
Copy link
Author

Adelante señor

@MatiasMGz
Copy link

Any updates on this, efro?

faraon-bot added a commit to faraon-bot/ballistica that referenced this issue Feb 7, 2025
Fixes efroemling#727

Add checks to prevent re-running meta-scan and `on_app_launch()` code at arbitrary times.

* **PluginSubsystem**:
  - Add `meta_scan_completed` and `on_app_launch_completed` flags to track completion.
  - Add checks in `on_meta_scan_complete` and `on_app_running` methods to prevent re-running.

* **MetadataSubsystem**:
  - Add `scan_completed` flag to track scan completion.
  - Add check in `start_scan` method to prevent re-running the scan.

* **AccountV2Subsystem**:
  - Add check in `on_app_loading` method to prevent re-running the method.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/efroemling/ballistica/issues/727?shareId=XXXX-XXXX-XXXX-XXXX).
faraon-bot added a commit to faraon-bot/ballistica that referenced this issue Feb 7, 2025
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

No branches or pull requests

2 participants