Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: feelautom/SipLine.Plugin.Sdk

SDK v1.2.2 - Do Not Disturb Control API

18 Feb 19:46
@feelautom feelautom

Choose a tag to compare

This update exposes the Do Not Disturb (DND) state to the plugin layer, enabling
commercial plugins to build schedule-based availability systems, CRM presence sync,
or any workflow that requires controlling call rejection programmatically.

🆕 What's New

📵 DND Control API (IPluginSipService)

Plugins can now read, write, and observe the Do Not Disturb state.

New property:

bool IsDndEnabled { get; set; }
Read the current DND state or activate/deactivate it directly from your plugin.
New event:
event Action<bool>? OnDndChanged;
Subscribe to be notified whenever the DND state changes — whether triggered by the user
or by another plugin.
⚠️ Commercial only: Setting IsDndEnabled is restricted to Commercial-licensed
plugins. Community plugins have read-only access.
🛠️ Testing Library
MockSipService (SipLine.Plugin.Testing) now fully implements IsDndEnabled and
OnDndChanged, allowing you to simulate DND transitions in unit tests:
var mock = new MockPluginContext();
mock.SipService.IsDndEnabled = true;
// OnDndChanged fires automaticallyChecklist
- IPluginSipService extended with IsDndEnabled + OnDndChanged
- MockSipService updated for full testability
- Commercial plugin gate enforced in host adapter
- SipLine.Plugin.Dnd schedule plugin built on this API (available separately)
Assets 2
Loading

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

16 Feb 20:21
@feelautom feelautom

Choose a tag to compare

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.
Loading

Feat: SDK v1.2.0 - Industrial Action APIs, Contact Sync & UI Hooks

16 Feb 05:49
@feelautom feelautom

Choose a tag to compare

This major update transforms the SipLine SDK from a "Read-Only" notification system into a
"Bidirectional" orchestration engine. It empowers plugins to take control of the host
application and integrate deeply into the user workflow.

🏗️ Key Industrial Features

  • 📞 Call Control (Actuator): Plugins can now actively manage calls.
    • New methods: HangupCallAsync, SetHoldAsync, TransferCallAsync.
  • 👥 Contact Synchronization (Data Hook):
    • Full CRUD support via IPluginContactService to sync external CRM data with
      SipLine's local database.
  • 🔍 Global Search Extension (Search Hook):
    • IPluginSearchProvider allows plugins to provide real-time results in the global
      search bar (e.g., live CRM lookup).
    • New "PLUGIN RESULTS" section in the UI.
  • 🖱️ UI Injection (Context Menus):
    • Plugins can now inject custom actions into right-click menus for Call History and
      Contacts.
  • 🔊 Hardware & Audio Control:
    • Direct access to volume and microphone mute status via IPluginAudioService.

🛠️ Technical Improvements & Fixes

  • Testing Library: SipLine.Plugin.Testing updated with full Mocks for all new services.
  • Reliability: Added explicit folder exclusion in .csproj to prevent compilation
    conflicts (CS0436) in CI environments.
  • Robustness: Implemented self-adapting version path resolution for both local Monorepo
    and standalone Export builds.

✅ Checklist

  • All new interfaces implemented in SDK.
  • Host adapters (SipService, ContactService, AudioService) updated.
  • Global Search & Context Menu UI hooks verified.
  • Demo plugins (HelloWorld, Recordings, Template) upgraded to v1.2.0.
  • CI/CD workflow verified for multi-project publishing.
Loading

Version 1.0.4

14 Feb 13:13
@feelautom feelautom
ff81d03
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Merge pull request #1 from feelautom/feat/ci-publish
CI: Add automated publishing workflow and fix versioning
Loading

AltStyle によって変換されたページ (->オリジナル) /