Skip to content

fix(client-engine-runtime): use cross-realm safe Uint8Array check - #29177

Merged
aqrln merged 6 commits into
prisma:mainfrom
omair445:fix/cross-realm-uint8array-check
Jul 24, 2026
Merged

fix(client-engine-runtime): use cross-realm safe Uint8Array check#29177
aqrln merged 6 commits into
prisma:mainfrom
omair445:fix/cross-realm-uint8array-check

Conversation

@omair445

@omair445 omair445 commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Fixes #29129

Problem

value instanceof Uint8Array fails in jsdom (and other cross-realm environments like iframes or vm contexts) because the Uint8Array constructor in the realm where the value was created is a different object than the one in the current realm.

This causes @prisma/adapter-pg to break when used with Bytes fields in jsdom-based test environments (vitest with jsdom, jest with jsdom, etc).

Fix

Added a cross-realm safe isUint8Array() helper in utils.ts that uses Object.prototype.toString.call(value) instead of instanceof:

export function isUint8Array(value: unknown): value is Uint8Array {
  return ArrayBuffer.isView(value) && Object.prototype.toString.call(value) === "[object Uint8Array]"
}

Replaced all instanceof Uint8Array checks in:

  • packages/client-engine-runtime/src/interpreter/data-mapper.ts (2 occurrences)
  • packages/client-engine-runtime/src/utils.ts (2 occurrences)

@coderabbitai

coderabbitai Bot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Summary by CodeRabbit

  • Refactor

    • Improved handling of binary data and date values across different execution contexts for more reliable equality comparisons.
    • Added centralized, cross-realm-safe utilities for detecting Uint8Array and Date, and wired them into deep/key matching.
    • Replaced fragile instanceof-based checks with safer, consistent utilities.
  • Tests

    • Added cross-realm test coverage to ensure these utilities behave correctly in separate execution contexts.

Walkthrough

Adds cross-realm-safe Uint8Array and Date type guards in runtime utilities. Updates key comparison, buffer normalization, and date normalization to use these guards instead of direct instanceof checks. Adds tests covering same-realm values, cross-realm values, rejected types, and matching behavior.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 42.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: a cross-realm-safe Uint8Array check for client-engine-runtime.
Description check ✅ Passed The description matches the changeset and explains the cross-realm Uint8Array fix and related updates.
Linked Issues check ✅ Passed The PR addresses #29129 by replacing realm-sensitive Uint8Array checks with a cross-realm-safe helper and adds coverage.
Out of Scope Changes check ✅ Passed No clearly unrelated code changes stand out; the Date helper and tests are tied to the same cross-realm utility work.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/client-engine-runtime/src/utils.ts (1)

55-65: 🧹 Nitpick | 🔵 Trivial

Consider: instanceof Date on line 59 has the same cross-realm fragility.

The PR correctly fixes Uint8Array checks, but value instanceof Date two lines below will also fail for Date objects from another realm (jsdom, iframes, vm). If this code path can receive cross-realm Date values, consider adding a similar helper (e.g., checking Object.prototype.toString.call(value) === '[object Date]').

Not blocking since the linked issue is specifically about Uint8Array, but worth a follow-up if datetime fields also surface in cross-realm tests.

@codspeed-hq

codspeed-hq Bot commented Feb 13, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 17 untouched benchmarks
⏩ 30 skipped benchmarks1


Comparing omair445:fix/cross-realm-uint8array-check (9bae7dc) with main (f2b3abd)2

Open in CodSpeed

Footnotes

  1. 30 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on main (dcb3e9d) during the generation of this report, so f2b3abd was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@omair445

Copy link
Copy Markdown
Contributor Author

yeah good call — added an isDate helper using Object.prototype.toString.call() for consistency with the Uint8Array fix. makes sense to handle both the same way since they have the exact same cross-realm issue. pushed in 79d766a.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/client-engine-runtime/src/utils.ts (1)

101-109: ⚠️ Potential issue | 🔴 Critical

asDate still uses instanceof Date, defeating the cross-realm fix.

doKeysMatch (line 67) now correctly detects cross-realm Date objects via isDate(), but then delegates to asDate() which still uses instanceof Date. A cross-realm Date will fail this check, fall through the string | number branch, and return undefined — silently breaking the comparison.

