immich-go icon indicating copy to clipboard operation
immich-go copied to clipboard

File not Found for all subfolders

Open Niriuqq opened this issue 6 months ago • 8 comments

I use Immich go on Windows. If I want to upload a folder with the corresponding images and videos directly in this folder, everything works. However, if I specify a folder that has subfolders with files, I always get “File not found”: Any ideas?

Niriuqq avatar Jul 15 '25 09:07 Niriuqq

Looks like a problem with the current version (v.0.27.0). If I use an older version (v.0.26.3) everything works

Niriuqq avatar Jul 15 '25 11:07 Niriuqq

I have the same problem you should reopen the issue

lordraiden avatar Jul 30 '25 20:07 lordraiden

Got the same issue with version 0.27.0.

Edit: Fortunatly going back to v.0.26.3 worked for me, too.

MRunkehl avatar Aug 02 '25 08:08 MRunkehl

I got the same problem, but when I specify the top level folder with '\*' at the end it works. Example: 'd:\pictures' does not work if it contains subfolders. 'd:\pictures\*' works with all subfolders.

JoLander avatar Aug 04 '25 17:08 JoLander

I think this is a windows-only issue to do with how the new VirtualGlobFS is using the windows-style ("a\b\c") folder names as keys when building its cache, BUT using posix ("/") style when reading; causing a cache miss.

This hacky patch works on my windows box. Not tested on other OS. It breaks some tests. Ran out of time to submit proper PR, but hopefully points in the right direction...

diff --git a/internal/fshelper/virtualglobfs.go b/internal/fshelper/virtualglobfs.go
index 97178de..e81b9f1 100644
--- a/internal/fshelper/virtualglobfs.go
+++ b/internal/fshelper/virtualglobfs.go
@@ -50,6 +50,7 @@ func NewVirtualGlobFS(pattern string) (fs.FS, error) {

                // directories should always be added
                parentDir := filepath.Dir(path)
+               parentDir = strings.Replace(parentDir, "\\", "/", -1)
                if parentDir != path {
                        vfs.dirs[parentDir] = append(vfs.dirs[parentDir], path)
                        vfs.files[path] = d

sparkluke avatar Aug 04 '25 20:08 sparkluke

I also have the same issue, everything I have is on a SMB share so going back to [v0.26.3] works but makes the process very long ...

pticle94 avatar Sep 04 '25 21:09 pticle94

I am having the same issue and it looks like [v0.26.3] works also

ki321g avatar Sep 05 '25 14:09 ki321g

Thanks, a fix is on the go

simulot avatar Sep 07 '25 10:09 simulot