Repository navigation
2026.10.11.0
DMS provider and browser fixes
Breaking Changes
- BREAKING CHANGE: CompuMaster.Dms.Providers — Synchronous WebDAV downloads now throw
System.IO.IOExceptionfor non-404 HTTP failures, matching the asynchronous I/O contract, instead ofInvalidOperationException. Original transport and cancellation exceptions are propagated instead of being wrapped inAggregateException. Applications catching the previous exception types should update their error handling. HTTP 404 retains the DMS missing-file exception.
CompuMaster.Dms.Providers
- Ignore null optional path segments and null path arrays in
BaseDmsProvider.CombinePath, allowing an existing collection to open as the browser root without a preselected child folder (#95). - Provide consistent localized collection-name/path validation and directory-creation diagnostics across synchronous and asynchronous CenterDevice/Scopevisio operations (#91, #52).
- Align missing-link-identifier and collection copy/move diagnostics, and preserve original link server failures in the exception chain (#52).
- Preserve HTTP status details in synchronous WebDAV item-listing errors and align HTTP 412 diagnostics between execution paths (#93).
CompuMaster.Dms.BrowserUI
- Add
DmsBrowser.OperationFailedwith the original exception, inner exceptions, stack trace, operation name and browser phase. Hosts may suppress the standard error dialog and send redacted diagnostics to an approved sink; BrowserUI does not automatically persist raw diagnostics (#96). - Keep standard browser failure dialogs concise and localized while preserving actionable static validation messages. Failed startup still cancels and closes the browser, task exception propagation is preserved, and a failing diagnostics subscriber cannot interrupt cleanup (#96).
- Hide and disable copy, rename, move and delete on every visible browser root, including the ordinary provider root and scoped folder/collection roots. Guard deletion before confirmation or a provider call; child actions still follow permissions (#92).
- Restrict CenterDevice/Scopevisio collection management to the visible browser scope, guard stale-node commands, recognize explicit provider-root paths, and retain supported file/subfolder workflows. Initial selection remains independent of the browser root (#92).
Public API signatures and external SDK dependency versions remain unchanged. This release publishes updated Providers and BrowserUI NuGet packages and refreshed binary/demo archives.