Skip to content

Feat: SDK v1.2.1 - Async Interaction APIs, Enhanced Sidebar & Testing Robustness

Choose a tag to compare

@feelautom feelautom released this 16 Feb 20:21
· 14 commits to main since this release

This update refines the interaction model of the SipLine SDK by introducing asynchronous user feedback loops and improving the UI management of plugin-specific components. It focuses on
reliability and developer experience for complex workflow integrations.

🏗️ Key Improvements

💬 Async Dialog Service (User Feedback):
Plugins can now trigger native modal dialogs to request user confirmation before critical actions.

  • New method: ShowDialogAsync(title, message, primary, secondary).
  • Fully asynchronous implementation to prevent UI thread blocking.

📂 Smart Sidebar Management (UI Hook):
Enhanced PluginSidebarTab with direct ownership tracking.

  • Added PluginId property to allow the host application to intelligently manage and identify custom plugin tabs.
  • Improved focus handling for sidebar navigation.

🛠️ Technical Improvements & Fixes

  • Testing Library: SipLine.Plugin.Testing updated with a full implementation of MockPluginContext.ShowDialogAsync. This enables unit testing of user-interaction logic without manual UI
    intervention.
  • Dynamic Versioning: Refactored .csproj to use self-resolving path logic for sipline-sdk-version.txt. This ensures perfect version parity across both the development Monorepo and
    standalone GitHub Exports.
  • Build Reliability: Fixed a major compilation regression in PluginContextFactory and MockPluginContext by completing missing interface members.

✅ Checklist

  • All new async interfaces implemented in the SDK.
  • MockPluginContext updated for end-to-end testing scenarios.
  • Version synchronization verified between text files and NuGet metadata.
  • UI Host adapters (PluginContext) verified for thread safety (Dispatcher aware).
  • CI/CD compatibility confirmed for v1.2.1 packaging.