Skip to content

Implemented Bootstrap Process and Logging Improvements#80

Merged
mdwigley merged 1 commit intoenterlucent:mainfrom
mdwigley:issue78-mdwigley
Sep 6, 2025
Merged

Implemented Bootstrap Process and Logging Improvements#80
mdwigley merged 1 commit intoenterlucent:mainfrom
mdwigley:issue78-mdwigley

Conversation

@mdwigley
Copy link
Member

@mdwigley mdwigley commented Sep 6, 2025

Description

This PR improves the application bootstrap process and logging infrastructure to enhance stability, maintainability, and developer experience.

Key changes include:

  • Refactored bootstrapper to use scoped service providers for phased initialization, improving error handling, configuration application, and plugin discovery.
  • Standardized logging across the bootstrap and plugin subsystems with consistent contextual tags, improving observability and troubleshooting.
  • Introduced abstractions and placeholder compatibility classes to better support multiple UI frameworks (WPF and Avalonia) and reduce code duplication.
  • Enhanced plugin management interfaces with clearer organization, validation, and runtime argument checking to prevent errors.
  • Added robust error handling and detailed logging around configuration saves to prevent startup failures due to corrupted or incomplete persistence.
  • Simplified plugin registration and type filtering logic to increase clarity and performance.

Related Issue

Motivation and Context

The current bootstrap and plugin loading process was difficult to troubleshoot and inefficient when handling configuration or plugin errors.

This change improves debuggability by providing more granular logs at all critical lifecycle stages, increases application resilience during startup, and prepares the codebase for future cross-platform UI support and more advanced plugin scenarios.
End users benefit from faster diagnostics, reduced risk of partial or broken plugin states, and a more stable runtime.

How Has This Been Tested?

  • Tested start up and ensured the current test suite is successful

Screenshots (if appropriate):

  • N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Asset change (adds or updates icons, templates, or other assets)
  • Documentation change (adds or updates documentation)
  • Plugin change (adds or updates a plugin)

Checklist:

  • I have read the CONTRIBUTING document.
  • My change requires a change to the core logic.
    • I have linked the project issue above.
  • My change requires a change to the assets.
  • My change requires a change to the documentation.
  • My change requires a change to a plugin.
    • I have linked the plugin issue above.

@mdwigley mdwigley self-assigned this Sep 6, 2025
@mdwigley mdwigley moved this to In review in PlugHub Timeline Sep 6, 2025
@mdwigley mdwigley added the approved Change issue has been accepted for implementation label Sep 6, 2025
@mdwigley mdwigley merged commit 5e765a4 into enterlucent:main Sep 6, 2025
3 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in PlugHub Timeline Sep 6, 2025
@mdwigley mdwigley deleted the issue78-mdwigley branch September 6, 2025 02:47
mdwigley added a commit that referenced this pull request Sep 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Change issue has been accepted for implementation

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Bootstrap Process and Logging Improvements

1 participant

Comments