Skip to content

Conversation

@paul-fresquet
Copy link
Contributor

Summary:
This PR completes the refactor around noise-file filtering in inventory analysis by centralizing detection logic and extending the known noise-file list while preserving existing session behavior.

Key changes:

  • Added NoiseFileDetector to centralize noise-file matching in one place.
  • Extended the known noise-file list with Windows/macOS/Linux entries (including existing legacy aliases already handled by the client).
  • Updated FileSystemInspector.IsNoiseFileName(...) to delegate to NoiseFileDetector.
  • Added dedicated unit tests for noise detection (full list coverage, case-sensitivity rules by platform, null/empty/unknown values).
  • Added focused FileSystemInspector tests for noise-file behavior.
  • Added documentation in docs/specs/SPEC-noise-file-detection.md with file origin by platform.

Implementation approach:

  • Kept compatibility with current behavior controlled by SessionSettings.ExcludeSystemFiles.
  • Preserved current Linux case-sensitive matching and non-Linux case-insensitive matching to avoid regressions.
  • Implemented changes incrementally with focused commits: refactor, tests, docs.

Notes/risks:

  • Full solution tests are blocked in this environment for ByteSync.Functions.IntegrationTests because Docker is unavailable; client unit/integration tests related to this change pass.

Copy link
Contributor

Copilot AI left a 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 PR refactors “noise file” filtering in the client inventory pipeline by centralizing filename matching into a dedicated NoiseFileDetector, expanding the known noise-file set, and documenting the list/behavior.

Changes:

  • Added NoiseFileDetector with centralized OS-dependent (Linux case-sensitive vs non-Linux case-insensitive) filename matching.
  • Updated FileSystemInspector.IsNoiseFileName(...) to delegate to the detector.
  • Added/updated unit tests and introduced a spec doc enumerating known noise files and matching rules.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/ByteSync.Client/Services/Inventories/NoiseFileDetector.cs New centralized noise-file detection logic and expanded known-name list.
src/ByteSync.Client/Services/Inventories/FileSystemInspector.cs Delegates noise filename detection to NoiseFileDetector.
tests/ByteSync.Client.UnitTests/Services/Inventories/NoiseFileDetectorTests.cs New unit tests for detector behavior across OS + casing rules.
tests/ByteSync.Client.UnitTests/Services/Inventories/FileSystemInspectorTests.cs Adds focused tests validating inspector noise-file behavior.
docs/specs/SPEC-noise-file-detection.md Documents the known noise-file list and OS-specific matching behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a 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 7 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sonarqubecloud
Copy link

@paul-fresquet paul-fresquet merged commit 3ddd1ac into master Feb 11, 2026
24 checks passed
@paul-fresquet paul-fresquet deleted the refactor/264-noise-filter-separation branch February 11, 2026 08:22
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.

[refactor] Separate noise filtering from filesystem semantics

1 participant