Repository navigation
Combine camera and commissioning SDK for 0.2.0-preview.1 - #7
Merged
Merged
Conversation
Expose additive structured progress and results, per-operation preferred or required interface routing, interface enumeration, and cancellation without changing existing WinRT interfaces. Update the sample, package documentation, and preview version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8ecac9d9-7be8-4ea3-a69c-5ae32e36fd23
Avoid binding the discard identifier as the progress event sender so the API surface tuple remains a discard assignment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Include safe preferred-interface fallback routing and commissioning retry reporting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use windows-preview-2026-09-23 after merging commissioning interface selection into windows-port. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add typed camera discovery, capabilities, streams, ICE, session ownership and structured failures with bounded cleanup. Preserve the published ControllerOptions default interface ABI through an additive camera interface. Add an opt-in trusted WebView2 video receiver and projection, NativeAOT and MSIX checks. Build matched x64/ARM64 development packages using an explicit native SDK checkout without changing the submodule pin. Hardware interoperability and live-video acceptance remain pending. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Add ABI-preserving typed H.264 LiveView allocation, deallocation and privacy APIs. Handle cancellation and uncertain reference ownership without blind retries, and wire owned cleanup, privacy polling and decoded-video validation into the receiver sample. Preserve the existing camera interface identity and vtable through an additive IMatterControllerCamera2 interface. Extend projection, NativeAOT, receiver and ABI regression coverage and update preview documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Preserve structure field tags before recursive decoding. Cover the actual private generated-command bridge with allocation round trips, optional flags, nested structures inside arrays and sibling fields. Classify proven local encoding and controller-state failures as pre-dispatch validation without weakening uncertain allocation ownership safeguards. Document the fresh camera.15 development package. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Accept zero transport references during allocation validation and signaling start while preserving exact-ID ownership, metadata bounds, privacy and cleanup. Keep explicit IM refusals distinct from uncertain allocation outcomes and test generated G350 metadata and the receiver ownership policy. Append failure categories without changing existing interface ABI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Use the matching native tagged-selection API so video-only starts omit AudioStreamID instead of requesting automatic audio through a present null. Exercise the actual hosted runtime and production offer builder in regression coverage. Preserve existing WinRT interface ABI and ownership safeguards. Document camera.19 matching-SDK builds and the still-unimplemented audio allocation, listening and talkback scope. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Add versioned camera audio capabilities, allocation/release, tagged media selection, remote controls and session metadata. Preserve existing camera/session interfaces and video-only audio omission. Gate new operations on camera device type, generated revisions and advertised command paths; retain exact status and conservative ownership on unknown outcomes. Listening/talkback media integration and physical acceptance remain separate work. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Separate reusable Opus rendering/capture from the camera adapter. Negotiate advertised audio profiles, use typed owned allocation and tagged session startup, and stop capture on release, backgrounding, privacy, permission revocation and disconnection. Retain bounded cleanup uncertainty across replacement receiver windows. Keep video-only startup and existing SDK ABI unchanged. Half-duplex and physical audibility/interoperability acceptance remain explicitly unverified. Validate receiver simulations, NativeAOT policies and x64/ARM64 MSIX content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Validate actual H.264 and mono Opus loopback, explicit synthetic capture, and teardown without controller initialization or native permissions. Keep synthetic fixtures out of ordinary packages and distinguish software evidence from unverified physical audibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Retain raw malformed format entries without selecting replacements, negotiate source allocation depth independently of browser PCM, and preserve independent listening eligibility. Route capture/audio messages through a shared production host dispatcher exercised by real WebView2 integration tests. Add redacted input-energy, direction, codec and RTP diagnostics while keeping camera playback explicitly unverified. Validate matched camera.22 x64/ARM64 packages without changing the native SDK pin. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5e5bd174-e1ed-4caf-8bce-0ccedd1822a7
Restore commissioning and per-operation interface selection from the reference lineage, retain camera 455b62d fixes, pin the native camera dependency, and add immutable package provenance and isolated consumer acceptance fixtures. Published preview.14 ABI and hardware acceptance remain explicitly blocked. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: baa30090-abd3-4e3c-9471-d173d1528a4c
Validate both architecture metadata contracts, isolate NuGet projections, verify exact consumed asset hashes, configure NativeAOT toolchains, retain legacy commissioning compile coverage, and wire strict preview.14 CI acceptance without substituting an older baseline. Supersede development package .1 without overwriting it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: baa30090-abd3-4e3c-9471-d173d1528a4c
Complete sample MSIX commissioning registrations, exclude stale generated sources from isolated builds, add installed-package identity and negative interface/cancellation fixtures, and record package hashes and the passed/blocked/untested validation matrix. Actual published preview.14 metadata and real device acceptance remain required. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: baa30090-abd3-4e3c-9471-d173d1528a4c
Retain cleanup ownership for video-only startup cancellation, make serialized read admission deadline/cancellation aware, and classify dirty native inputs as development overrides. Align package consumers and CI artifacts with the standard preview version; keep exact preview.14 and hardware acceptance limitations explicit. NuGet.org publication remains disabled. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: baa30090-abd3-4e3c-9471-d173d1528a4c
Run native and WinRT architecture builds in separate PowerShell processes so repeated environment setup does not exceed cmd.exe's expanded command-line limit. Validated both architectures and metadata/export packaging with a 5,006-character starting PATH and a unique development test package. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: baa30090-abd3-4e3c-9471-d173d1528a4c
Collaborator
Author
|
The first CI run built both native architectures but failed when repeated MSVC setup accumulated PATH entries past cmd.exe's command-line limit. Architecture builds now run in isolated PowerShell processes; a local full dual-architecture build/package with a 5,006-character starting PATH passed. The native dependency and public API are unchanged. Waiting for the new revision's full CI before merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Combined SDK development preview
Prepare
Matter.Windows.Controller0.2.0-preview.1, combining camera/video/audio with structured commissioning, progress and per-operation network-interface selection in one package/controller. Pin native dependency0a3128f2fc3b36b152de3cf23ba8137c8925d973rather than relying on a different-revision override.Retain camera capability, explicit media-selection, allocation and ownership behavior. Fix pre-PR findings: late video-only cancellation retains once-only cleanup ownership; serialized read admission honors cancellation/deadlines; native dirty sources and submodules are included in provenance.
Windows CI builds matched x64/ARM64 assets, executes x64 package consumers/native regression tests, builds ARM64 NativeAOT consumers, checks receiver/ABI regressions and sample builds, and uploads the package with its SHA256. NuGet.org publication is excluded by request.
Review and validation
All 87 integration files received pre-PR review. The three reported findings are fixed. Local package builds for both architectures, exact-asset package consumer checks, x64 NativeAOT execution, ARM64 NativeAOT builds, native camera/commissioning regressions, queue deadline/cancellation tests, late-session cleanup tests, 42 receiver tests, ABI comparator regressions and release syntax checks passed. Local clean-source package provenance identifies SDK
0d01f5dand the declared native revision. Merge only after checks pass on the final PR revision.Explicit acceptance limits
The actual published preview.14 WinMD remains unavailable; older-baseline comparisons are provisional, not full preview.14 API/ABI proof. Real commissioning/interface topology, existing storage/device behavior, microphone consent and ARM64 execution remain hardware/external-host gates. Physical PC-to-camera talkback remains failing/unverified; synthetic outgoing audio is not remote audibility.
Historical camera-commissioning.2 hashes remain historical, not relabeled as preview.1. See
docs/combined-sdk-acceptance.mdfor validation and migration notes. Preserve the existing controller/storage/fabric; no reset or re-pairing is required solely for the additive update.