From 9ceb90c4a296877bea338a111fb0e44968e582a3 Mon Sep 17 00:00:00 2001 From: grasdk Date: Sun, 16 Jun 2024 20:44:35 +0200 Subject: [PATCH 01/15] added coalesce to search queries in case offset is null --- src/backend/model/database/SearchManager.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/backend/model/database/SearchManager.ts b/src/backend/model/database/SearchManager.ts index 0099bf11..1c54a232 100644 --- a/src/backend/model/database/SearchManager.ts +++ b/src/backend/model/database/SearchManager.ts @@ -365,7 +365,7 @@ export class SearchManager { switch (sort.method) { case SortByTypes.Date: if (Config.Gallery.ignoreTimestampOffset === true) { - query.addOrderBy('media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)', sort.ascending ? 'ASC' : 'DESC'); + query.addOrderBy('media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)', sort.ascending ? 'ASC' : 'DESC'); } else { query.addOrderBy('media.metadata.creationDate', sort.ascending ? 'ASC' : 'DESC'); } @@ -568,7 +568,7 @@ export class SearchManager { textParam['from' + queryId] = (query as FromDateSearch).value; if (Config.Gallery.ignoreTimestampOffset === true) { q.where( - `(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) ${relation} :from${queryId}`, + `(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) ${relation} :from${queryId}`, textParam ); } else { @@ -597,7 +597,7 @@ export class SearchManager { textParam['to' + queryId] = (query as ToDateSearch).value; if (Config.Gallery.ignoreTimestampOffset === true) { q.where( - `(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) ${relation} :to${queryId}`, + `(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) ${relation} :to${queryId}`, textParam ); } else { @@ -809,9 +809,9 @@ export class SearchManager { if (tq.negate) { if (Config.Gallery.ignoreTimestampOffset === true) { q.where( - `(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) >= :to${queryId}`, + `(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) >= :to${queryId}`, textParam - ).orWhere(`(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) < :from${queryId}`, + ).orWhere(`(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) < :from${queryId}`, textParam); } else { q.where( @@ -824,9 +824,9 @@ export class SearchManager { } else { if (Config.Gallery.ignoreTimestampOffset === true) { q.where( - `(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) < :to${queryId}`, + `(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) < :to${queryId}`, textParam - ).andWhere(`(media.metadata.creationDate + (media.metadata.creationDateOffset * 60000)) >= :from${queryId}`, + ).andWhere(`(media.metadata.creationDate + (coalesce(media.metadata.creationDateOffset,0) * 60000)) >= :from${queryId}`, textParam); } else { q.where( From 671065c6ac427342e36c47192b3f245e9eaa0da8 Mon Sep 17 00:00:00 2001 From: grasdk Date: Sun, 16 Jun 2024 22:46:20 +0200 Subject: [PATCH 02/15] Making the config option title a bit more clear --- src/common/config/public/ClientConfig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/config/public/ClientConfig.ts b/src/common/config/public/ClientConfig.ts index c6adfe09..1621e700 100644 --- a/src/common/config/public/ClientConfig.ts +++ b/src/common/config/public/ClientConfig.ts @@ -1084,7 +1084,7 @@ export class ClientGalleryConfig { @ConfigProperty({ tags: { - name: $localize`Ignore timestamp offsets`, + name: $localize`Ignore timestamp offsets (use local time)`, priority: ConfigPriority.advanced, }, description: $localize`If enabled, timestamp offsets are ignored, meaning that the local times of pictures are used for searching, sorting and grouping. If disabled, global time is used and pictures with no timestamp are assumed to be in UTC (offset +00:00).` From 7b7e980ddc6631a66efe08c9cdc068ed52c31949 Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Fri, 28 Jun 2024 21:00:34 +0200 Subject: [PATCH 03/15] Update build.yml use action instead of docker image for mariadb --- .github/workflows/build.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7cf93eea..1c2d8584 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,21 +17,13 @@ jobs: strategy: matrix: node-version: [18.x] - - services: - mariadb: - image: mariadb:lts - ports: - - 3306 - env: - MYSQL_USER: user - MYSQL_PASSWORD: password - MYSQL_DATABASE: pigallery_test - MYSQL_ROOT_PASSWORD: password - options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 - - steps: + - uses: getong/mariadb-action@v1.11 + with: + mysql database: 'pigallery_test' + mysql root password: 'password' + mysql user: 'user' + mysql password: 'password' - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 From 80787dfc0eb8084eb56ede7ee7c8a97763b3dc1d Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Fri, 28 Jun 2024 22:07:10 +0200 Subject: [PATCH 04/15] Add a bit more check for video check dimension #666 --- src/backend/model/fileaccess/PhotoWorker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/model/fileaccess/PhotoWorker.ts b/src/backend/model/fileaccess/PhotoWorker.ts index afae0daf..fd8b6f59 100644 --- a/src/backend/model/fileaccess/PhotoWorker.ts +++ b/src/backend/model/fileaccess/PhotoWorker.ts @@ -86,8 +86,8 @@ export class VideoRendererFactory { break; } } - if (!width || !height) { - return reject('[FFmpeg] Can not read video dimension'); + if (!width || !height || isNaN(width) || isNaN(height)) { + return reject(`[FFmpeg] Can not read video dimension. Found: ${{width}}x${{height}}`); } const command: FfmpegCommand = ffmpeg(input.mediaPath); const fileName = path.basename(input.outPath); From 39f1484be2439149d44db327f37921f65e3defdd Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Fri, 28 Jun 2024 22:15:56 +0200 Subject: [PATCH 05/15] Fixing ffmpeg dimension reading issue #666 --- src/backend/model/fileaccess/PhotoWorker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/model/fileaccess/PhotoWorker.ts b/src/backend/model/fileaccess/PhotoWorker.ts index fd8b6f59..af136713 100644 --- a/src/backend/model/fileaccess/PhotoWorker.ts +++ b/src/backend/model/fileaccess/PhotoWorker.ts @@ -80,7 +80,7 @@ export class VideoRendererFactory { let width = null; let height = null; for (const stream of data.streams) { - if (stream.width) { + if (stream.width && stream.height && !isNaN(stream.width) && !isNaN(stream.height)) { width = stream.width; height = stream.height; break; From 1fd07a640c9f7593c23389cf1ae6a23eeb71d72a Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Fri, 28 Jun 2024 22:34:03 +0200 Subject: [PATCH 06/15] Add UTF8 support for person names. fixes #917 --- src/backend/model/database/enitites/PersonEntry.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/model/database/enitites/PersonEntry.ts b/src/backend/model/database/enitites/PersonEntry.ts index 66f12563..8512c072 100644 --- a/src/backend/model/database/enitites/PersonEntry.ts +++ b/src/backend/model/database/enitites/PersonEntry.ts @@ -10,7 +10,10 @@ export class PersonEntry implements PersonDTO { @PrimaryGeneratedColumn({unsigned: true}) id: number; - @Column(columnCharsetCS) + @Column({ + charset: columnCharsetCS.charset, + collation: columnCharsetCS.collation, + }) name: string; @Column('int', {unsigned: true, default: 0}) From f306ceff37bdcd9e3ca2040fa0948ed42097cd5e Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 30 Jun 2024 16:44:02 +0200 Subject: [PATCH 07/15] Update Dockerfile.build - healthcheck changed from localhost to 127.0.0.1 Should fix a bug whith IPv6 and healthcheck --- docker/alpine/Dockerfile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/alpine/Dockerfile.build b/docker/alpine/Dockerfile.build index aa3c82b2..9e290f92 100644 --- a/docker/alpine/Dockerfile.build +++ b/docker/alpine/Dockerfile.build @@ -35,7 +35,7 @@ VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://localhost:80/heartbeat || exit 1 + http://127.0.0.1:80/heartbeat || exit 1 # after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible # Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app From 941c91ab32aecd654e6bb026f8b77a1194b856af Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 30 Jun 2024 16:45:29 +0200 Subject: [PATCH 08/15] Update Dockerfile.build - healthcheck changed from localhost to 127.0.0.1 Should fix a bug whith IPv6 and healthcheck --- docker/debian-bookworm/Dockerfile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/debian-bookworm/Dockerfile.build b/docker/debian-bookworm/Dockerfile.build index 01cd7b24..87fd6b4b 100644 --- a/docker/debian-bookworm/Dockerfile.build +++ b/docker/debian-bookworm/Dockerfile.build @@ -36,7 +36,7 @@ VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://localhost:80/heartbeat || exit 1 + http://127.0.0.1:80/heartbeat || exit 1 # after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible # Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app From e55345b502808e88a127831aab1fe88de6039e9b Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 30 Jun 2024 16:47:13 +0200 Subject: [PATCH 09/15] Update Dockerfile.build - healthcheck changed from localhost to 127.0.0.1 Should fix a bug whith IPv6 and healthcheck --- docker/debian-buster/selfcontained/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/debian-buster/selfcontained/Dockerfile b/docker/debian-buster/selfcontained/Dockerfile index 9ce20370..c4e38a1b 100644 --- a/docker/debian-buster/selfcontained/Dockerfile +++ b/docker/debian-buster/selfcontained/Dockerfile @@ -39,7 +39,7 @@ VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://localhost:80/heartbeat || exit 1 + http://127.0.0.1:80/heartbeat || exit 1 # after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible # Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app From 935084efcfe82b455f0594d4927f36bcded3c159 Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 30 Jun 2024 16:47:51 +0200 Subject: [PATCH 10/15] Update Dockerfile.build - healthcheck changed from localhost to 127.0.0.1 Should fix a bug whith IPv6 and healthcheck --- docker/debian-buster/Dockerfile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/debian-buster/Dockerfile.build b/docker/debian-buster/Dockerfile.build index 2c92a4bb..a05f7009 100644 --- a/docker/debian-buster/Dockerfile.build +++ b/docker/debian-buster/Dockerfile.build @@ -36,7 +36,7 @@ VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://localhost:80/heartbeat || exit 1 + http://127.0.0.1:80/heartbeat || exit 1 # after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible # Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app From 60474eeb0e1f5100618980dd9aa52841a9d2e208 Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 30 Jun 2024 16:48:10 +0200 Subject: [PATCH 11/15] Update Dockerfile.build - healthcheck changed from localhost to 127.0.0.1 Should fix a bug whith IPv6 and healthcheck --- docker/debian-bullseye/Dockerfile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/debian-bullseye/Dockerfile.build b/docker/debian-bullseye/Dockerfile.build index e8c809ad..a737ca7d 100644 --- a/docker/debian-bullseye/Dockerfile.build +++ b/docker/debian-bullseye/Dockerfile.build @@ -36,7 +36,7 @@ VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://localhost:80/heartbeat || exit 1 + http://127.0.0.1:80/heartbeat || exit 1 # after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible # Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app From 894d73fedecc2f9efe400c0cab9490572fd37ad1 Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Mon, 1 Jul 2024 00:27:01 +0200 Subject: [PATCH 12/15] Add heic and avif support detection #858, #97 --- .../model/diagnostics/ConfigDiagnostics.ts | 55 ++++++++++++++++-- .../model/diagnostics/image_formats/test.avif | Bin 0 -> 83040 bytes .../model/diagnostics/image_formats/test.heic | Bin 0 -> 42984 bytes .../model/diagnostics/image_formats/test.jpg | Bin 0 -> 631 bytes src/backend/model/fileaccess/PhotoWorker.ts | 23 +++++--- src/common/SupportedFormats.ts | 55 +++++++++--------- src/common/config/public/ClientConfig.ts | 6 +- 7 files changed, 96 insertions(+), 43 deletions(-) create mode 100644 src/backend/model/diagnostics/image_formats/test.avif create mode 100644 src/backend/model/diagnostics/image_formats/test.heic create mode 100644 src/backend/model/diagnostics/image_formats/test.jpg diff --git a/src/backend/model/diagnostics/ConfigDiagnostics.ts b/src/backend/model/diagnostics/ConfigDiagnostics.ts index 40dc484c..bfdc1e2f 100644 --- a/src/backend/model/diagnostics/ConfigDiagnostics.ts +++ b/src/backend/model/diagnostics/ConfigDiagnostics.ts @@ -3,12 +3,14 @@ import {Logger} from '../../Logger'; import {NotificationManager} from '../NotifocationManager'; import {SQLConnection} from '../database/SQLConnection'; import * as fs from 'fs'; +import * as path from 'path'; import {FFmpegFactory} from '../FFmpegFactory'; import { ClientAlbumConfig, ClientFacesConfig, ClientMapConfig, ClientMetaFileConfig, + ClientPhotoConfig, ClientRandomPhotoConfig, ClientSearchConfig, ClientSharingConfig, @@ -28,7 +30,9 @@ import {SearchQueryTypes, TextSearch,} from '../../../common/entities/SearchQuer import {Utils} from '../../../common/Utils'; import {JobRepository} from '../jobs/JobRepository'; import {ConfigClassBuilder} from '../../../../node_modules/typeconfig/node'; -import { Config } from '../../../common/config/private/Config'; +import {Config} from '../../../common/config/private/Config'; +import {SupportedFormats} from '../../../common/SupportedFormats'; +import {MediaRendererInput, PhotoWorker, ThumbnailSourceType} from '../fileaccess/PhotoWorker'; const LOG_TAG = '[ConfigDiagnostics]'; @@ -78,9 +82,9 @@ export class ConfigDiagnostics { jobsConfig: ServerJobConfig ): Promise { Logger.debug(LOG_TAG, 'Testing jobs config'); - for(let i = 0; i< jobsConfig.scheduled.length; ++i){ + for (let i = 0; i < jobsConfig.scheduled.length; ++i) { const j = jobsConfig.scheduled[i]; - if(!JobRepository.Instance.exists(j.name)){ + if (!JobRepository.Instance.exists(j.name)) { throw new Error('Unknown Job :' + j.name); } } @@ -292,6 +296,46 @@ export class ConfigDiagnostics { } } + /** + * Removes unsupported image formats. + * It is possible that some OS support one or the other image formats (like Mac os does with HEIC) + * , but others not. + * Those formats are added to the config, but dynamically removed. + * @param config + */ + static async removeUnsupportedPhotoExtensions(config: ClientPhotoConfig): Promise { + Logger.verbose(LOG_TAG, 'Checking for supported image formats'); + let removedSome = false; + let i = config.supportedFormats.length; + while (i--) { + const ext = config.supportedFormats[i].toLowerCase(); + const testImage = path.join(__dirname, 'image_formats', 'test.' + ext); + // Check if a test available for this image format. + // if not probably because it is trivial + if (!fs.existsSync(testImage)) { + continue; + } + try { + await PhotoWorker.renderFromImage({ + type: ThumbnailSourceType.Photo, + mediaPath: testImage, + size: 10, + useLanczos3: Config.Media.Photo.useLanczos3, + quality: Config.Media.Photo.quality, + smartSubsample: Config.Media.Photo.smartSubsample, + } as MediaRendererInput, true + ); + } catch (e) { + Logger.verbose(LOG_TAG, 'The current OS does not support the following photo format:' + ext + ', removing it form config.'); + config.supportedFormats.splice(i, 1); + removedSome = true; + } + } + if (removedSome) { + SupportedFormats.init(); + } + } + static async testConfig(config: PrivateConfigClass): Promise { await ConfigDiagnostics.testDatabase(config.Database); @@ -310,7 +354,6 @@ export class ConfigDiagnostics { await ConfigDiagnostics.testRandomPhotoConfig(config.Sharing, config); await ConfigDiagnostics.testMapConfig(config.Map); await ConfigDiagnostics.testJobsConfig(config.Jobs); - } @@ -562,7 +605,7 @@ export class ConfigDiagnostics { const err: Error = ex; NotificationManager.warning( 'Jobs error. Resetting to default for now to let the app start up. ' + - 'Please adjust the config properly.', + 'Please adjust the config properly.', err.toString() ); Logger.warn( @@ -575,6 +618,8 @@ export class ConfigDiagnostics { Config.Jobs.scheduled = pc.Jobs.scheduled; } + await this.removeUnsupportedPhotoExtensions(Config.Media.Photo); + } } diff --git a/src/backend/model/diagnostics/image_formats/test.avif b/src/backend/model/diagnostics/image_formats/test.avif new file mode 100644 index 0000000000000000000000000000000000000000..a1c0abd7aa4bdf4e14f899ec3b0018b4eb27f1f7 GIT binary patch literal 83040 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

`H#=-I1Wn*Ld}II)?!k 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 vYSQn1@9EFE8rsp6P- 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 literal 0 HcmV?d00001 diff --git a/src/backend/model/diagnostics/image_formats/test.jpg b/src/backend/model/diagnostics/image_formats/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1cda9a53dc357ce07d3c67051b7615ebf7dc2f64 GIT binary patch literal 631 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<ECr+Na zbot8FYu9hwy!G(W<0ns_J%91?)yGetzkL1n{m0K=Ab&A3Fhjfr_ZgbM1cClyVqsxs zVF&q(k*OSrnFU!`6%E;h90S=C3x$=88aYIqCNA7~kW<+>=!0ld(M2vX6_bamA3L7B$%azX<@d&d)*s literal 0 HcmV?d00001 diff --git a/src/backend/model/fileaccess/PhotoWorker.ts b/src/backend/model/fileaccess/PhotoWorker.ts index af136713..563a7cb0 100644 --- a/src/backend/model/fileaccess/PhotoWorker.ts +++ b/src/backend/model/fileaccess/PhotoWorker.ts @@ -23,8 +23,8 @@ export class PhotoWorker { throw new Error('Unsupported media type to render thumbnail:' + input.type); } - public static renderFromImage(input: SvgRendererInput | MediaRendererInput): Promise { - return ImageRendererFactory.render(input); + public static renderFromImage(input: SvgRendererInput | MediaRendererInput, dryRun = false): Promise { + return ImageRendererFactory.render(input, dryRun); } public static renderFromVideo(input: MediaRendererInput): Promise { @@ -43,8 +43,8 @@ export enum ThumbnailSourceType { interface RendererInput { type: ThumbnailSourceType; size: number; - makeSquare: boolean; - outPath: string; + makeSquare?: boolean; + outPath?: string; quality: number; useLanczos3: boolean; animate: boolean; // animates the output. Used for Gifs @@ -132,7 +132,7 @@ export class VideoRendererFactory { export class ImageRendererFactory { @ExtensionDecorator(e => e.gallery.ImageRenderer.render) - public static async render(input: MediaRendererInput | SvgRendererInput): Promise { + public static async render(input: MediaRendererInput | SvgRendererInput, dryRun = false): Promise { let image: Sharp; if ((input as MediaRendererInput).mediaPath) { @@ -174,17 +174,24 @@ export class ImageRendererFactory { fit: 'cover', }); } + let processedImg: sharp.Sharp; if ((input as MediaRendererInput).mediaPath) { - await image.webp({ + processedImg = image.webp({ effort: 6, quality: input.quality, smartSubsample: (input as MediaRendererInput).smartSubsample - }).toFile(input.outPath); + }); } else { if ((input as SvgRendererInput).svgString) { - await image.png({effort: 6, quality: input.quality}).toFile(input.outPath); + processedImg = image.png({effort: 6, quality: input.quality}); } } + // do not save to file + if (dryRun) { + await processedImg.toBuffer(); + return; + } + await processedImg.toFile(input.outPath); } } diff --git a/src/common/SupportedFormats.ts b/src/common/SupportedFormats.ts index f28a9876..95d960d2 100644 --- a/src/common/SupportedFormats.ts +++ b/src/common/SupportedFormats.ts @@ -10,44 +10,45 @@ if (typeof window !== 'undefined') { Config = require('./config/private/Config').Config; } -export const SupportedFormats = { - Photos: Config.Media.Photo.supportedFormats, +export class SupportedFormats { + static Photos = Config.Media.Photo.supportedFormats; // Browser supported video formats // Read more: https://www.w3schools.com/html/html5_video.asp - Videos: Config.Media.Video.supportedFormats, - MetaFiles: Config.MetaFile.supportedFormats, + static Videos = Config.Media.Video.supportedFormats; + static MetaFiles = Config.MetaFile.supportedFormats; // These formats need to be transcoded (with the build-in ffmpeg support) - TranscodeNeed: { + static TranscodeNeed = { // based on libvips, all supported formats for sharp: https://github.com/libvips/libvips Photos: [] as string[], Videos: Config.Media.Video.supportedFormatsWithTranscoding, - }, + }; // -------------------------------------------- // Below this, it is autogenerated, DO NOT EDIT - WithDots: { + static WithDots = { Photos: [] as string[], Videos: [] as string[], MetaFiles: [] as string[], TranscodeNeed: { Photos: [] as string[], Videos: [] as string[], - }, - }, -}; - -SupportedFormats.Photos = SupportedFormats.Photos.concat( - SupportedFormats.TranscodeNeed.Photos -); -SupportedFormats.Videos = SupportedFormats.Videos.concat( - SupportedFormats.TranscodeNeed.Videos -); -SupportedFormats.WithDots.Photos = SupportedFormats.Photos.map((f) => '.' + f); -SupportedFormats.WithDots.Videos = SupportedFormats.Videos.map((f) => '.' + f); -SupportedFormats.WithDots.MetaFiles = SupportedFormats.MetaFiles.map( - (f) => '.' + f -); -SupportedFormats.WithDots.TranscodeNeed.Photos = - SupportedFormats.TranscodeNeed.Photos.map((f) => '.' + f); -SupportedFormats.WithDots.TranscodeNeed.Videos = - SupportedFormats.TranscodeNeed.Videos.map((f) => '.' + f); - + } + }; + static init(){ + SupportedFormats.Photos = SupportedFormats.Photos.concat( + SupportedFormats.TranscodeNeed.Photos + ); + SupportedFormats.Videos = SupportedFormats.Videos.concat( + SupportedFormats.TranscodeNeed.Videos + ); + SupportedFormats.WithDots.Photos = SupportedFormats.Photos.map((f) => '.' + f); + SupportedFormats.WithDots.Videos = SupportedFormats.Videos.map((f) => '.' + f); + SupportedFormats.WithDots.MetaFiles = SupportedFormats.MetaFiles.map( + (f) => '.' + f + ); + SupportedFormats.WithDots.TranscodeNeed.Photos = + SupportedFormats.TranscodeNeed.Photos.map((f) => '.' + f); + SupportedFormats.WithDots.TranscodeNeed.Videos = + SupportedFormats.TranscodeNeed.Videos.map((f) => '.' + f); + } +} +SupportedFormats.init(); diff --git a/src/common/config/public/ClientConfig.ts b/src/common/config/public/ClientConfig.ts index c6adfe09..b611fa1d 100644 --- a/src/common/config/public/ClientConfig.ts +++ b/src/common/config/public/ClientConfig.ts @@ -1091,8 +1091,8 @@ export class ClientGalleryConfig { }) //DEVELOPER NOTE: The Database model stores the timestamp (creationDate) as milliseconds since 1970-01-01 UTC (global time). And stores and offset (creationDateOffset) as minutes. //Ignoring timestamp for the user is the opposite for the database. If the user wants to ignore the offset, we have to add the offset to the creationDate to give the user the right experience. - ignoreTimestampOffset: boolean = true; - + ignoreTimestampOffset: boolean = true; + @ConfigProperty({ tags: { @@ -1266,7 +1266,7 @@ export class ClientPhotoConfig { }, description: $localize`Photo formats that are supported. Browser needs to support these formats natively. Also sharp (libvips) package should be able to convert these formats.`, }) - supportedFormats: string[] = ['gif', 'jpeg', 'jpg', 'jpe', 'png', 'webp', 'svg']; + supportedFormats: string[] = ['gif', 'jpeg', 'jpg', 'jpe', 'png', 'webp', 'svg', 'avif', 'heic']; } @SubConfigClass({tags: {client: true}, softReadonly: true}) From 79db31cdb63a15f2ab92b3458d56b529147a5bfa Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Mon, 1 Jul 2024 00:40:47 +0200 Subject: [PATCH 13/15] Improving tests --- test/TestHelper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/TestHelper.ts b/test/TestHelper.ts index 60207413..da82e236 100644 --- a/test/TestHelper.ts +++ b/test/TestHelper.ts @@ -201,7 +201,7 @@ export class TestHelper { name: 'Unkle Ben' } as FaceRegion, { box: {height: 10, width: 10, left: 105, top: 105}, - name: 'Arvíztűrő Tükörfúrógép' + name: 'Árvíztűrő Tükörfúrógép' } as FaceRegion, { box: {height: 10, width: 10, left: 201, top: 201}, name: 'R2-D2' From 2e9a6b8eb421daecccc4a993c9956f94d6bb0de6 Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Mon, 1 Jul 2024 00:43:44 +0200 Subject: [PATCH 14/15] Increase metadata parser test counter --- test/backend/unit/model/threading/DiskManagerWorker.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/backend/unit/model/threading/DiskManagerWorker.spec.ts b/test/backend/unit/model/threading/DiskManagerWorker.spec.ts index 6f901c8d..bbaa20dc 100644 --- a/test/backend/unit/model/threading/DiskManagerWorker.spec.ts +++ b/test/backend/unit/model/threading/DiskManagerWorker.spec.ts @@ -24,7 +24,8 @@ describe('DiskMangerWorker', () => { ProjectPath.ImageFolder = path.join(__dirname, '/../../../assets'); const dir = await DiskManager.scanDirectory('/'); // should match the number of media (photo/video) files in the assets folder - expect(dir.media.length).to.be.equals(16); + // TODO: make this test less flaky. Every time a new image is added to the folder, it fails. + expect(dir.media.length).to.be.equals(17); // eslint-disable-next-line @typescript-eslint/no-var-requires const expected = require(path.join(__dirname, '/../../../assets/test image öüóőúéáű-.,.json')); const i = dir.media.findIndex(m => m.name === 'test image öüóőúéáű-.,.jpg'); From 8c82c64a713e111887a641a1348262cf85b28114 Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Mon, 1 Jul 2024 00:54:44 +0200 Subject: [PATCH 15/15] Fixing autocomplete mysql test. --- test/TestHelper.ts | 3 --- test/backend/unit/model/sql/SearchManager.spec.ts | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/test/TestHelper.ts b/test/TestHelper.ts index da82e236..e1a2dc38 100644 --- a/test/TestHelper.ts +++ b/test/TestHelper.ts @@ -199,9 +199,6 @@ export class TestHelper { } as FaceRegion, { box: {height: 10, width: 10, left: 104, top: 104}, name: 'Unkle Ben' - } as FaceRegion, { - box: {height: 10, width: 10, left: 105, top: 105}, - name: 'Árvíztűrő Tükörfúrógép' } as FaceRegion, { box: {height: 10, width: 10, left: 201, top: 201}, name: 'R2-D2' diff --git a/test/backend/unit/model/sql/SearchManager.spec.ts b/test/backend/unit/model/sql/SearchManager.spec.ts index 33ec8e60..e4597d0a 100644 --- a/test/backend/unit/model/sql/SearchManager.spec.ts +++ b/test/backend/unit/model/sql/SearchManager.spec.ts @@ -1387,7 +1387,7 @@ describe('SearchManager', (sqlHelper: DBTestHelper) => { resultOverflow: false } as SearchResultDTO)); - query = ({value: 6, type: SearchQueryTypes.min_person_count} as MinPersonCountSearch); + query = ({value: 5, type: SearchQueryTypes.min_person_count} as MinPersonCountSearch); expect(Utils.clone(await sm.search(query))) .to.deep.equalInAnyOrder(removeDir({ searchQuery: query,