Skip to content

Conversation

@Hirogen
Copy link
Collaborator

@Hirogen Hirogen commented Jan 7, 2026

This pull request introduces several improvements and refactorings across the codebase, focusing on interface updates, resource handling, and expanded test coverage. The most significant changes include standardizing callback and memory interfaces, adding new localized error messages, and introducing comprehensive unit tests for the LedIndicatorService. Additionally, there are minor code cleanups and method signature updates to improve consistency and reliability.

Interface and API updates:

  • Updated various interfaces and method signatures to use ILogExpertCallbackMemory and ILogLineMemory instead of their previous counterparts, improving clarity and enforcing the use of memory-based log line handling. (src/ColumnizerLib/IKeywordAction.cs, src/DefaultPlugins/ProcessLauncher.cs, src/LogExpert.Core/EventArguments/ContextMenuPluginEventArgs.cs, src/LogExpert.Core/Classes/Filter/FilterPipe.cs) [1] [2] [3] [4] [5] [6] [7] [8]
  • Added a new overload to the ILogWindow interface: WritePipeTab(IList<LineEntryMemory> lineEntryList, string title), supporting memory-based line entries for piping content into new tabs. (src/LogExpert.Core/Interface/ILogWindow.cs)

Localization and resource improvements:

  • Added new localized error messages for service initialization states (already initialized, must be created on UI thread, not initialized) in both English and German resource files. (src/LogExpert.Resources/Resources.Designer.cs, src/LogExpert.Resources/Resources.resx, src/LogExpert.Resources/Resources.de.resx) [1] [2] [3]

Testing enhancements:

  • Added a comprehensive test suite for LedIndicatorService, covering initialization, icon generation, lifecycle management, event handling, and error scenarios. (src/LogExpert.Tests/Services/LedIndicatorServiceTests.cs)

Code cleanup and reliability:

  • Replaced manual null checks with null-conditional operators and improved resource disposal in FilterPipe. (src/LogExpert.Core/Classes/Filter/FilterPipe.cs)
  • Updated lock acquisition methods in LogfileReader for more precise resource management. (src/LogExpert.Core/Classes/Log/LogfileReader.cs)
  • Removed unnecessary using System; directives for cleaner code. (src/ColumnizerLib/IKeywordAction.cs, src/DefaultPlugins/ProcessLauncher.cs) [1] [2]

These changes collectively improve code maintainability, interface clarity, localization coverage, and test reliability.

@Hirogen Hirogen merged commit e68207a into Development Jan 7, 2026
1 check passed
@Hirogen Hirogen deleted the logtabwindowrefactor branch January 7, 2026 12:48
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.

2 participants