From a47a5e5cd56339e5c496456925a2aec97345e2d6 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 15 Apr 2025 19:38:33 -0400 Subject: [PATCH] add 0013-metrics-track-unidentified-innertube-errors.patch and 0014-metrics-add-more-errors.patch --- patches/0001-ci-update-deno-to-2.2.10.patch | 4 +- ...-for-an-external-videoplayback-proxy.patch | 4 +- ...external-videoplayback-proxy-via-inf.patch | 4 +- ...ion-limit-on-DASH-streams-to-save-ba.patch | 4 +- ...-env-variable-to-set-verify_requests.patch | 4 +- ...eat-add-support-for-multiple-proxies.patch | 4 +- ...-to-disable-potoken-generation-check.patch | 4 +- ...add-proxy-retries-on-innertube-error.patch | 4 +- .../0009-add-metrics-for-proxy-retries.patch | 4 +- ...10-fix-fix-tokio-overflow-on-compile.patch | 4 +- ...variable-for-youtube_session.frequen.patch | 4 +- .../0012-add-option-to-disable-logging.patch | 4 +- ...-track-unidentified-innertube-errors.patch | 163 ++++++++++-------- patches/0014-metrics-add-more-errors.patch | 99 +++++++++++ ...improve-container-image-build-times.patch} | 4 +- 15 files changed, 212 insertions(+), 102 deletions(-) create mode 100644 patches/0014-metrics-add-more-errors.patch rename patches/{0014-ci-improve-container-image-build-times.patch => 0015-ci-improve-container-image-build-times.patch} (92%) diff --git a/patches/0001-ci-update-deno-to-2.2.10.patch b/patches/0001-ci-update-deno-to-2.2.10.patch index 8cfaa8b..2af00ea 100644 --- a/patches/0001-ci-update-deno-to-2.2.10.patch +++ b/patches/0001-ci-update-deno-to-2.2.10.patch @@ -1,7 +1,7 @@ -From f813d76c7b7b3e2627c1a5819540df0273e92432 Mon Sep 17 00:00:00 2001 +From 6097b8cf2bb2369e28cb360578f10796a60c7795 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:37:34 -0300 -Subject: [PATCH 01/14] ci: update deno to 2.2.10 +Subject: [PATCH 01/15] ci: update deno to 2.2.10 --- Dockerfile | 2 +- diff --git a/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch b/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch index 9aa71a6..9f222aa 100644 --- a/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch +++ b/patches/0002-feat-add-support-for-an-external-videoplayback-proxy.patch @@ -1,7 +1,7 @@ -From dcb9a4c1f8a3a4f41616fc0b71f3d0bd18e1cc84 Mon Sep 17 00:00:00 2001 +From 47ce40eddb29252a3e3a92861db1dd131de3f594 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:44:10 -0300 -Subject: [PATCH 02/14] feat: add support for an external videoplayback proxy +Subject: [PATCH 02/15] feat: add support for an external videoplayback proxy --- config/config.example.toml | 1 + diff --git a/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch b/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch index 8b0b7f5..a6fbfa4 100644 --- a/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch +++ b/patches/0003-feat-report-the-external-videoplayback-proxy-via-inf.patch @@ -1,7 +1,7 @@ -From e5c325ce9068bad9b703d4303955525cfa6fa02b Mon Sep 17 00:00:00 2001 +From 4f44c539943140ac416989f11eee5a98c5a52d3b Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 18:52:53 -0300 -Subject: [PATCH 03/14] feat: report the external videoplayback proxy via /info +Subject: [PATCH 03/15] feat: report the external videoplayback proxy via /info endpoint --- diff --git a/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch b/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch index e94252f..cea2831 100644 --- a/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch +++ b/patches/0004-feat-add-resolution-limit-on-DASH-streams-to-save-ba.patch @@ -1,7 +1,7 @@ -From 02c6d11dddeb5b4517749efb9649715e060c39b3 Mon Sep 17 00:00:00 2001 +From 72b7cc213b4afe510f530990f252913c0003af15 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:02:01 -0300 -Subject: [PATCH 04/14] feat: add resolution limit on DASH streams to save +Subject: [PATCH 04/15] feat: add resolution limit on DASH streams to save bandwidth --- diff --git a/patches/0005-feat-add-env-variable-to-set-verify_requests.patch b/patches/0005-feat-add-env-variable-to-set-verify_requests.patch index 553d762..6f8abdf 100644 --- a/patches/0005-feat-add-env-variable-to-set-verify_requests.patch +++ b/patches/0005-feat-add-env-variable-to-set-verify_requests.patch @@ -1,7 +1,7 @@ -From c4d1b1a5237519f61bd1b2f4f710c4ff121ae044 Mon Sep 17 00:00:00 2001 +From 459e129d76649ab6f542997bfbe9a2ff479ade85 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:06:04 -0300 -Subject: [PATCH 05/14] feat: add env variable to set verify_requests +Subject: [PATCH 05/15] feat: add env variable to set verify_requests --- src/lib/helpers/config.ts | 4 +++- diff --git a/patches/0006-feat-add-support-for-multiple-proxies.patch b/patches/0006-feat-add-support-for-multiple-proxies.patch index adc4973..bee6572 100644 --- a/patches/0006-feat-add-support-for-multiple-proxies.patch +++ b/patches/0006-feat-add-support-for-multiple-proxies.patch @@ -1,7 +1,7 @@ -From 4c15fe0647cdb65dd5096abd0055f551fb1279d9 Mon Sep 17 00:00:00 2001 +From 756b8f855e2dd075c3fbe2608d42e65a0d1ff75e Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 19:20:52 -0300 -Subject: [PATCH 06/14] feat: add support for multiple proxies +Subject: [PATCH 06/15] feat: add support for multiple proxies --- src/lib/helpers/getFetchClient.ts | 17 ++++++++++++++++- diff --git a/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch b/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch index 5ee3ade..627e041 100644 --- a/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch +++ b/patches/0007-feat-add-option-to-disable-potoken-generation-check.patch @@ -1,7 +1,7 @@ -From 04b2d1b14e126f110239603f897b837f25c46461 Mon Sep 17 00:00:00 2001 +From 430f56a70febeb210b3fa778dea723b0d8bb0544 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Mon, 24 Mar 2025 20:34:33 -0300 -Subject: [PATCH 07/14] feat: add option to disable potoken generation check +Subject: [PATCH 07/15] feat: add option to disable potoken generation check --- config/config.example.toml | 1 + diff --git a/patches/0008-add-proxy-retries-on-innertube-error.patch b/patches/0008-add-proxy-retries-on-innertube-error.patch index 9f0e298..0f8bdd2 100644 --- a/patches/0008-add-proxy-retries-on-innertube-error.patch +++ b/patches/0008-add-proxy-retries-on-innertube-error.patch @@ -1,7 +1,7 @@ -From 57e891ca1e0405bfeb4d73114098d89d75149caf Mon Sep 17 00:00:00 2001 +From bd911e4a62caf445c6130b88a15a0a4320ba7cb4 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:04:47 -0300 -Subject: [PATCH 08/14] add proxy retries on innertube error +Subject: [PATCH 08/15] add proxy retries on innertube error --- src/lib/helpers/config.ts | 1 + diff --git a/patches/0009-add-metrics-for-proxy-retries.patch b/patches/0009-add-metrics-for-proxy-retries.patch index ea01153..2921ecd 100644 --- a/patches/0009-add-metrics-for-proxy-retries.patch +++ b/patches/0009-add-metrics-for-proxy-retries.patch @@ -1,7 +1,7 @@ -From 44b89748a577274682f291ab05097acad0488151 Mon Sep 17 00:00:00 2001 +From d821439a2acc0b9372ce85092d0a97d640db6e86 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:07:28 -0300 -Subject: [PATCH 09/14] add metrics for proxy retries +Subject: [PATCH 09/15] add metrics for proxy retries --- src/lib/helpers/metrics.ts | 5 +++++ diff --git a/patches/0010-fix-fix-tokio-overflow-on-compile.patch b/patches/0010-fix-fix-tokio-overflow-on-compile.patch index be1434e..9eda663 100644 --- a/patches/0010-fix-fix-tokio-overflow-on-compile.patch +++ b/patches/0010-fix-fix-tokio-overflow-on-compile.patch @@ -1,7 +1,7 @@ -From 6f91b54bdf136d57100c7522e81495d1d918807d Mon Sep 17 00:00:00 2001 +From aa870191d360deb13242ed9ed850cc3a84e3c17f Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 25 Mar 2025 00:24:07 -0300 -Subject: [PATCH 10/14] fix: fix tokio overflow on compile +Subject: [PATCH 10/15] fix: fix tokio overflow on compile --- Dockerfile | 2 ++ diff --git a/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch b/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch index dc22313..acc97fc 100644 --- a/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch +++ b/patches/0011-Add-environment-variable-for-youtube_session.frequen.patch @@ -1,7 +1,7 @@ -From 006b487781fb692ffd2e7079415c1138386b42cd Mon Sep 17 00:00:00 2001 +From 94a10f097341f2118ab8b67cb47802a115b2141f Mon Sep 17 00:00:00 2001 From: Fijxu Date: Wed, 26 Mar 2025 12:24:49 -0300 -Subject: [PATCH 11/14] Add environment variable for youtube_session.frequency +Subject: [PATCH 11/15] Add environment variable for youtube_session.frequency --- src/lib/helpers/config.ts | 4 +++- diff --git a/patches/0012-add-option-to-disable-logging.patch b/patches/0012-add-option-to-disable-logging.patch index 5741584..0465f47 100644 --- a/patches/0012-add-option-to-disable-logging.patch +++ b/patches/0012-add-option-to-disable-logging.patch @@ -1,7 +1,7 @@ -From f183210a4d5448418386ad1a4f47eb4235d31e16 Mon Sep 17 00:00:00 2001 +From faf7a41daae9c470a4d9eefdb92f626ed91ac4b5 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 8 Apr 2025 02:21:10 -0400 -Subject: [PATCH 12/14] add option to disable logging +Subject: [PATCH 12/15] add option to disable logging --- src/lib/helpers/config.ts | 7 ++++++- diff --git a/patches/0013-metrics-track-unidentified-innertube-errors.patch b/patches/0013-metrics-track-unidentified-innertube-errors.patch index ef7a2c4..abc03f3 100644 --- a/patches/0013-metrics-track-unidentified-innertube-errors.patch +++ b/patches/0013-metrics-track-unidentified-innertube-errors.patch @@ -1,46 +1,21 @@ -From 47c2f3b7d94185f96d2e2e0e576b83b92a7d35f2 Mon Sep 17 00:00:00 2001 +From dc22979ab91e2275f367823d9babe7b9fc3d0301 Mon Sep 17 00:00:00 2001 From: Fijxu -Date: Wed, 9 Apr 2025 13:37:16 -0400 -Subject: [PATCH 13/14] metrics: track unidentified innertube errors +Date: Mon, 14 Apr 2025 01:24:57 -0400 +Subject: [PATCH 13/15] metrics: track unidentified innertube errors --- - src/lib/helpers/config.ts | 4 ++ - src/lib/helpers/metrics.ts | 117 +++++++++++++++++++++++++++++++------ - src/main.ts | 4 +- - 3 files changed, 106 insertions(+), 19 deletions(-) + src/lib/helpers/metrics.ts | 142 +++++++++++++++++++++++++++++-------- + 1 file changed, 111 insertions(+), 31 deletions(-) -diff --git a/src/lib/helpers/config.ts b/src/lib/helpers/config.ts -index acb04bb..20e5560 100644 ---- a/src/lib/helpers/config.ts -+++ b/src/lib/helpers/config.ts -@@ -23,6 +23,10 @@ export const ConfigSchema = z.object({ - disable_logs: z.boolean().default( - Deno.env.get("SERVER_DISABLE_LOGS") === "true" || false, - ), -+ track_unknown_innertube_errors: z.boolean().default( -+ Deno.env.get("SERVER_TRACK_UNKNOWN_INNERTUBE_ERRORS") === "true" || -+ false, -+ ), - }).strict().default({}), - cache: z.object({ - enabled: z.boolean().default(true), diff --git a/src/lib/helpers/metrics.ts b/src/lib/helpers/metrics.ts -index 5dee540..c22c792 100644 +index 5dee540..2464fe7 100644 --- a/src/lib/helpers/metrics.ts +++ b/src/lib/helpers/metrics.ts -@@ -2,14 +2,24 @@ import { IRawResponse } from "youtubei.js"; - import { Counter, Registry } from "prom-client"; - - export class Metrics { -+ trackUnknownInnertubeErrors: boolean; +@@ -5,11 +5,16 @@ export class Metrics { private METRICS_PREFIX = "invidious_companion_"; public register = new Registry(); - public createCounter(name: string, help?: string): Counter { -+ constructor(trackUnknownInnertubeErrors: boolean) { -+ this.trackUnknownInnertubeErrors = trackUnknownInnertubeErrors; -+ } -+ + public createCounter( + name: string, + help?: string, @@ -54,7 +29,7 @@ index 5dee540..c22c792 100644 }); } -@@ -26,6 +36,7 @@ export class Metrics { +@@ -26,6 +31,7 @@ export class Metrics { private innertubeErrorStatusUnknown = this.createCounter( "innertube_error_status_unknown_total", "Number of times that an unknown status has been returned by Innertube API", @@ -62,7 +37,21 @@ index 5dee540..c22c792 100644 ); private innertubeErrorReasonSignIn = this.createCounter( -@@ -66,26 +77,62 @@ export class Metrics { +@@ -41,11 +47,13 @@ export class Metrics { + private innertubeErrorReasonUnknown = this.createCounter( + "innertube_error_reason_unknown_total", + "Number of times that an unknown reason has been returned by the Innertube API", ++ ["error"], + ); + + private innertubeErrorSubreasonUnknown = this.createCounter( + "innertube_error_subreason_unknown_total", + "Number of times that an unknown subreason has been returned by the Innertube API", ++ ["error"], + ); + + public innertubeSuccessfulRequest = this.createCounter( +@@ -66,26 +74,70 @@ export class Metrics { private checkStatus(videoData: IRawResponse) { const status = videoData.playabilityStatus?.status; @@ -90,6 +79,8 @@ index 5dee540..c22c792 100644 + case "UNPLAYABLE": + error.unplayable = true; + return error; ++ // Sensitive content videos ++ // Example video id: `VuSU7PcEKpU` + case "CONTENT_CHECK_REQUIRED": + error.contentCheckRequired = true; + return error; @@ -103,8 +94,8 @@ index 5dee540..c22c792 100644 } private checkReason(videoData: IRawResponse) { - const reason = videoData.playabilityStatus?.reason; - +- const reason = videoData.playabilityStatus?.reason; +- - return { - signInToConfirmAge: reason?.includes( - "Sign in to confirm your age", @@ -112,6 +103,13 @@ index 5dee540..c22c792 100644 - SignInToConfirmBot: reason?.includes( - "Sign in to confirm you’re not a bot", - ), ++ // On specific status like `CONTENT_CHECK_REQUIRED`, the reason is ++ // contained inside `errorScreen`, just like how we check subReason. ++ const reason = videoData.playabilityStatus?.reason || ++ videoData.playabilityStatus?.errorScreen ++ ?.playerErrorMessageRenderer ++ ?.reason?.simpleText; ++ + interface Error { + signInToConfirmAge: boolean; + SignInToConfirmBot: boolean; @@ -125,12 +123,13 @@ index 5dee540..c22c792 100644 }; + + switch (true) { -+ case reason?.includes("Sign in to confirm your age"): -+ error.signInToConfirmAge = true; -+ return error; + case reason?.includes("Sign in to confirm you’re not a bot"): + error.SignInToConfirmBot = true; + return error; ++ // Age restricted videos ++ case reason?.includes("Sign in to confirm your age"): ++ error.signInToConfirmAge = true; ++ return error; + default: + error.unknown = reason; + return error; @@ -138,7 +137,7 @@ index 5dee540..c22c792 100644 } private checkSubreason(videoData: IRawResponse) { -@@ -93,17 +140,51 @@ export class Metrics { +@@ -93,39 +145,67 @@ export class Metrics { ?.playerErrorMessageRenderer ?.subreason?.runs?.[0]?.text; @@ -168,47 +167,59 @@ index 5dee540..c22c792 100644 public checkInnertubeResponse(videoData: IRawResponse) { this.innertubeFailedRequest.inc(); - const status = this.checkStatus(videoData); +- const status = this.checkStatus(videoData); -+ if (this.trackUnknownInnertubeErrors) { -+ if (status?.unknown) { -+ this.innertubeErrorStatusUnknown.labels({ -+ error: status.unknown, -+ }).inc(); -+ const reason = this.checkReason(videoData); -+ if (reason) { -+ this.innertubeErrorReasonUnknown.labels({ -+ error: status.unknown, -+ }).inc(); -+ const subReason = this.checkSubreason(videoData); -+ if (subReason) { -+ this.innertubeErrorStatusUnknown.labels({ -+ error: status.unknown, -+ }).inc(); -+ } -+ } -+ return; -+ } -+ } -+ ++ const status = this.checkStatus(videoData); if (status.contentCheckRequired || status.unplayable) return; ++ if (status?.unknown) { ++ this.innertubeErrorStatusUnknown.labels({ ++ error: status.unknown, ++ }).inc(); ++ } ++ ++ const reason = this.checkReason(videoData); ++ if (reason.signInToConfirmAge) return; ++ ++ if (reason.unknown) { ++ this.innertubeErrorReasonUnknown.labels({ ++ error: reason.unknown, ++ }).inc(); ++ } ++ ++ // On specific `playabilityStatus.status` like `CONTENT_CHECK_REQUIRED`, ++ // `subReason` doesn't come with a `playabilityStatus.reason` ++ // key. So we need to check this separately from `reason` ++ const subReason = this.checkSubreason(videoData); ++ if (subReason.unknown) { ++ this.innertubeErrorSubreasonUnknown.labels({ ++ error: subReason.unknown, ++ }).inc(); ++ } ++ if (status.loginRequired) { -diff --git a/src/main.ts b/src/main.ts -index f659d97..84ef286 100644 ---- a/src/main.ts -+++ b/src/main.ts -@@ -27,7 +27,9 @@ declare module "hono" { - interface ContextVariableMap extends HonoVariables {} - } - const app = new Hono(); --const metrics = config.server.enable_metrics ? new Metrics() : undefined; -+const metrics = config.server.enable_metrics -+ ? new Metrics(config.server.track_unknown_innertube_errors) -+ : undefined; + this.innertubeErrorStatusLoginRequired.inc(); +- const reason = this.checkReason(videoData); +- +- if (reason.signInToConfirmAge) return; - let tokenMinter: TokenMinter; - let innertubeClient: Innertube; + if (reason.SignInToConfirmBot) { + this.innertubeErrorReasonSignIn.inc(); +- const subReason = this.checkSubreason(videoData); + + if (subReason.thisHelpsProtectCommunity) { + this.innertubeErrorSubreasonProtectCommunity.inc(); +- } else { +- this.innertubeErrorSubreasonUnknown.inc(); + } +- } else { +- this.innertubeErrorReasonUnknown.inc(); + } +- } else { +- this.innertubeErrorStatusUnknown.inc(); + } + } + } -- 2.49.0 diff --git a/patches/0014-metrics-add-more-errors.patch b/patches/0014-metrics-add-more-errors.patch new file mode 100644 index 0000000..95c0662 --- /dev/null +++ b/patches/0014-metrics-add-more-errors.patch @@ -0,0 +1,99 @@ +From f99728a40b9950a1130d99ee2a6ef29768f3afc9 Mon Sep 17 00:00:00 2001 +From: Fijxu +Date: Mon, 14 Apr 2025 01:25:40 -0400 +Subject: [PATCH 14/15] metrics: add more errors + +Added reason and subreason for sentitive content videos ("CONTENT_CHECK_REQUIRED") + +fix: fix typo: `SignInToConfirmBot` -> `signInToConfirmBot` +--- + src/lib/helpers/metrics.ts | 32 ++++++++++++++++++++++++++++---- + 1 file changed, 28 insertions(+), 4 deletions(-) + +diff --git a/src/lib/helpers/metrics.ts b/src/lib/helpers/metrics.ts +index 2464fe7..e1b0b73 100644 +--- a/src/lib/helpers/metrics.ts ++++ b/src/lib/helpers/metrics.ts +@@ -116,24 +116,32 @@ export class Metrics { + + interface Error { + signInToConfirmAge: boolean; +- SignInToConfirmBot: boolean; ++ signInToConfirmBot: boolean; ++ selfHarmTopics: boolean; + unknown: string | undefined; + } + + const error: Error = { + signInToConfirmAge: false, +- SignInToConfirmBot: false, ++ signInToConfirmBot: false, ++ selfHarmTopics: false, + unknown: undefined, + }; + + switch (true) { + case reason?.includes("Sign in to confirm you’re not a bot"): +- error.SignInToConfirmBot = true; ++ error.signInToConfirmBot = true; + return error; + // Age restricted videos + case reason?.includes("Sign in to confirm your age"): + error.signInToConfirmAge = true; + return error; ++ // For videos with playabilityStatus.status == `CONTENT_CHECK_REQUIRED` ++ case reason?.includes( ++ "The following content may contain suicide or self-harm topics", ++ ): ++ error.selfHarmTopics = true; ++ return error; + default: + error.unknown = reason; + return error; +@@ -147,11 +155,15 @@ export class Metrics { + + interface Error { + thisHelpsProtectCommunity: boolean; ++ thisVideoMayBeInnapropiate: boolean; ++ viewerDiscretionAdvised: boolean; + unknown: string | undefined; + } + + const error: Error = { + thisHelpsProtectCommunity: false, ++ thisVideoMayBeInnapropiate: false, ++ viewerDiscretionAdvised: false, + unknown: undefined, + }; + +@@ -159,6 +171,18 @@ export class Metrics { + case subReason?.includes("This helps protect our community"): + error.thisHelpsProtectCommunity = true; + return error; ++ // Age restricted videos ++ case subReason?.includes( ++ "This video may be inappropriate for some users", ++ ): ++ error.thisVideoMayBeInnapropiate = true; ++ return error; ++ // For videos with playabilityStatus.status == `CONTENT_CHECK_REQUIRED` ++ case subReason?.includes( ++ "Viewer discretion is advised", ++ ): ++ error.viewerDiscretionAdvised = true; ++ return error; + default: + error.unknown = subReason; + return error; +@@ -199,7 +223,7 @@ export class Metrics { + if (status.loginRequired) { + this.innertubeErrorStatusLoginRequired.inc(); + +- if (reason.SignInToConfirmBot) { ++ if (reason.signInToConfirmBot) { + this.innertubeErrorReasonSignIn.inc(); + + if (subReason.thisHelpsProtectCommunity) { +-- +2.49.0 + diff --git a/patches/0014-ci-improve-container-image-build-times.patch b/patches/0015-ci-improve-container-image-build-times.patch similarity index 92% rename from patches/0014-ci-improve-container-image-build-times.patch rename to patches/0015-ci-improve-container-image-build-times.patch index d480d52..316620f 100644 --- a/patches/0014-ci-improve-container-image-build-times.patch +++ b/patches/0015-ci-improve-container-image-build-times.patch @@ -1,7 +1,7 @@ -From bfb146eb36da60b3e5cb078ffb4b875e7a28887a Mon Sep 17 00:00:00 2001 +From 5538e30c2aff030b667fdf7e8d79d77978bc9ba5 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 15 Apr 2025 19:20:52 -0400 -Subject: [PATCH 14/14] ci: improve container image build times +Subject: [PATCH 15/15] ci: improve container image build times --- .github/workflows/docker-build-push.yaml | 2 ++