Skip to content

refactor: migrate shared-link repository to kysely #28931

refactor: migrate shared-link repository to kysely

refactor: migrate shared-link repository to kysely #28931

Triggered via pull request January 12, 2025 21:39
Status Failure
Total duration 3m 56s
Artifacts

test.yml

on: pull_request
Test & Lint Server
2m 1s
Test & Lint Server
Unit Test CLI
0s
Unit Test CLI
Unit Test CLI (Windows)
0s
Unit Test CLI (Windows)
Test & Lint Web
0s
Test & Lint Web
End-to-End Lint
0s
End-to-End Lint
Medium Tests (Server)
2m 4s
Medium Tests (Server)
End-to-End Tests (Server & CLI)
3m 32s
End-to-End Tests (Server & CLI)
End-to-End Tests (Web)
0s
End-to-End Tests (Web)
Unit Test Mobile
0s
Unit Test Mobile
Unit Test ML
0s
Unit Test ML
Fit to window
Zoom out
Zoom in

Annotations

11 errors and 5 warnings
TypeORM Checks
Process completed with exit code 1.
src/api/specs/asset.e2e-spec.ts > /asset > GET /assets/:id > should work with a shared link: e2e/src/api/specs/asset.e2e-spec.ts#L297
AssertionError: expected 401 to be 200 // Object.is equality - Expected + Received - 200 + 401 ❯ src/api/specs/asset.e2e-spec.ts:297:22
src/api/specs/asset.e2e-spec.ts > /asset > GET /assets/:id > should not send people data for shared links for un-authenticated users: e2e/src/api/specs/asset.e2e-spec.ts#L327
AssertionError: expected 401 to be 200 // Object.is equality - Expected + Received - 200 + 401 ❯ src/api/specs/asset.e2e-spec.ts:327:27
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /share/${key} > should have correct asset count in meta tag for non-empty album: e2e/src/api/specs/shared-link.e2e-spec.ts#L97
AssertionError: expected '<!doctype html>\n<html>\n <head>\n …' to contain '<meta name="description" content="1 s…' - Expected + Received - <meta name="description" content="1 shared photos & videos" /> + <!doctype html> + <html> + <head> + <!-- (used for SSR) --> + <!-- metadata:tags --> + + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" /> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> + <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48.png" /> + <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png" /> + <link rel="icon" type="image/png" sizes="144x144" href="/favicon-144.png" /> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180.png" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/Overpass.DCP28BvT.ttf" crossorigin="anonymous" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/OverpassMono.XkUhFDDw.ttf" crossorigin="anonymous" /> + + <link rel="modulepreload" href="/_app/immutable/entry/start.B1uboJ1F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/entry.CFKZ18YA.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index-client.Bq_4at91.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index.BFqC5wTN.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/control.CYgJF_JY.js"> + <link rel="modulepreload" href="/_app/immutable/entry/app.CFWAk5sG.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/preload-helper.C1FmrZbK.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-client.DqMPutSq.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-errors.CAIzt49F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/legacy-client.BO5A-5fP.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/if.Cw0s6vaE.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/disclose-version.Bg9kRutz.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/svelte-component.2Np7AOWv.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/this.BAuFNLfh.js"> + <style> + /* prevent FOUC */ + html { + height: 100%; + width: 100%; + } + + body, + html { + margin: 0; + padding: 0; + } + + @Keyframes delayedVisibility { + to { + visibility: visible; + } + } + + @Keyframes loadspin { + 100% { + transform: rotate(360deg); + } + } + + #stencil { + --stencil-width: 150px; + display: flex; + width: var(--stencil-width); + margin-left: auto; + margin-right: auto; + margin-top: calc(50vh - var(--stencil-width) / 2); + margin-bottom: 100vh; + place-items: center; + justify-content: center; + overflow: hidden; + visibility: hidden; + animation: + 0s linear 0.3s forwards delayedVisibility, + loadspin 8s linear infinite; + } + + .bg-immich-bg { + background-color: white; + } + + .dark .dark\:bg-immich-dark-bg { + background-color: black; + } + </style> + <script> + /** + * Prevent FOUC on page load. + */ + const colorThemeKeyName = 'color-theme'; + + let theme = localStorage.getItem(colorThemeKeyName); + if (!theme) { + theme = { value: 'light', system: true }; + } else if (theme === 'dark' || theme === 'light') { + theme = { value: theme, system: false }; + localStorage.setItem(colorThemeKeyName, JSON.stringify(theme)); + } else { + theme = JSON.parse(theme); + } + + let themeValue = theme.value; + if (theme.system
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /share/${key} > should have correct asset count in meta tag for empty album: e2e/src/api/specs/shared-link.e2e-spec.ts#L106
AssertionError: expected '<!doctype html>\n<html>\n <head>\n …' to contain '<meta name="description" content="0 s…' - Expected + Received - <meta name="description" content="0 shared photos & videos" /> + <!doctype html> + <html> + <head> + <!-- (used for SSR) --> + <!-- metadata:tags --> + + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" /> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> + <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48.png" /> + <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png" /> + <link rel="icon" type="image/png" sizes="144x144" href="/favicon-144.png" /> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180.png" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/Overpass.DCP28BvT.ttf" crossorigin="anonymous" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/OverpassMono.XkUhFDDw.ttf" crossorigin="anonymous" /> + + <link rel="modulepreload" href="/_app/immutable/entry/start.B1uboJ1F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/entry.CFKZ18YA.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index-client.Bq_4at91.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index.BFqC5wTN.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/control.CYgJF_JY.js"> + <link rel="modulepreload" href="/_app/immutable/entry/app.CFWAk5sG.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/preload-helper.C1FmrZbK.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-client.DqMPutSq.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-errors.CAIzt49F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/legacy-client.BO5A-5fP.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/if.Cw0s6vaE.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/disclose-version.Bg9kRutz.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/svelte-component.2Np7AOWv.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/this.BAuFNLfh.js"> + <style> + /* prevent FOUC */ + html { + height: 100%; + width: 100%; + } + + body, + html { + margin: 0; + padding: 0; + } + + @Keyframes delayedVisibility { + to { + visibility: visible; + } + } + + @Keyframes loadspin { + 100% { + transform: rotate(360deg); + } + } + + #stencil { + --stencil-width: 150px; + display: flex; + width: var(--stencil-width); + margin-left: auto; + margin-right: auto; + margin-top: calc(50vh - var(--stencil-width) / 2); + margin-bottom: 100vh; + place-items: center; + justify-content: center; + overflow: hidden; + visibility: hidden; + animation: + 0s linear 0.3s forwards delayedVisibility, + loadspin 8s linear infinite; + } + + .bg-immich-bg { + background-color: white; + } + + .dark .dark\:bg-immich-dark-bg { + background-color: black; + } + </style> + <script> + /** + * Prevent FOUC on page load. + */ + const colorThemeKeyName = 'color-theme'; + + let theme = localStorage.getItem(colorThemeKeyName); + if (!theme) { + theme = { value: 'light', system: true }; + } else if (theme === 'dark' || theme === 'light') { + theme = { value: theme, system: false }; + localStorage.setItem(colorThemeKeyName, JSON.stringify(theme)); + } else { + theme = JSON.parse(theme); + } + + let themeValue = theme.value; + if (theme.system
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /share/${key} > should have correct asset count in meta tag for shared asset: e2e/src/api/specs/shared-link.e2e-spec.ts#L113
AssertionError: expected '<!doctype html>\n<html>\n <head>\n …' to contain '<meta name="description" content="1 s…' - Expected + Received - <meta name="description" content="1 shared photos & videos" /> + <!doctype html> + <html> + <head> + <!-- (used for SSR) --> + <!-- metadata:tags --> + + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" /> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> + <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48.png" /> + <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png" /> + <link rel="icon" type="image/png" sizes="144x144" href="/favicon-144.png" /> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180.png" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/Overpass.DCP28BvT.ttf" crossorigin="anonymous" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/OverpassMono.XkUhFDDw.ttf" crossorigin="anonymous" /> + + <link rel="modulepreload" href="/_app/immutable/entry/start.B1uboJ1F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/entry.CFKZ18YA.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index-client.Bq_4at91.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index.BFqC5wTN.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/control.CYgJF_JY.js"> + <link rel="modulepreload" href="/_app/immutable/entry/app.CFWAk5sG.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/preload-helper.C1FmrZbK.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-client.DqMPutSq.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-errors.CAIzt49F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/legacy-client.BO5A-5fP.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/if.Cw0s6vaE.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/disclose-version.Bg9kRutz.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/svelte-component.2Np7AOWv.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/this.BAuFNLfh.js"> + <style> + /* prevent FOUC */ + html { + height: 100%; + width: 100%; + } + + body, + html { + margin: 0; + padding: 0; + } + + @Keyframes delayedVisibility { + to { + visibility: visible; + } + } + + @Keyframes loadspin { + 100% { + transform: rotate(360deg); + } + } + + #stencil { + --stencil-width: 150px; + display: flex; + width: var(--stencil-width); + margin-left: auto; + margin-right: auto; + margin-top: calc(50vh - var(--stencil-width) / 2); + margin-bottom: 100vh; + place-items: center; + justify-content: center; + overflow: hidden; + visibility: hidden; + animation: + 0s linear 0.3s forwards delayedVisibility, + loadspin 8s linear infinite; + } + + .bg-immich-bg { + background-color: white; + } + + .dark .dark\:bg-immich-dark-bg { + background-color: black; + } + </style> + <script> + /** + * Prevent FOUC on page load. + */ + const colorThemeKeyName = 'color-theme'; + + let theme = localStorage.getItem(colorThemeKeyName); + if (!theme) { + theme = { value: 'light', system: true }; + } else if (theme === 'dark' || theme === 'light') { + theme = { value: theme, system: false }; + localStorage.setItem(colorThemeKeyName, JSON.stringify(theme)); + } else { + theme = JSON.parse(theme); + } + + let themeValue = theme.value; + if (theme.system
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /share/${key} > should have fqdn og:image meta tag for shared asset: e2e/src/api/specs/shared-link.e2e-spec.ts#L120
AssertionError: expected '<!doctype html>\n<html>\n <head>\n …' to contain '<meta property="og:image" content="ht…' - Expected + Received - <meta property="og:image" content="http:// + <!doctype html> + <html> + <head> + <!-- (used for SSR) --> + <!-- metadata:tags --> + + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" /> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> + <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48.png" /> + <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png" /> + <link rel="icon" type="image/png" sizes="144x144" href="/favicon-144.png" /> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180.png" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/Overpass.DCP28BvT.ttf" crossorigin="anonymous" /> + <link rel="preload" as="font" type="font/ttf" href="/_app/immutable/assets/OverpassMono.XkUhFDDw.ttf" crossorigin="anonymous" /> + + <link rel="modulepreload" href="/_app/immutable/entry/start.B1uboJ1F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/entry.CFKZ18YA.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index-client.Bq_4at91.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/index.BFqC5wTN.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/control.CYgJF_JY.js"> + <link rel="modulepreload" href="/_app/immutable/entry/app.CFWAk5sG.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/preload-helper.C1FmrZbK.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-client.DqMPutSq.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/fetch-errors.CAIzt49F.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/legacy-client.BO5A-5fP.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/if.Cw0s6vaE.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/disclose-version.Bg9kRutz.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/svelte-component.2Np7AOWv.js"> + <link rel="modulepreload" href="/_app/immutable/chunks/this.BAuFNLfh.js"> + <style> + /* prevent FOUC */ + html { + height: 100%; + width: 100%; + } + + body, + html { + margin: 0; + padding: 0; + } + + @Keyframes delayedVisibility { + to { + visibility: visible; + } + } + + @Keyframes loadspin { + 100% { + transform: rotate(360deg); + } + } + + #stencil { + --stencil-width: 150px; + display: flex; + width: var(--stencil-width); + margin-left: auto; + margin-right: auto; + margin-top: calc(50vh - var(--stencil-width) / 2); + margin-bottom: 100vh; + place-items: center; + justify-content: center; + overflow: hidden; + visibility: hidden; + animation: + 0s linear 0.3s forwards delayedVisibility, + loadspin 8s linear infinite; + } + + .bg-immich-bg { + background-color: white; + } + + .dark .dark\:bg-immich-dark-bg { + background-color: black; + } + </style> + <script> + /** + * Prevent FOUC on page load. + */ + const colorThemeKeyName = 'color-theme'; + + let theme = localStorage.getItem(colorThemeKeyName); + if (!theme) { + theme = { value: 'light', system: true }; + } else if (theme === 'dark' || theme === 'light') { + theme = { value: theme, system: false }; + localStorage.setItem(colorThemeKeyName, JSON.stringify(theme)); + } else { + theme = JSON.parse(theme); + } + + let themeValue = theme.value; + if (theme.system) { + if (wi
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /shared-links/me > should get data for correct shared link: e2e/src/api/specs/shared-link.e2e-spec.ts#L170
AssertionError: expected 401 to be 200 // Object.is equality - Expected + Received - 200 + 401 ❯ src/api/specs/shared-link.e2e-spec.ts:170:22
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /shared-links/me > should return unauthorized for password protected link: e2e/src/api/specs/shared-link.e2e-spec.ts#L200
AssertionError: expected { message: 'Invalid share key', …(3) } to deeply equal { error: 'Unauthorized', …(3) } - Expected + Received Object { "correlationId": Any<String>, "error": "Unauthorized", - "message": "Invalid password", + "message": "Invalid share key", "statusCode": 401, } ❯ src/api/specs/shared-link.e2e-spec.ts:200:20
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /shared-links/me > should get data for correct password protected link: e2e/src/api/specs/shared-link.e2e-spec.ts#L208
AssertionError: expected 401 to be 200 // Object.is equality - Expected + Received - 200 + 401 ❯ src/api/specs/shared-link.e2e-spec.ts:208:22
src/api/specs/shared-link.e2e-spec.ts > /shared-links > GET /shared-links/me > should return metadata for album shared link: e2e/src/api/specs/shared-link.e2e-spec.ts#L221
AssertionError: expected 401 to be 200 // Object.is equality - Expected + Received - 200 + 401 ❯ src/api/specs/shared-link.e2e-spec.ts:221:22
pre-job
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
ShellCheck
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
Test & Lint Server
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636