Skip to content

feat: add nucleus-notification module#47

Draft
kdroidFilter wants to merge 2 commits intomainfrom
feature/nucleus-notification-module
Draft

feat: add nucleus-notification module#47
kdroidFilter wants to merge 2 commits intomainfrom
feature/nucleus-notification-module

Conversation

@kdroidFilter
Copy link
Owner

Summary

  • Add new nucleus-notification module for desktop notifications
  • macOS: Native implementation using JNI (Objective-C + UNUserNotificationCenter)
  • Windows/Linux: No-Op provider (graceful fallback)
  • Same DSL as DesktopNotifyKT for compatibility
  • Detect bundle vs dev mode to avoid crashes during development

Changes

  • New module nucleus-notification with:
    • NotificationBuilder - DSL for building notifications
    • MacNotificationProvider - macOS native implementation
    • NoOpNotificationProvider - Windows/Linux stub
    • JNI bridge in Objective-C
  • Updated .gitignore to exclude native dylibs
  • Updated libs.versions.toml with kotlinx-coroutines
  • Made Logger functions public in core-runtime
  • Added test button in example app

- Add new nucleus-notification module for desktop notifications
- macOS: Native implementation using JNI (Objective-C + UNUserNotificationCenter)
- Windows/Linux: No-Op provider
- Same DSL as DesktopNotifyKT for compatibility
- Detect bundle vs dev mode to avoid crashes in development
- Add example button to test notifications
- Add NativeNotificationBridge.kt for JNI native library loading
- Add LinuxNotificationProvider.kt with libnotify integration
- Add C JNI bridge using libnotify (JNI, not JNA)
- Support for buttons, onActivated, onDismissed callbacks
- Add build.sh for Linux native compilation (x64 + ARM64)
- Update CI workflows for ARM64 cross-compilation
- Add detekt/ktlint baselines for new code
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

Successfully merging this pull request may close these issues.

1 participant