Commit graph

7 commits

Author SHA1 Message Date
Alessandro
d1827e6c66 Refactor: use user locale for time displays
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Add user-configurable timezone and 12/24-hour preferences, then wire them through settings, runtime snapshots, scheduler payloads, wait handling, notifications, backups, memory, plugin metadata, and frontend formatters.

Keep UTC as the boundary for absolute instants while serializing user-facing dates in the configured or browser-resolved timezone. Preserve scheduler wall-clock inputs in the selected timezone, propagate TZ into desktop/runtime process environments, and restart active desktop sessions when the runtime timezone changes.

Cover the risky paths with timezone regression tests for settings normalization, auto and fixed timezone resolution, scheduler round-trips, memory timestamp conversion, and desktop timezone sync.
2026-05-21 15:26:00 +02:00
Alessandro
2a6820064d plugins: rename init to execute 2026-03-16 17:13:11 +01:00
Alessandro
7b1f3fbbac rename init to execute.py; update docs + create plugin skill 2026-03-16 04:04:37 +01:00
frdel
a48ac95a29 feat(plugins): Add extensibility and hooks system to plugin API
Add @extension.extensible decorators to all plugin API handler methods and core plugin functions to enable extension points. Implement plugin hooks system allowing plugins to define custom behavior via hooks.py file. Add call_plugin_hook function to execute plugin-specific hooks for events like uninstall, save_plugin_config, and get_plugin_config. Introduce uninstall_plugin function that calls uninstall hook before deletion. Move circular
2026-03-12 13:21:33 +01:00
frdel
e5bd449d66 refactor(api): Extract plugin action handlers into separate methods
Refactor the Plugins API handler by extracting inline action handlers into dedicated private methods. This improves code organization and readability by separating each action (get_config, get_toggle_status, list_configs, delete_config, delete_plugin, get_default_config, save_config, toggle_plugin, get_doc, run_init_script, get_init_exec) into its own method while maintaining the same functionality.
2026-03-12 07:55:35 +01:00
frdel
999a14e31f Optimize plugin reload notifications to check for webui extensions
Add plugin_names parameter to after_plugin_change() and send_frontend_reload_notification() to enable targeted extension checking. Only send reload notification if changed plugins have webui extensions (checks extensions/webui directory existence). Defer notification send by 1 second to allow multiple rapid changes to coalesce. Update delete_plugin() to send notification before deletion for proper extension checking. Pass plugin names
2026-03-10 13:51:41 +01:00
frdel
d02dda3667 BIG PYTHON REFACTOR
Python scripts moved out of python/ folder to root to be unified with plugins

+ frontend extension around api calls
2026-03-05 17:28:11 +01:00
Renamed from python/api/plugins.py (Browse further)