Proposed fix
 function asDate(value: unknown): Date | undefined {
-  if (value instanceof Date) {
+  if (isDate(value)) {
     return value
   } else if (typeof value === 'string' || typeof value === 'number') {
     return new Date(value)
   } else {
     return
   }
 }

@omair445
omair445 force-pushed the fix/cross-realm-uint8array-check branch from 79d766a to 437be6f Compare February 15, 2026 17:25
@omair445

Copy link
Copy Markdown
Contributor Author

updated — now using isDate() inside asDate() and also in data-mapper.ts where there was another instanceof Date. rebased on latest main too, should be clean now.

@omair445

Copy link
Copy Markdown
Contributor Author

Hey everyone, I am very very sorry I got stuck in work-related stuff and haven't been able to follow up on this. I am happy if anyone else can take care of this from here or if the maintainers want to push the final bits. Apologies again for the delay!

@tensordreams
tensordreams changed the base branch from main to v7 July 21, 2026 12:08
@tensordreams
tensordreams changed the base branch from v7 to main July 21, 2026 15:13
…ecks

Add unit tests for the cross-realm safe isUint8Array/isDate helpers,
including values constructed in a separate vm realm where instanceof
fails, plus doKeysMatch coverage for cross-realm Uint8Array and Date.
@tensordreams

Copy link
Copy Markdown
Contributor

Rebased on latest main (clean merge; both target files were touched upstream and the cross-realm fix reconciled without conflict). Verified no instanceof Uint8Array / instanceof Date remains on the hot path in packages/client-engine-runtime/src; asDate() now routes through isDate(), addressing CodeRabbit's critical note. Added utils.test.ts covering same-realm, Buffer subclass, and cross-realm (node:vm) values for isUint8Array/isDate plus doKeysMatch, asserting instanceof fails where the helpers succeed. Full suite green: pnpm --filter @prisma/client-engine-runtime test -> 20 files, 226 tests passing; prettier + eslint clean on changed files. Head: 9bae7dc.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
packages/client-engine-runtime/src/utils.ts (2)

24-39: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use a Date brand check rather than a spoofable string tag.

Object.prototype.toString honors Symbol.toStringTag, so isDate({ [Symbol.toStringTag]: 'Date' }) currently returns true despite the object not being a Date. In doKeysMatch, this can make asDate() return a non-Date value and the getTime() comparison throw.

  • packages/client-engine-runtime/src/utils.ts#L24-L39: implement isDate by attempting Date.prototype.getTime.call(value) in a try/catch; this preserves the cross-realm behavior while validating the Date internal brand.
  • packages/client-engine-runtime/src/utils.test.ts#L56-61: add coverage for isDate({ [Symbol.toStringTag]: 'Date' }) === false.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/client-engine-runtime/src/utils.ts` around lines 24 - 39, Harden
isDate in packages/client-engine-runtime/src/utils.ts#L24-L39 by calling
Date.prototype.getTime with the value inside try/catch and returning false when
it throws, preserving cross-realm Date support without relying on
Symbol.toStringTag. Add a test in
packages/client-engine-runtime/src/utils.test.ts#L56-61 asserting that an object
spoofing the Date tag is rejected.

172-179: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Prevent non-terminating self-appends.

When target === source and its initial length exceeds 8192, Line 177 observes the length added by prior chunks, so the loop keeps extending the same array until memory is exhausted. Snapshot the initial length before either branch.

Proposed fix
 export function appendToArray<T>(target: T[], source: readonly T[]): void {
-  if (source.length <= MAX_PUSH_SPREAD_ARGS) {
+  const sourceLength = source.length
+  if (sourceLength <= MAX_PUSH_SPREAD_ARGS) {
     target.push(...source)
     return
   }
-  for (let i = 0; i < source.length; i += MAX_PUSH_SPREAD_ARGS) {
+  for (let i = 0; i < sourceLength; i += MAX_PUSH_SPREAD_ARGS) {
     target.push(...source.slice(i, i + MAX_PUSH_SPREAD_ARGS))
   }
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/client-engine-runtime/src/utils.ts` around lines 172 - 179, Update
appendToArray to snapshot the source’s initial length before either append
branch, then use that fixed length for the chunking loop and bounds. Preserve
the existing fast path while ensuring target === source cannot extend the loop
indefinitely.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@packages/client-engine-runtime/src/utils.ts`:
- Around line 24-39: Harden isDate in
packages/client-engine-runtime/src/utils.ts#L24-L39 by calling
Date.prototype.getTime with the value inside try/catch and returning false when
it throws, preserving cross-realm Date support without relying on
Symbol.toStringTag. Add a test in
packages/client-engine-runtime/src/utils.test.ts#L56-61 asserting that an object
spoofing the Date tag is rejected.
- Around line 172-179: Update appendToArray to snapshot the source’s initial
length before either append branch, then use that fixed length for the chunking
loop and bounds. Preserve the existing fast path while ensuring target ===
source cannot extend the loop indefinitely.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1d2b5f59-bd19-4b6c-8d40-23f0e47e9052

📥 Commits

Reviewing files that changed from the base of the PR and between 437be6f and 9bae7dc.

📒 Files selected for processing (2)
  • packages/client-engine-runtime/src/utils.test.ts
  • packages/client-engine-runtime/src/utils.ts

@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 24, 2026
@aqrln

aqrln commented Jul 24, 2026

Copy link
Copy Markdown
Member

Thank you!

@aqrln
aqrln merged commit 5685ab8 into prisma:main Jul 24, 2026
253 of 254 checks passed
lh0x00 pushed a commit to lh0x00/prisma that referenced this pull request Aug 9, 2026
…isma#29177)

Fixes prisma#29129

## Problem

`value instanceof Uint8Array` fails in jsdom (and other cross-realm
environments like iframes or vm contexts) because the `Uint8Array`
constructor in the realm where the value was created is a different
object than the one in the current realm.

This causes `@prisma/adapter-pg` to break when used with Bytes fields in
jsdom-based test environments (vitest with jsdom, jest with jsdom, etc).

## Fix

Added a cross-realm safe `isUint8Array()` helper in `utils.ts` that uses
`Object.prototype.toString.call(value)` instead of `instanceof`:

```ts
export function isUint8Array(value: unknown): value is Uint8Array {
  return ArrayBuffer.isView(value) && Object.prototype.toString.call(value) === "[object Uint8Array]"
}
```

Replaced all `instanceof Uint8Array` checks in:
- `packages/client-engine-runtime/src/interpreter/data-mapper.ts` (2
occurrences)
- `packages/client-engine-runtime/src/utils.ts` (2 occurrences)

---------

Co-authored-by: omair445 <omair445@users.noreply.github.com>
Co-authored-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
OIRNOIR pushed a commit to OIRNOIR/YouTube-Helper-Server that referenced this pull request Sep 1, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@prisma/adapter-pg](https://github.com/prisma/prisma) ([source](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg)) | imports | minor | [`7.9.1` -> `7.10.0`](https://renovatebot.com/diffs/npm/@prisma%2fadapter-pg/7.9.1/7.10.0) |
| [@prisma/client](https://www.prisma.io) ([source](https://github.com/prisma/prisma/tree/HEAD/packages/client)) | imports | minor | [`7.9.1` -> `7.10.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/7.9.1/7.10.0) |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/adapter-pg)</summary>

### [`v7.10.0`](https://github.com/prisma/orm/releases/tag/7.10.0)

[Compare Source](prisma/orm@7.9.1...7.10.0)

##### Prisma ORM 7.10.0

Prisma ORM 7.10.0 introduces a compatibility package for running Prisma 7 alongside newer Prisma versions, secures Prisma Studio's local server, and includes fixes across Prisma Client and the PostgreSQL, MariaDB, Neon, SQLite, and Prisma Postgres Serverless adapters.

##### Highlights

##### Run Prisma 7 alongside Prisma 8

This release introduces `@prisma/prisma7`, a compatibility package that lets you retain a matching Prisma 7 CLI and configuration while installing Prisma 8 in the same project.

Once 7.10.0 is released, a side-by-side installation can use:

```sh
npm install --save-dev prisma@8 @prisma/prisma7@7.10.0
npm install @prisma/client@7.10.0
```

Use `prisma` for the directly installed Prisma 8 CLI and `prisma7` for Prisma 7:

```sh
npx prisma --version
npx prisma7 --version

npx prisma7 generate
npx prisma7 migrate dev
npx prisma7 db push
```

Prisma 7 now prefers version-specific configuration files, allowing its configuration to coexist with Prisma 8's `prisma.config.*` files:

```ts
// prisma7.config.ts
import { defineConfig } from '@prisma/prisma7/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  migrations: {
    path: 'prisma/migrations',
  },
})
```

Without an explicit `--config` option, Prisma 7 searches for:

1. Root-level `prisma7.config.*` files.
2. `.config/prisma7.*` files.
3. Existing `prisma.config.*` files as a backwards-compatible fallback.

The supported extensions are `.js`, `.ts`, `.mjs`, `.cjs`, `.mts`, and `.cts`. An explicit config path always takes precedence:

```sh
npx prisma7 generate --config ./custom/prisma7.config.ts
```

New projects initialized by the Prisma 7 CLI use `prisma7.config.ts`. Existing projects containing only `prisma.config.*` continue to work without migration or additional warnings. If a `prisma7.config.*` file exists but cannot be loaded, Prisma reports the error rather than silently falling back to another configuration.

The `prisma7` identity is carried through CLI help, version output, shell completion, initialization, migration, database, and generation guidance. Stable Prisma concepts such as `schema.prisma`, Prisma Migrate, `@prisma/client`, and `PRISMA_*` environment variables remain unchanged.

Together, the separate executable and configuration namespace make it possible to operate Prisma 7 and Prisma 8 side by side without command or config-file collisions.

[#&#8203;29949](prisma/orm#29949), [#&#8203;29969](prisma/orm#29969), [#&#8203;29994](prisma/orm#29994), [#&#8203;30000](prisma/orm#30000), [#&#8203;30002](prisma/orm#30002), [#&#8203;30020](prisma/orm#30020)

##### Prisma Studio security hardening

Prisma Studio's local HTTP server now:

- Binds explicitly to `127.0.0.1` instead of all network interfaces.
- Rejects browser requests from origins other than the active `localhost` or `127.0.0.1` Studio URL.
- No longer returns wildcard CORS headers.
- Applies the same protections across Node.js, Bun, and Deno.

This prevents network clients or malicious websites from accessing Studio's database endpoints while Studio is running.

[#&#8203;29890](prisma/orm#29890)

##### Prisma Client

- Fixed `P2002` errors from nested writes so `meta.modelName` identifies the model where the unique constraint violation occurred, including models using `@@map` and `@@schema`. [#&#8203;29628](prisma/orm#29628)
- Fixed automatically batched `findUniqueOrThrow()` calls so every missing record rejects with `P2025`; later misses no longer resolve to `undefined`. [#&#8203;29654](prisma/orm#29654)
- Parameter-chunked statements are now executed atomically in a transaction and rolled back if a later chunk fails. [#&#8203;29771](prisma/orm#29771)
- Improved interactive transaction cleanup during `$disconnect()`, including transactions whose driver-level startup is still in progress. [#&#8203;28768](prisma/orm#28768)
- Prevented transaction cleanup failures after a timeout or backend termination from becoming unhandled promise rejections. [#&#8203;29611](prisma/orm#29611)
- Fixed fluent relation queries when relation fields are literally named `select` or `include`. [#&#8203;29683](prisma/orm#29683)
- Fixed handling of `Date` and `Uint8Array` values created in other JavaScript realms, such as iframes, jsdom, and Node.js `vm` contexts. [#&#8203;29177](prisma/orm#29177)
- Invalid `Date` values passed to `$queryRaw` or `$executeRaw` now throw `PrismaClientValidationError` instead of a generic error. [#&#8203;29718](prisma/orm#29718)
- Fixed `moduleFormat` inference for the `prisma-client` generator in TypeScript projects using `module: "node16"` or `"nodenext"`. Generated output now follows the nearest `package.json` `type`, defaulting to CommonJS when absent. [#&#8203;29712](prisma/orm#29712)
- Deserialized `Bytes` values now own standalone `ArrayBuffer`s rather than exposing unrelated contents from Node.js's shared `Buffer` pool. This applies to both regular and raw query results. [#&#8203;29701](prisma/orm#29701)
- Fixed an incorrect logging context in the remote executor, including Accelerate-backed query execution. [#&#8203;28892](prisma/orm#28892)

##### Client extensions and observability

- Result-extension `compute` callbacks now receive the current model name as a typed second argument:

  ```ts
  compute(data, modelName) {
    // ...
  }
  ```

  The model name is also preserved when multiple extensions compose the same computed field. [#&#8203;29782](prisma/orm#29782)

- Improved OpenTelemetry context for remotely executed queries:

  - `$on('query')` callbacks run within the matching `db_query` span.
  - Events from one operation share the same trace.
  - Error events are recorded as span exceptions.
  - Log events continue to be emitted when tracing is disabled or their reported span is unavailable.

  [#&#8203;28892](prisma/orm#28892)

##### Driver adapters

##### MariaDB

- `@prisma/adapter-mariadb` now accepts an existing `mariadb` pool. External pools remain caller-owned unless `disposeExternalPool: true` is supplied. [#&#8203;27992](prisma/orm#27992)
- Fixed pooled connection leaks during commit, rollback, and failed transaction startup. Connections are now returned with `release()` and transaction-specific listeners are removed before reuse. [#&#8203;29612](prisma/orm#29612)
- Added support for bracketed IPv6 addresses in both `mysql://` and `mariadb://` connection strings. [#&#8203;29026](prisma/orm#29026)
- Prevented malformed connection strings from exposing embedded passwords in retained debug output and diagnostic reports. [#&#8203;27992](prisma/orm#27992)

##### PostgreSQL, Neon, and Prisma Postgres Serverless

- PostgreSQL deadlocks using SQLSTATE `40P01` are now reported as `P2034` transaction write conflicts. [#&#8203;29717](prisma/orm#29717)
- PostgreSQL `RESTRICT` violations using SQLSTATE `23001` are now reported as `P2003`, preserving an available field or constraint name. [#&#8203;29554](prisma/orm#29554)
- `@prisma/adapter-pg` now preserves database constraint names when reporting unique constraint violations through `P2002`. [#&#8203;29587](prisma/orm#29587)
- Prisma Postgres Serverless now prefers the named constraint for `P2002`, falling back to parsed field names when no constraint name is available. [#&#8203;29801](prisma/orm#29801)
- Fixed Neon HTTP adapter serialization for typed parameters such as `Bytes` and `DateTime`. [#&#8203;29747](prisma/orm#29747)

##### SQLite

- `@prisma/adapter-better-sqlite3` now converts previously unhandled SQLite result codes into typed database errors instead of exposing raw driver errors.
- The complete `SQLITE_BUSY` family is now mapped to socket timeout errors, with numeric extended result codes preserved where available.

[#&#8203;29794](prisma/orm#29794)

##### CLI and Migrate

- `prisma generate` can now offer to install Prisma's agent skills. The opt-in prompt:

  - Is shown at most once per machine.
  - Is skipped in CI, containers, Git hooks, npm lifecycle scripts, and watch mode.
  - Is skipped when `--no-hints` is used or Prisma skills are already installed.
  - Times out after 30 seconds.
  - Never causes generation to fail if installation is unsuccessful.

  [#&#8203;29690](prisma/orm#29690)

- A globally installed CLI now warns during `prisma generate` when its version differs from the project's local `prisma` or `@prisma/client`, and recommends running the local CLI. The check is best-effort and does not fail generation. [#&#8203;29593](prisma/orm#29593)

- `prisma version` and `prisma version --json` now include the resolved Prisma CLI package path, making global-versus-local installation issues easier to diagnose. [#&#8203;29573](prisma/orm#29573)

- Empty or generator-only schema files now report `Schema must contain a datasource block` from `db pull`, `db push`, and `migrate dev`, rather than reaching the schema engine and potentially producing inconsistent errors. [#&#8203;29657](prisma/orm#29657)

- CLI commands now tolerate corrupt, unreadable, or unwritable command-state files. Invalid state is reinitialized, writes are atomic, and persistence failures fall back to in-memory state. [#&#8203;29609](prisma/orm#29609)

- Studio now recognizes semicolon-delimited `sqlserver://` connection strings before reporting the existing explicit message that SQL Server is not supported by Studio. [#&#8203;29623](prisma/orm#29623)

- The AI-agent safety checkpoint now also covers interactive `prisma db push` confirmations involving data-loss warnings, rather than only invocations using `--accept-data-loss`. [#&#8203;29793](prisma/orm#29793)

##### Performance and reliability

- Optimized query-plan execution by eagerly evaluating plans with one unconditional database operation and synchronously interpreting the remaining pure plan. Cached plans remain immutable. [#&#8203;29004](prisma/orm#29004)
- Prevented call-stack overflows when rendering very large parameter lists or combining chunked results containing hundreds of thousands of rows. [#&#8203;29751](prisma/orm#29751)
- Reduced ordinary query setup overhead by constructing fluent-relation field maps lazily and in linear time. Non-fluent queries no longer build this map. [#&#8203;29752](prisma/orm#29752)

##### Dependencies

- Updated the transitive `fast-uri` dependency to a patched release addressing production audit advisories affecting versions through `3.1.3`. [#&#8203;29758](prisma/orm#29758)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMC4zIiwidXBkYXRlZEluVmVyIjoiNDQuMzAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.oirnoir.dev/OIRNOIR/YouTube-Helper-Server/pulls/41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@prisma/adapter-pg Bytes field fails in jsdom environment due to cross-realm instanceof Uint8Array check

3 participants