Skip to content

feat/windows-support#18

Merged
borisdvlpr merged 55 commits into
mainfrom
feat/windows-support
Jun 2, 2026
Merged

feat/windows-support#18
borisdvlpr merged 55 commits into
mainfrom
feat/windows-support

Conversation

@borisdvlpr

Copy link
Copy Markdown
Owner

In this PR, the following changes were made:

  • Refactor existing platform-specific implementations around a unified abstraction layer, isolating each implementation logic and optimizing overall design
  • Add Windows support
  • Update test files to reflect implementation changes
  • Create test files for new platform implementations
  • Update CI setup to run on all supported platforms

borisdvlpr added 30 commits May 7, 2026 23:57
Defines the RootChecker interface and DefaultRootChecker struct that
serve as the cross-platform contract for privilege checks
borisdvlpr added 18 commits May 24, 2026 14:25
By returning (string, error) directly, each implementation owns its concurrency model internally. Darwin can remain synchronous, while Linux and Windows manage their own goroutines and channels without surfacing them to the caller.
FindUserData now treats a nil Searcher as the unsupported OS sentinel, delegates to Search, and handles the not-found case uniformly across all platforms.
…riveLister via Win32 APIs

WinDriveLister is the interface for listing logical drives, allowing the default Win32 implementation to be swapped out in tests. DefaultWinDriveLister.List calls GetLogicalDriveStrings to enumerate all drives, GetDriveType to classify each one, and GetVolumeInformation to retrieve the filesystem name. Failures from GetVolumeInformation are non-fatal — the drive is included with an empty filesystem name and filtered out downstream by isDriveSearchable.
@borisdvlpr borisdvlpr marked this pull request as ready for review May 31, 2026 11:19
@borisdvlpr borisdvlpr merged commit fdb37c5 into main Jun 2, 2026
3 checks passed
@borisdvlpr borisdvlpr deleted the feat/windows-support branch June 2, 2026 22:46
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