fix(server): external library sync not working for large libraries (#7759)

This commit is contained in:
Mert
2024-03-10 22:30:57 -04:00
committed by GitHub
parent 49d9051879
commit 5bd597f14b
9 changed files with 106 additions and 104 deletions
@@ -11,7 +11,7 @@ import {
import { ImmichLogger } from '@app/infra/logger';
import archiver from 'archiver';
import chokidar, { WatchOptions } from 'chokidar';
import { glob } from 'glob';
import { glob } from 'fast-glob';
import { constants, createReadStream, existsSync, mkdirSync } from 'node:fs';
import fs, { copyFile, readdir, rename, stat, utimes, writeFile } from 'node:fs/promises';
import path from 'node:path';
@@ -123,7 +123,7 @@ export class FilesystemProvider implements IStorageRepository {
crawl(crawlOptions: CrawlOptionsDto): Promise<string[]> {
const { pathsToCrawl, exclusionPatterns, includeHidden } = crawlOptions;
if (!pathsToCrawl) {
if (pathsToCrawl.length === 0) {
return Promise.resolve([]);
}
@@ -132,8 +132,8 @@ export class FilesystemProvider implements IStorageRepository {
return glob(`${base}/**/${extensions}`, {
absolute: true,
nocase: true,
nodir: true,
caseSensitiveMatch: false,
onlyFiles: true,
dot: includeHidden,
ignore: exclusionPatterns,
});