fix(librarian): allow .codex-cover dotfiles through ignore filter - #776
Merged
Merged
Conversation
a709a74 added a "." prefix to _IGNORED_BASENAME_PREFIXES so the poller's walker, the watchfiles filter, and expand_dir_added all skip hidden files before any cover predicate runs. User-supplied folder covers named .codex-cover.jpg / .png / .webp / ... are dotfiles by name but legitimate covers, so the dotfile filter swallowed them and broke custom folder covers from v1.12.5 on. is_ignored_basename now exempts a basename when match_folder_cover claims it. .DS_Store, .git, .Trashes, .codex-cover (no extension), .codex-cover.txt etc. still get filtered. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.codex-cover.jpg) silently stopped importing in v1.12.5. Commit a709a74 added a.prefix to_IGNORED_BASENAME_PREFIXES, which made the poller's walker, the watchfiles filter, andexpand_dir_addedall skip the file before the cover predicate ever ran.is_ignored_basenamenow defers tomatch_folder_coverfor dotfiles, so.codex-cover.{jpg,jpeg,png,webp,gif,bmp}passes through while.DS_Store,.git,.Trashes,.codex-cover(no extension), and.codex-cover.txtremain filtered.is_ignored_basename/is_ignored_path,DiskSnapshot,CodexWatchFilter,expand_dir_added) plus a negative test for non-image dotfile matches.Test plan
uv run pytest tests/test_fs_filters_ignore.py— 22 passed (4 new regression tests)make lintcleanmake tyclean.codex-cover.jpginto a comic folder on a running instance and confirm the folder picks up the custom cover after the next poll / event🤖 Generated with Claude Code