- Introduce `SnackbarManager` and `MeshtasticSnackbarHost` to provide a unified, global mechanism for displaying transient messages across Android and Desktop platforms.
- Integrate `SnackbarManager` into `UIViewModel` and inject it into `CommonNodeRequestActions` to allow business logic to trigger feedback without direct UI dependencies.
- Remove localized `SnackbarHostState` and `LaunchedEffect` collectors from various screens in the `feature:node` module, including `PositionLog`, `PaxMetrics`, `DeviceMetrics`, and `TracerouteLog`.
- Delete `NodeRequestEffect` and refactor `NodeRequestActions` to utilize the global snackbar manager for request feedback.
- Update the top-level UI entry points in `Main.kt` (Android) and `DesktopMainScreen.kt` to host the shared `MeshtasticSnackbarHost`.
- Add comprehensive unit tests for `SnackbarManager` in `core:ui` to verify event buffering, action callbacks, and duration logic.
- Clean up related ViewModel tests to reflect the removal of the `effects` flow.
- Remove `AlertManager` dependency and its initialization within the `Main` composition.
- Remove the `AlertHost` component from the top-level UI tree in `Main.kt`.
- Implement native taskbar and dock icon support using the AWT `Taskbar` API in the desktop entry point.
- Refactor notification icon resolution to use URI strings directly, removing the need to copy resources to temporary files.
- Introduce a notification styling mechanism that automatically prefixes notification titles based on their category (e.g., "Message", "Node", "Battery").
- Update `DesktopSystemNotifier` to provide both small and large icons to `knotify` for improved native presentation.
- Ensure the `AppConfig` for notifications is initialized with the resolved application icon path.
- Update project documentation to reflect the move toward native default styling for notifications.
- Implement native taskbar and dock icon support using the AWT `Taskbar` API in the desktop entry point.
- Refactor notification icon resolution to use URI strings directly, removing the need to copy resources to temporary files.
- Introduce a notification styling mechanism that automatically prefixes notification titles based on their category (e.g., "Message", "Node", "Battery").
- Update `DesktopSystemNotifier` to provide both small and large icons to `knotify` for improved native presentation.
- Ensure the `AppConfig` for notifications is initialized with the resolved application icon path.
- Update project documentation to reflect the move toward native default styling for notifications.
- Replace Compose-based notifications with `knotify` (DesktopNotifyKT) to provide native OS notification support.
- Introduce `DesktopSystemNotifier` and `DesktopSystemNotifierImpl` to handle notification delivery and automatic app icon resource resolution.
- Migrate the system tray implementation to `ComposeNativeTray` for improved native menu interactions across Linux, macOS, and Windows.
- Refactor `DesktopNotificationManager` to delegate notification lifecycle management to the new system notifier, decoupling it from the Compose UI.
- Add unit tests for `DesktopSystemNotifier` and `DesktopNotificationManager` covering notification dispatching and preference filtering.
- Update `Main.kt` and project documentation to reflect the new tray and notification architecture.