diff --git a/internal/entity/file.go b/internal/entity/file.go index 8f2b9666b..4b30605b5 100644 --- a/internal/entity/file.go +++ b/internal/entity/file.go @@ -239,6 +239,8 @@ func (m *File) ReplaceHash(newHash string) error { log.Tracef("file %s: removing hash %s", txt.Quote(m.FileUID), txt.Quote(m.FileHash)) } else if m.FileHash != "" && newHash != "" { log.Tracef("file %s: hash %s changed to %s", txt.Quote(m.FileUID), txt.Quote(m.FileHash), txt.Quote(newHash)) + // Reset error when hash changes. + m.FileError = "" } // Set file hash to new value. diff --git a/internal/photoprism/index_mediafile.go b/internal/photoprism/index_mediafile.go index 1c5244e26..7407ca13e 100644 --- a/internal/photoprism/index_mediafile.go +++ b/internal/photoprism/index_mediafile.go @@ -262,7 +262,7 @@ func (ind *Index) MediaFile(m *MediaFile, o IndexOptions, originalName string) ( extraLabels := classify.Labels{} // Detect faces in images? - if o.FacesOnly && (!photoExists || !fileExists || !file.FilePrimary) { + if o.FacesOnly && (!photoExists || !fileExists || !file.FilePrimary || file.FileError != "") { // New and non-primary files can be skipped when updating faces only. result.Status = IndexSkipped return result