Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 2, 2025

Merged latest main branch to sync with upstream changes, including new Astro framework support and various package updates.

Conflict Resolution

Resolved merge conflict in docs/app/(home)/components/frameworks.tsx:

  • Added accessibility <title> tags to Astro SVG components (AstroDark, AstroLight, AstroGray) and TanStack component from main
  • Retained updated "Coming soon" section structure with user guidance text from main

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

# Conflicts:
#	docs/app/(home)/components/frameworks.tsx
@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​astrojs/​node@​9.5.01001008296100
Addednpm/​@​astrojs/​vercel@​9.0.2991008397100
Addednpm/​astro@​5.16.0971008897100
Addednpm/​astro@​5.16.3971008898100
Addednpm/​openai@​6.9.0100100100100100

View full report

@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​astrojs/​node@​9.5.01001008296100
Addednpm/​@​astrojs/​vercel@​9.0.2991008397100
Addednpm/​astro@​5.16.0971008897100
Addednpm/​astro@​5.16.3971008898100
Addednpm/​openai@​6.9.0100100100100100

View full report

@socket-security
Copy link

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Block High
High CVE: npm path-to-regexp outputs backtracking regular expressions

CVE: GHSA-9wv6-86v2-598j path-to-regexp outputs backtracking regular expressions (HIGH)

Affected versions: >= 0.2.0 < 1.9.0; < 0.1.10; >= 7.0.0 < 8.0.0; >= 2.0.0 < 3.3.0; >= 4.0.0 < 6.3.0

Patched version: 6.3.0

From: pnpm-lock.yamlnpm/@astrojs/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@socket-security
Copy link

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Block High
High CVE: npm path-to-regexp outputs backtracking regular expressions

CVE: GHSA-9wv6-86v2-598j path-to-regexp outputs backtracking regular expressions (HIGH)

Affected versions: >= 0.2.0 < 1.9.0; < 0.1.10; >= 7.0.0 < 8.0.0; >= 2.0.0 < 3.3.0; >= 4.0.0 < 6.3.0

Patched version: 6.3.0

From: pnpm-lock.yamlnpm/@astrojs/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Comment on lines 21 to 24
queue = queue.then(task).catch((err) => {
console.error(err);
});
return queue;
Copy link
Contributor

Choose a reason for hiding this comment

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

The build queue swallows errors instead of propagating them, causing build failures to be silently logged while the queue appears to succeed. Callers awaiting enqueue() will not be notified of failures.

View Details
📝 Patch Details
diff --git a/packages/builders/src/build-queue.ts b/packages/builders/src/build-queue.ts
index 1fe5d48..5b4e3db 100644
--- a/packages/builders/src/build-queue.ts
+++ b/packages/builders/src/build-queue.ts
@@ -20,6 +20,7 @@ export function createBuildQueue() {
   return (task: () => Promise<void>): Promise<void> => {
     queue = queue.then(task).catch((err) => {
       console.error(err);
+      throw err;
     });
     return queue;
   };

Analysis

Build queue error handling swallows exceptions instead of propagating them

What fails: The createBuildQueue() function in packages/builders/src/build-queue.ts has a .catch() handler (lines 21-23) that logs errors but doesn't rethrow them. This causes the promise chain to resolve successfully even when the task rejects, breaking error propagation to callers of enqueue().

How to reproduce:

const enqueue = createBuildQueue();

// First task succeeds
await enqueue(() => Promise.resolve());  // ✓ resolves

// Second task fails
await enqueue(() => Promise.reject(new Error('Build failed')));  // ✓ resolves (BUG!)

// The promise resolves successfully even though the task failed

Result: Callers in packages/astro, packages/nitro, and packages/sveltekit that await enqueue(() => builder.build()) receive a resolved promise even when the build fails. Developers see a console error but the build appears to succeed, masking failures in CI/CD pipelines.

Expected behavior: Per MDN Promise.catch() documentation, when a .catch() handler doesn't rethrow, the promise chain recovers and resolves successfully. The catch handler must explicitly throw to propagate the error. The fix is to rethrow the error after logging:

queue = queue.then(task).catch((err) => {
  console.error(err);
  throw err;  // propagate the error
});

Base automatically changed from peter/agent-docs to main December 3, 2025 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants