Skip to content

This PR expands the dashboard with a guided endpoint import workflow, live section refresh on the home page, and more resilient YAML configuration loading.#8

Merged
javaChip56 merged 5 commits intomasterfrom
enhancements
Mar 18, 2026
Merged

This PR expands the dashboard with a guided endpoint import workflow, live section refresh on the home page, and more resilient YAML configuration loading.#8
javaChip56 merged 5 commits intomasterfrom
enhancements

Conversation

@javaChip56
Copy link
Copy Markdown
Owner

Summary

This PR expands the dashboard with a guided endpoint import workflow, live section refresh on the home page, and more resilient YAML configuration loading.

What Changed

  • added a new Import Endpoint page to probe an API endpoint and generate YAML for manual copy/paste
  • added generated YAML preview, config diff, response preview, and discovered-check visibility during import
  • added copy-to-clipboard support for generated YAML
  • added a configurable soft poll-frequency recommendation on the import page, defaulting to 180 seconds from appsettings
  • improved import-page formatting for response preview and validation/warning messaging
  • added same-origin timed refresh for the dashboard live section instead of full-page reload
  • preserved dashboard search behavior during live refreshes
  • allowed the app to start gracefully when dashboard.yaml or referenced endpoint YAML files are missing
  • surfaced configuration warnings in the UI instead of failing hard on missing config files
  • improved display formatting for metadata values and empty collections
  • moved sample endpoint definitions into separate endpoint YAML files referenced from dashboard.yaml

Validation

  • dotnet build ApiHealthDashboard.sln -c Release
  • dotnet test ApiHealthDashboard.sln -c Release

Result:

  • 61 tests passed

Notes

  • The import flow intentionally keeps YAML saving manual so users can review and paste changes into source-controlled config files.
  • Dashboard auto-refresh uses a same-origin read-only partial fetch to keep the security surface smaller than a push-based live update model.

gali added 5 commits March 18, 2026 16:43
- Implemented Import.cshtml and Import.cshtml.cs for probing APIs and generating endpoint YAML.
- Created EndpointImportService to handle the import logic and validation.
- Added EndpointImportRequest, EndpointImportResult, and EndpointImportException classes for structured data handling.
- Introduced input validation and error handling for endpoint import requests.
- Developed unit tests for ImportModel and EndpointImportService to ensure functionality and error handling.
…formatting, YAML preview, and new integration API
- Added a new configuration section for import options, including minimum recommended poll frequency.
- Implemented a soft warning in the import UI when the selected poll frequency is below the recommended threshold.
- Refactored the dashboard to support live updates via AJAX, improving user experience by refreshing only the necessary sections.
- Created a new partial view for the live dashboard section to streamline the rendering process.
- Enhanced response preview formatting in the endpoint import service to pretty-print JSON responses.
- Updated styles for warning messages and response previews in the import UI.
- Added tests to ensure new features work as expected, including validation of the frequency warning and response preview formatting.
Copy link
Copy Markdown
Owner Author

@javaChip56 javaChip56 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok.

@javaChip56 javaChip56 merged commit 13c8b84 into master Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant