Skip to content

feat(server): library refresh go brrr #28143

feat(server): library refresh go brrr

feat(server): library refresh go brrr #28143

Triggered via pull request December 18, 2024 10:36
Status Failure
Total duration 5m 7s
Artifacts

test.yml

on: pull_request
Test & Lint Server
1m 47s
Test & Lint Server
Unit Test CLI
21s
Unit Test CLI
Unit Test CLI (Windows)
1m 11s
Unit Test CLI (Windows)
Test & Lint Web
4m 38s
Test & Lint Web
End-to-End Lint
34s
End-to-End Lint
Medium Tests (Server)
1m 54s
Medium Tests (Server)
End-to-End Tests (Server & CLI)
3m 21s
End-to-End Tests (Server & CLI)
End-to-End Tests (Web)
3m 10s
End-to-End Tests (Web)
Unit Test Mobile
1m 29s
Unit Test Mobile
Unit Test ML
0s
Unit Test ML
Fit to window
Zoom out
Zoom in

Annotations

41 errors and 9 warnings
TypeORM Checks
Process completed with exit code 1.
TypeORM Checks
Process completed with exit code 1.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Argument of type 'ILibraryAssetsJob' is not assignable to parameter of type 'ILibraryBulkIdsJob'.
Test & Lint Server
Object literal may only specify known properties, and 'id' does not exist in type 'ILibraryFileJob'.
Test & Lint Server
Property 'getByLibraryIdAndOriginalPath' does not exist on type 'Mocked<IAssetRepository>'.
Test & Lint Server
Property 'handleSyncFile' does not exist on type 'LibraryService'. Did you mean 'handleSyncFiles'?
Test & Lint Server: server/src/controllers/library.controller.ts#L6
'LibraryStatsResponseDto' is defined but never used
Test & Lint Server: server/src/interfaces/library.interface.ts#L1
'ADDED_IN_PREFIX' is defined but never used
Test & Lint Server: server/src/services/library.service.ts#L10
'LibraryStatsResponseDto' is defined but never used
Test & Lint Server: server/src/services/library.service.ts#L18
'LibraryEntity' is defined but never used
Test & Lint Server: server/src/services/library.service.ts#L361
Expected property shorthand
Test & Lint Server: server/src/services/library.service.ts#L362
Expected property shorthand
Test & Lint Server: server/src/services/library.service.ts#L442
Missing braces in case clause
Test & Lint Server: server/src/services/library.service.ts#L445
Missing braces in case clause
Test & Lint Server: server/src/services/library.service.ts#L451
Use `.length > 0` when checking length is not zero
Test & Lint Server: server/src/services/library.service.ts#L459
Use `.length > 0` when checking length is not zero
src/services/library.service.spec.ts > LibraryService > handleQueueSyncFiles > should queue refresh of a new asset: server/src/services/library.service.spec.ts#L180
AssertionError: expected "spy" to be called with arguments: [ [ { …(2) } ] ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:180:32
src/services/library.service.spec.ts > LibraryService > handleQueueRemoveDeleted > should queue online check of existing assets: server/src/services/library.service.ts#L624
TypeError: this.assetRepository.getAssetCount is not a function ❯ LibraryService.handleQueueSyncAssets src/services/library.service.ts:624:51 ❯ src/services/library.service.spec.ts:230:7
src/services/library.service.spec.ts > LibraryService > handleSyncAsset > should skip missing assets: server/src/services/library.service.spec.ts#L261
AssertionError: expected 'success' to be 'skipped' // Object.is equality Expected: "skipped" Received: "success" ❯ src/services/library.service.spec.ts:261:7
src/services/library.service.spec.ts > LibraryService > handleSyncAsset > should offline assets no longer on disk: server/src/services/library.service.spec.ts#L278
AssertionError: expected "spy" to be called with arguments: [ [ 'asset-id' ], …(1) ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:278:35
src/services/library.service.spec.ts > LibraryService > handleSyncAsset > should offline assets matching an exclusion pattern: server/src/services/library.service.spec.ts#L294
AssertionError: expected "spy" to be called with arguments: [ [ 'asset-id' ], …(1) ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:294:35
src/services/library.service.spec.ts > LibraryService > handleSyncAsset > should set assets outside of import paths as offline: server/src/services/library.service.spec.ts#L312
AssertionError: expected "spy" to be called with arguments: [ [ 'asset-id' ], …(1) ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:312:35
src/services/library.service.spec.ts > LibraryService > handleSyncAsset > should un-trash an asset previously marked as offline: server/src/services/library.service.spec.ts#L345
AssertionError: expected "spy" to be called with arguments: [ [ 'asset-id' ], …(1) ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:345:35
src/services/library.service.spec.ts > LibraryService > should update file when mtime has changed: server/src/services/library.service.spec.ts#L368
AssertionError: expected "spy" to be called with arguments: [ [ 'asset-id' ], { …(5) } ] Received: Number of calls: 0 ❯ src/services/library.service.spec.ts:368:33
src/services/library.service.spec.ts > LibraryService > handleSyncFile > should import a new asset: server/src/services/library.service.spec.ts#L401
TypeError: sut.handleSyncFile is not a function ❯ src/services/library.service.spec.ts:401:24
src/services/library.service.spec.ts > LibraryService > handleSyncFile > should import a new asset with sidecar: server/src/services/library.service.spec.ts#L448
TypeError: sut.handleSyncFile is not a function ❯ src/services/library.service.spec.ts:448:24
src/api/specs/library.e2e-spec.ts > /libraries > GET /libraries/:id/statistics > should require authentication: e2e/src/api/specs/library.e2e-spec.ts#L275
AssertionError: expected 404 to be 401 // Object.is equality - Expected + Received - 401 + 404 ❯ src/api/specs/library.e2e-spec.ts:275:22
src/api/specs/library.e2e-spec.ts > /libraries > POST /libraries/:id/scan > should not reimport unmodified files: e2e/src/api/specs/library.e2e-spec.ts#L467
AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1 ❯ src/api/specs/library.e2e-spec.ts:467:28
src/api/specs/library.e2e-spec.ts > /libraries > POST /libraries/:id/scan > should set an asset offline if its file is covered by an exclusion pattern: e2e/src/api/specs/library.e2e-spec.ts#L567
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/api/specs/library.e2e-spec.ts:567:38
src/api/specs/library.e2e-spec.ts > /libraries > POST /libraries/:id/scan > should not set an asset offline if its file exists, is in an import path, and not covered by an exclusion pattern: e2e/src/api/specs/library.e2e-spec.ts#L602
AssertionError: expected { total: 2, count: 2, …(3) } to deeply equal { total: 2, count: 2, …(3) } - Expected + Received Object { "count": 2, "facets": Array [], "items": Array [ Object { "checksum": "M2FwQNSs1Ni7hYZDAvy1Fl9YXKs=", "deviceAssetId": "assetB.png", "deviceId": "Library Import", "duplicateId": null, "duration": "0:00:00.00000", "fileCreatedAt": "1900-01-01T00:00:00.000Z", "fileModifiedAt": "1900-01-01T00:00:00.000Z", "hasMetadata": true, "id": "c8f84a36-6091-4046-a8a8-0947afdc1f13", "isArchived": false, "isFavorite": false, "isOffline": false, "isTrashed": false, "libraryId": "85346036-6e72-4291-a32f-f4e1038780af", "livePhotoVideoId": null, "localDateTime": "1900-01-01T00:00:00.000Z", "originalFileName": "assetB.png", "originalMimeType": "image/png", "originalPath": "/test-assets/temp/directoryB/assetB.png", "ownerId": "1f0621bf-b2a5-459a-8ca4-c082388bdc97", "people": Array [], "resized": true, "thumbhash": null, "type": "IMAGE", - "updatedAt": "2024-12-18T10:39:48.633Z", + "updatedAt": "2024-12-18T10:39:48.861Z", }, Object { "checksum": "hNpZqb2K/xOq4imfDL1cjDcsFUc=", "deviceAssetId": "assetA.png", "deviceId": "Library Import", "duplicateId": null, "duration": "0:00:00.00000", "fileCreatedAt": "1900-01-01T00:00:00.000Z", "fileModifiedAt": "1900-01-01T00:00:00.000Z", "hasMetadata": true, "id": "92268eaa-9c48-43d2-b7a9-ec2b07aaa348", "isArchived": false, "isFavorite": false, "isOffline": false, "isTrashed": false, "libraryId": "85346036-6e72-4291-a32f-f4e1038780af", "livePhotoVideoId": null, "localDateTime": "1900-01-01T00:00:00.000Z", "originalFileName": "assetA.png", "originalMimeType": "image/png", "originalPath": "/test-assets/temp/directoryA/assetA.png", "ownerId": "1f0621bf-b2a5-459a-8ca4-c082388bdc97", "people": Array [], "resized": true, "thumbhash": null, "type": "IMAGE", - "updatedAt": "2024-12-18T10:39:48.633Z", + "updatedAt": "2024-12-18T10:39:48.859Z", }, ], "nextPage": null, "total": 2, } ❯ src/api/specs/library.e2e-spec.ts:602:22
src/api/specs/library.e2e-spec.ts > /libraries > POST /libraries/:id/scan > should not set an offline asset to online if its file exists, is in an import path, but is covered by an exclusion pattern: e2e/src/api/specs/library.e2e-spec.ts#L784
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/api/specs/library.e2e-spec.ts:784:43
src/api/specs/trash.e2e-spec.ts > /trash > POST /trash/empty > should not delete offline-trashed assets from disk: e2e/src/api/specs/trash.e2e-spec.ts#L106
Error: Error: 400 ❯ Object.y [as ok] ../open-api/typescript-sdk/node_modules/@oazapfts/src/index.ts:71:9 ❯ src/api/specs/trash.e2e-spec.ts:106:26 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 400, data: { message: 'Not found or no asset.read access', error: 'Bad Request', statusCode: 400, correlationId: 'anvt2psg' }, headers: { constructor: 'Function<Headers>', append: 'Function<append>', delete: 'Function<delete>', get: 'Function<get>', has: 'Function<has>', set: 'Function<set>', getSetCookie: 'Function<getSetCookie>', keys: 'Function<keys>', values: 'Function<values>', entries: 'Function<entries>', forEach: 'Function<forEach>' } }
src/api/specs/trash.e2e-spec.ts > /trash > POST /trash/restore/assets > should not restore an offline-trashed asset: e2e/src/api/specs/trash.e2e-spec.ts#L228
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/api/specs/trash.e2e-spec.ts:228:31
End-to-End Tests (Server & CLI)
Process completed with exit code 1.
ShellCheck
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
pre-job
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Unit Test CLI
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
End-to-End Lint
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
OpenAPI Clients
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
TypeORM Checks
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Unit Test Mobile
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Test & Lint Server
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Test & Lint Web
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636