You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a file on an HFS+ volume has a filename that is normalized to NFD by the filesystem, deleting it externally leaves a stale entry in Yazi's normal directory view.
The file no longer exists on disk, but remains displayed until I leave the directory and enter it again. Focusing Yazi also refreshes the list.
This does not reproduce with an ASCII-only filename on the same volume.
Minimal reproducer
Create and enter a directory on a local HFS+ volume:
From another terminal, create a file using NFC input:
touch '/Volumes/Data3/yazi-nfd-test/プ.webm.part'
Confirm that the file appears in Yazi.
Delete it externally:
rm '/Volumes/Data3/yazi-nfd-test/プ.webm.part'
Expected behavior
プ.webm.part should disappear from Yazi immediately.
Actual behavior
The entry remains visible indefinitely, despite the file being absent on disk.
On HFS+, the filename is listed in NFD form:
プ.webm.part
The same test with an ASCII-only name, for example before.webm.part, updates immediately.
Additional context
I originally noticed this while gallery-dl was downloading Pixiv ugoira files and converting them to WebM. gallery-dl deletes a temporary .webm.part file after conversion, so many stale entries accumulated in Yazi.
I ruled out gallery-dl, mkvmerge, write volume, event volume, terminal emulator, and window focus as root causes:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Title: External deletion of NFD-normalized filenames on HFS+ leaves stale entries in the file list on macOS
What system are you running Yazi on?
macOS 26.6.2 (25G83), Apple Silicon.
The affected volume is a local, journaled HFS+ volume:
yazi --debugoutputReproduced with both Homebrew Yazi 26.8.15 and 26.9.1.
Describe the bug
When a file on an HFS+ volume has a filename that is normalized to NFD by the filesystem, deleting it externally leaves a stale entry in Yazi's normal directory view.
The file no longer exists on disk, but remains displayed until I leave the directory and enter it again. Focusing Yazi also refreshes the list.
This does not reproduce with an ASCII-only filename on the same volume.
Minimal reproducer
Create and enter a directory on a local HFS+ volume:
From another terminal, create a file using NFC input:
touch '/Volumes/Data3/yazi-nfd-test/プ.webm.part'Confirm that the file appears in Yazi.
Delete it externally:
rm '/Volumes/Data3/yazi-nfd-test/プ.webm.part'Expected behavior
プ.webm.partshould disappear from Yazi immediately.Actual behavior
The entry remains visible indefinitely, despite the file being absent on disk.
On HFS+, the filename is listed in NFD form:
The same test with an ASCII-only name, for example
before.webm.part, updates immediately.Additional context
I originally noticed this while gallery-dl was downloading Pixiv ugoira files and converting them to WebM. gallery-dl deletes a temporary
.webm.partfile after conversion, so many stale entries accumulated in Yazi.I ruled out gallery-dl, mkvmerge, write volume, event volume, terminal emulator, and window focus as root causes:
.partalso updates immediately with ASCII names.This appears to be an NFC/NFD path-equivalence issue in Yazi's macOS file-watcher handling, or in a dependency used by that layer.
All reactions