mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-11 05:11:49 +01:00
Merge public-gh/master into PAP-989-multi-user-implementation-using-plan-from-pap-958
Co-Authored-By: Paperclip <noreply@paperclip.ing> * public-gh/master: release: v2026.416.0 notes (#3782) Sync/master post pap1497 followups 2026 04 15 (#3779) [codex] improve issue and routine UI responsiveness (#3744) fix: disable HTTP caching on run log endpoints (#3724) [codex] harden heartbeat run summaries and recovery context (#3742) [codex] fix worktree dev dependency ergonomics (#3743) chore(ui): drop console.* and legal comments in production builds (#3728) fix: proper cache headers for static assets and SPA fallback (#3734) fix(a11y): remove maximum-scale and user-scalable=no from viewport (#3726) fix: trust PAPERCLIP_PUBLIC_URL in board mutation guard (#3731) [codex] harden authenticated routes and issue editor reliability (#3741) feat(adapters): add capability flags to ServerAdapterModule (#3540) fix: Anthropic subscription quota always shows 100% used (#3589) fix(server): respect externally set PAPERCLIP_API_URL env var (#3472) fix(routines): include cronExpression and timezone in list trigger response (#3209) fix: include routine-execution issues in agent inbox-lite (#3329) # Conflicts: # server/src/__tests__/issues-service.test.ts # server/src/routes/access.ts # server/src/routes/plugins.ts # ui/src/components/IssueChatThread.tsx # ui/src/pages/Inbox.tsx
This commit is contained in:
commit
ea7066709b
121 files changed
+6172
-660
No files matched your search
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env -S node --import tsx
|
||||
import fs from "node:fs/promises";
|
||||
import { existsSync, lstatSync, readdirSync, readFileSync, realpathSync } from "node:fs";
|
||||
import { existsSync, readdirSync, readFileSync, realpathSync } from "node:fs";
|
||||
import path from "node:path";
|
||||
import { repoRoot } from "./dev-service-profile.ts";
|
||||
|
||||
@@ -43,20 +43,6 @@ function discoverWorkspacePackagePaths(rootDir: string): Map<string, string> {
|
||||
return packagePaths;
|
||||
}
|
||||
|
||||
function isLinkedGitWorktreeCheckout(rootDir: string) {
|
||||
const gitMetadataPath = path.join(rootDir, ".git");
|
||||
if (!existsSync(gitMetadataPath)) return false;
|
||||
|
||||
const stat = lstatSync(gitMetadataPath);
|
||||
if (!stat.isFile()) return false;
|
||||
|
||||
return readFileSync(gitMetadataPath, "utf8").trimStart().startsWith("gitdir:");
|
||||
}
|
||||
|
||||
if (!isLinkedGitWorktreeCheckout(repoRoot)) {
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const workspacePackagePaths = discoverWorkspacePackagePaths(repoRoot);
|
||||
const workspaceDirs = Array.from(
|
||||
new Set(
|
||||
@@ -67,6 +53,11 @@ const workspaceDirs = Array.from(
|
||||
).sort();
|
||||
|
||||
function findWorkspaceLinkMismatches(workspaceDir: string): WorkspaceLinkMismatch[] {
|
||||
const nodeModulesDir = path.join(repoRoot, workspaceDir, "node_modules");
|
||||
if (!existsSync(nodeModulesDir)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const packageJson = readJsonFile(path.join(repoRoot, workspaceDir, "package.json"));
|
||||
const dependencies = {
|
||||
...(packageJson.dependencies as Record<string, unknown> | undefined),
|
||||
|
||||
Reference in new issue
Block a user