From 18ad30b6160f01ab91f80c243b4fb89cc3c0236b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 07:19:37 +0000 Subject: [PATCH 1/3] chore(deps): update bun to v1.4.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e16e7d7..a7a4c4b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "integrations-worker-app", "version": "0.1.0", "private": true, - "packageManager": "bun@1.2.21", + "packageManager": "bun@1.4.4", "scripts": { "dev": "next dev --turbopack", "build": "next build --webpack", From de44852fc02d0f9c32768f5f960191e3e16db7b8 Mon Sep 17 00:00:00 2001 From: curiousgeorgios Date: Thu, 29 Oct 2026 09:49:33 +1100 Subject: [PATCH 2/3] Fix Renovate lockfiles and validation --- tests/security-crypto.test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/security-crypto.test.ts b/tests/security-crypto.test.ts index bfc25ba..53dbcb9 100644 --- a/tests/security-crypto.test.ts +++ b/tests/security-crypto.test.ts @@ -122,6 +122,22 @@ describe('token encryption', () => { assert.equal(isLegacyCiphertext(legacy), true) assert.equal(await decryptToken(legacy), 'legacy-linear-token') }) + + test('rejects empty legacy plaintext and a missing legacy key', async (context) => { + context.mock.method(console, 'error', () => {}) + const empty = CryptoJS.AES.encrypt('', TEST_ENCRYPTION_SECRET).toString() + await assert.rejects(() => decryptToken(empty), /Failed to decrypt token/) + + const legacy = CryptoJS.AES.encrypt('legacy-linear-token', TEST_ENCRYPTION_SECRET).toString() + const key = process.env.ENCRYPTION_KEY + try { + delete process.env.ENCRYPTION_KEY + await assert.rejects(() => decryptToken(legacy), /Failed to decrypt token/) + } finally { + if (key === undefined) delete process.env.ENCRYPTION_KEY + else process.env.ENCRYPTION_KEY = key + } + }) }) describe('webhook signatures', () => { From 4d1f7dc7905881b1491c709b375f4fdc95fc936d Mon Sep 17 00:00:00 2001 From: curiousgeorgios Date: Thu, 29 Oct 2026 09:55:46 +1100 Subject: [PATCH 3/3] Keep encryption coverage compatible with the current Bun runtime --- tests/security-crypto.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/security-crypto.test.ts b/tests/security-crypto.test.ts index 53dbcb9..b2b6817 100644 --- a/tests/security-crypto.test.ts +++ b/tests/security-crypto.test.ts @@ -123,8 +123,7 @@ describe('token encryption', () => { assert.equal(await decryptToken(legacy), 'legacy-linear-token') }) - test('rejects empty legacy plaintext and a missing legacy key', async (context) => { - context.mock.method(console, 'error', () => {}) + test('rejects empty legacy plaintext and a missing legacy key', async () => { const empty = CryptoJS.AES.encrypt('', TEST_ENCRYPTION_SECRET).toString() await assert.rejects(() => decryptToken(empty), /Failed to decrypt token/)