pub enum AppEvent {
BackgroundComplete {
operation_id: String,
},
BackgroundProgress {
operation_id: String,
percent: f32,
message: String,
},
External(Box<dyn Any + Send>),
SubscriptionEvent {
sub_id: SubscriptionId,
event: Box<dyn Any + Send>,
},
I18nReload {
locale: String,
path: PathBuf,
},
SettingsReload {
path: PathBuf,
},
SettingsWriteFailed {
path: PathBuf,
attempts: u32,
dropped_patches: usize,
message: String,
},
}Expand description
Events posted to the UI thread from background threads or timers.
Variants§
BackgroundComplete
A background operation completed.
BackgroundProgress
A background operation reports progress.
External(Box<dyn Any + Send>)
An external event from any source (type-erased for extensibility).
SubscriptionEvent
A backend event delivered to a widget that subscribed via
BuildContext::subscribe_event. The sub_id keys the UI-side
callback in the tree’s TreeAppContext::subscription_callbacks map;
the event is downcast back to the subscriber’s expected type.
I18nReload
An .ftl translation file registered via
I18nConfig::runtime_override(locale, path) changed on disk.
The teksilo-app handler calls I18nManager::reload_from_path and
bumps the translation version signal.
SettingsReload
A settings file managed by teksilo-settings changed on disk —
either a peer process’s write, or (harmlessly) this very
process’s own write being noticed by its own watcher. The
teksilo-app handler looks path up in the app’s
teksilo_settings::SettingsRegistry (via app_state) and calls
Reloadable::reload_from_disk on whatever owns it — a no-op if
nothing is registered for that path, or if the content is
unchanged (the self-write case).
SettingsWriteFailed
A teksilo-settings DebouncedWriter gave up on a queued write —
after MAX_WRITE_ATTEMPTS retries, or at Unregister teardown
with a write still failing. The queued patches for path were
permanently discarded.