-
Notifications
You must be signed in to change notification settings - Fork 181
Plugin repository optimizations #486
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request implements a comprehensive plugin repository optimization system for LogExpert. The changes introduce plugin manifest support, security validation, permission management, and extensive UI localization to support internationalization.
Key Changes:
- Added plugin manifest system with JSON-based metadata for plugins (version requirements, permissions, dependencies)
- Implemented security validation framework for plugins including whitelisting, permission checking, and timeout protection
- Introduced extensive resource localization across UI components to support multiple languages
- Enhanced error handling with specific exception filters throughout the codebase
Reviewed Changes
Copilot reviewed 61 out of 73 changed files in this pull request and generated 53 comments.
Show a summary per file
| File | Description |
|---|---|
| src/docs/examples/plugin-manifest-example.json | Example plugin manifest showing structure for CSV columnizer |
| src/SftpFileSystemx64/SftpFileSystem.manifest.json | Manifest for SFTP file system plugin with network permissions |
| src/SftpFileSystemx86/SftpFileSystemx86.csproj | Links to shared manifest file for x86 build |
| src/PluginRegistry/PluginValidator.cs | New plugin validation system with security checks and manifest loading |
| src/PluginRegistry/PluginPermissions.cs | Permission management system for plugins with filesystem, network, and config access controls |
| src/PluginRegistry/PluginManifest.cs | Plugin manifest parsing and version compatibility checking |
| src/PluginRegistry/PluginRegistry.cs | Enhanced plugin loading with security validation, timeout protection, and statistics tracking |
| src/Program.cs | Added culture settings, improved exception handling, and platform attributes |
| src/LogExpert/Config/ConfigManager.cs | Settings file constant, default language support, and improved error handling |
| src/LogExpert/Classes/LogExpertProxy.cs | Code formatting improvements and platform attributes |
| src/LogExpert/Classes/LogExpertApplicationContext.cs | Platform attribute additions |
| src/LogExpert.sln | README.md added to solution items |
| src/LogExpert.UI/LogExpert.UI.csproj | Removed SubType attribute from EminusConfigDlg |
| src/LogExpert.UI/Extensions/Utils.cs | Removed extra blank line |
| src/LogExpert.UI/Extensions/ResourceHelper.cs | New helper for resource-based UI text mapping |
| src/LogExpert.UI/Extensions/NativeMethods.cs | Improved icon extraction with proper disposal |
| src/LogExpert.UI/Extensions/LockFinder.cs | Localized error messages and simplified logic |
| src/LogExpert.UI/Extensions/FormExtensions.cs | New recursive control enumeration helper |
| src/LogExpert.UI/Extensions/BookmarkExporter.cs | Improved CSV export with better null handling |
| src/LogExpert.UI/Entities/PaintHelper.cs | Localized column header and improved border sizing |
| src/LogExpert.UI/Dialogs/SettingsDialog.resx | Removed duplicate metadata entries |
| src/LogExpert.UI/Dialogs/SettingsDialog.cs | Added language selection, resource loading, and extensive localization |
| src/LogExpert.UI/Dialogs/SettingsDialog.Designer.cs | Added language combo box and renamed controls for consistency |
| src/LogExpert.UI/Dialogs/LogTabWindow/*.cs | Extensive localization, resource loading, and control renaming |
| src/LogExpert.UI/Dialogs/HighlightDialog.cs | Localized messages and improved error handling |
| src/LogExpert.UI/Dialogs/Eminus/*.cs | Localized UI, improved resource disposal, and constant extraction |
| src/LogExpert.UI/Dialogs/ChooseIconDlg.cs | Added resource localization |
| src/LogExpert.UI/Dialogs/BookmarkWindow.cs | Localized UI text and corrected control naming |
Files not reviewed (8)
- src/LogExpert.Resources/Resources.de.Designer.cs: Language not supported
- src/LogExpert.UI/Controls/DateTimeDragControl.Designer.cs: Language not supported
- src/LogExpert.UI/Controls/LogWindow/LogWindow.designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/BookmarkCommentDlg.Designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/BookmarkWindow.Designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/ChooseIconDlg.Designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/Eminus/EminusConfigDlg.Designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.designer.cs: Language not supported
Comments suppressed due to low confidence (2)
src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs:1832
- This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs:2066 - This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
# Conflicts: # src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.designer.cs # src/LogExpert/Config/ConfigManager.cs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 22 out of 25 changed files in this pull request and generated 23 comments.
Files not reviewed (2)
- src/LogExpert.UI/Controls/LogWindow/LogWindow.designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.designer.cs: Language not supported
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 24 out of 28 changed files in this pull request and generated 3 comments.
Files not reviewed (3)
- src/LogExpert.Resources/Resources.Designer.cs: Language not supported
- src/LogExpert.UI/Controls/LogWindow/LogWindow.designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.designer.cs: Language not supported
…LogExperts/LogExpert into plugin-repository-optimizations
…LogExperts/LogExpert into plugin-repository-optimizations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 117 out of 122 changed files in this pull request and generated 48 comments.
Files not reviewed (5)
- src/LogExpert.Resources/Resources.Designer.cs: Language not supported
- src/LogExpert.UI/Controls/LogWindow/LogWindow.designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/PluginHashDialog.Designer.cs: Language not supported
- src/LogExpert.UI/Dialogs/PluginTrustDialog.Designer.cs: Language not supported
Comments suppressed due to low confidence (1)
src/PluginRegistry.Tests/PluginValidatorTests.cs:1
- The JSON property name 'logExpertVersion' doesn't match the actual property name 'logExpert' defined in PluginRequirements (line 546 of PluginManifest.cs shows [property: JsonProperty('logExpert')]). This test manifest will fail to deserialize correctly.
…LogExperts/LogExpert into plugin-repository-optimizations
Plugin repository optimizations