feat(server): library refresh go brrr #28143
test.yml
on: pull_request
pre-job
8s
Test & Lint Server
1m 47s
Unit Test CLI
21s
Unit Test CLI (Windows)
1m 11s
Test & Lint Web
4m 38s
End-to-End Lint
34s
Medium Tests (Server)
1m 54s
End-to-End Tests (Server & CLI)
3m 21s
End-to-End Tests (Web)
3m 10s
Unit Test Mobile
1m 29s
Unit Test ML
0s
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 not covered by an exclusion pattern, but is outside of all import paths:
e2e/src/api/specs/library.e2e-spec.ts#L720
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ src/api/specs/library.e2e-spec.ts:720:43
|
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
|