Replace endpoint detail child window with inline ModalOverlay
Details
The ApiRouteDetailWindow was a separate child window shown via
ShowDialog(this) — on macOS, child dialogs are constrained to the parent
window's bounds, causing long response content to get clipped with no
way to scroll further.
Replaced with the shared ModalOverlay control from PrivStack.UI.Adaptive,
rendered inline inside ApiDocsWindow via a Panel wrapper. Route detail
content (cURL, params, request/response) is now built directly into the
overlay body. Deleted ApiRouteDetailWindow entirely.
Revert "Fix API endpoint detail dialog clipping on macOS"
Details
This reverts commit 1fd77727299d661a526e37e61f0b5634561c56bc.
Fix API endpoint detail dialog clipping on macOS
Details
The detail dialog was shown via ShowDialog(this) where 'this' was the
ApiDocsWindow. On macOS, child dialogs are constrained to the parent
window's bounds, causing long response content to get clipped. Fixed by
parenting the detail dialog to the main window (Owner) instead.
Also added bottom padding to the detail window's outer ScrollViewer.
Add OpenAPI V3 spec export from Developer Settings
Details
New OpenApiSpecGenerator service builds a full OpenAPI 3.1.0 spec from all
registered IApiProvider routes (plugin + shell). Exports as JSON (pretty-printed
via System.Text.Json) or YAML (simple recursive JsonNode walker — no external
dependency). Includes paths, parameters, request/response examples, apiKey
security scheme, tags per plugin, and shell routes (status, routes).
Two new link-buttons "(JSON) | (YAML)" appear below "View Documentation" in
Developer Settings. Each opens a SaveFileDialog and writes the spec to the
chosen path.
Get notified about new releases