Skip to content

Conversation

@paul-fresquet
Copy link
Contributor

Summary

This PR completes issue #265 by extending noise entry handling in inventory analysis.

Key changes

  • Added additional noise entries in the embedded resource list ($RECYCLE.BIN, .AppleDB, .AppleDesktop).
  • Added non-root noise directory filtering in inventory traversal.
  • Renamed skip reason NoiseFile to NoiseEntry to cover both files and directories.
  • Updated and extended unit tests for detector and inventory builder behavior.
  • Updated noise detection specification documentation.

Notes/Risks

  • macOS behavior intentionally remains case-insensitive (documented deviation from strict issue wording).
  • Root inventory parts are still analyzed even if their root name matches a noise directory pattern.

Closes #265

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

Extends the client inventory “exclude system files” feature to treat additional OS-generated entries as noise (including directories) and updates the corresponding tests and specification.

Changes:

  • Expanded the embedded noise entries list (e.g., $RECYCLE.BIN, .AppleDB, .AppleDesktop).
  • Added inventory traversal logic to skip non-root noise directories and record them as skipped entries.
  • Renamed skip reason from NoiseFile to NoiseEntry and updated unit tests + spec.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/ByteSync.Client.UnitTests/Services/Inventories/NoiseFileDetectorTests.cs Adds new test cases for the expanded noise entries list and case-sensitivity behavior.
tests/ByteSync.Client.UnitTests/Services/Inventories/InventoryBuilderInspectorTests.cs Updates skip reason expectations and adds coverage for skipping noise child directories while still analyzing noise root directories.
src/ByteSync.Client/Services/Inventories/noise-files.json Adds additional noise entries to the embedded resource list.
src/ByteSync.Client/Services/Inventories/InventoryBuilder.cs Implements non-root noise directory filtering and updates file noise skip reason to NoiseEntry.
src/ByteSync.Client/Models/Inventories/SkipReason.cs Renames NoiseFile enum value to NoiseEntry.
docs/specs/SPEC-noise-file-detection.md Updates the spec to reflect the expanded noise list and 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 9 out of 9 changed files in this pull request and generated 2 comments.


💡 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 9 out of 9 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 94c7593 into master Feb 11, 2026
66 of 70 checks passed
@paul-fresquet paul-fresquet deleted the feature/265-extend-noise-entries branch February 11, 2026 13:35
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.

[feature] Extend noise files list with common OS-generated files

1 participant