- LazyLoad helper is now a singleton class reusing the same IntersectionObserver instance for performance reasons
- IntersectionObserver is now disconnected when the component is unmounted for performance reasons
- StyledPhoto is now using useCallback to avoid unnecessary rerenderings
- Fixed issue setting loading attribute to the <img /> rendered by <ProtectedImage/> component
- If it is possible, HTMLImageElement.loading is used a lightweight native browser lazy loading solution
- Custom lazyLoad library is created depending on IntersectionObserver. If IntersectionObserver is not available, the images are eagerly loaded
- removed react-lazyload from the dependencies
This happend because the go routine did not capture the media variable,
and so the it would change before the go routine could start
and call the DetectFaces function.
Store album ignore data in cache and not database. Fix albums with only
ignore-media-only not to be shown in album list. Use
github.com/sabhiram/go-gitignore exclusively for photoviewignore.
Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
Added feature to ignore specific media files. E.g. to ignore .png media
files, add '*.png' to .photoviewignore file or add 'img_1234.jpg' to
ignore a specific file. This applies to the current dir and any
potential subdir. Matching is case sensitive. File ignore pattern must
include a '.', otherwise the pattern is treated as a dir ignore pattern.
Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>
Looks for .photoviewignore file in all root dirs and potential subdirs.
Subdirs inherit the ignore rules from parent dir. If a .photoviewignore
file is found in a subdir, the new ignore rules are appended to the
existing ignore rules.
Ignore match engine is from 'github.com/sabhiram/go-gitignore'.
Signed-off-by: Kjeldgaard <Kjeldgaard@users.noreply.github.com>