Fix PR verification and Greptile findings

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-04-28 13:34:58 -05:00
1 parent c9ef93e257
commit d53c10cfdb
9 files changed
+37 -13

No files matched your search

+20 -2
View File
@@ -59,6 +59,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
@@ -72,7 +74,14 @@ jobs:
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
run: |
changed="$(git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}")"
manifest_pattern='(^|/)package\.json$|^pnpm-workspace\.yaml$|^\.npmrc$|^pnpmfile\.(cjs|js|mjs)$'
if printf '%s\n' "$changed" | grep -Eq "$manifest_pattern"; then
pnpm install --no-frozen-lockfile
else
pnpm install --frozen-lockfile
fi
- name: Typecheck
run: pnpm -r typecheck
@@ -97,6 +106,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
@@ -110,7 +121,14 @@ jobs:
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
run: |
changed="$(git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}")"
manifest_pattern='(^|/)package\.json$|^pnpm-workspace\.yaml$|^\.npmrc$|^pnpmfile\.(cjs|js|mjs)$'
if printf '%s\n' "$changed" | grep -Eq "$manifest_pattern"; then
pnpm install --no-frozen-lockfile
else
pnpm install --frozen-lockfile
fi
- name: Build
run: pnpm build
@@ -1 +1 @@
ALTER TABLE "companies" ADD COLUMN "attachment_max_bytes" integer DEFAULT 1073741824 NOT NULL;
ALTER TABLE "companies" ADD COLUMN "attachment_max_bytes" integer DEFAULT 10485760 NOT NULL;
@@ -2965,7 +2965,7 @@
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 1073741824
"default": 10485760
},
"require_board_approval_for_new_agents": {
"name": "require_board_approval_for_new_agents",
@@ -15856,4 +15856,4 @@
"schemas": {},
"tables": {}
}
}
}
@@ -2965,7 +2965,7 @@
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 1073741824
"default": 10485760
},
"require_board_approval_for_new_agents": {
"name": "require_board_approval_for_new_agents",
@@ -15884,4 +15884,4 @@
"schemas": {},
"tables": {}
}
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ export const companies = pgTable(
spentMonthlyCents: integer("spent_monthly_cents").notNull().default(0),
attachmentMaxBytes: integer("attachment_max_bytes")
.notNull()
.default(1024 * 1024 * 1024),
.default(10 * 1024 * 1024),
requireBoardApprovalForNewAgents: boolean("require_board_approval_for_new_agents")
.notNull()
.default(false),
+1 -1
View File
@@ -1,7 +1,7 @@
export const COMPANY_STATUSES = ["active", "paused", "archived"] as const;
export type CompanyStatus = (typeof COMPANY_STATUSES)[number];
export const DEFAULT_COMPANY_ATTACHMENT_MAX_BYTES = 1024 * 1024 * 1024;
export const DEFAULT_COMPANY_ATTACHMENT_MAX_BYTES = 10 * 1024 * 1024;
export const MAX_COMPANY_ATTACHMENT_MAX_BYTES = 1024 * 1024 * 1024;
export const DEPLOYMENT_MODES = ["local_trusted", "authenticated"] as const;
+6 -1
View File
@@ -71,6 +71,7 @@ type RestoreTreeStatusResult = TreeStatusUpdateResult & {
const TERMINAL_ISSUE_STATUSES = new Set<IssueStatus>(["done", "cancelled"]);
const ACTIVE_RUN_STATUSES = ["queued", "running"] as const;
const DEFAULT_RELEASE_POLICY: IssueTreeHoldReleasePolicy = { strategy: "manual" };
const MAX_PAUSE_HOLD_ANCESTOR_DEPTH = 100;
export const ISSUE_TREE_CONTROL_INTERACTION_WAKE_REASONS: ReadonlySet<string> = new Set([
"issue_commented",
"issue_reopened_via_comment",
@@ -589,7 +590,11 @@ export function issueTreeControlService(db: Db) {
let currentIssueId: string | null = issueId;
const visited = new Set<string>();
while (currentIssueId && !visited.has(currentIssueId)) {
while (
currentIssueId
&& !visited.has(currentIssueId)
&& visited.size < MAX_PAUSE_HOLD_ANCESTOR_DEPTH
) {
visited.add(currentIssueId);
const hold = holdByRootIssueId.get(currentIssueId);
if (hold) {
+1 -1
View File
@@ -345,7 +345,7 @@ export function recoveryService(db: Db, deps: { enqueueWakeup: RecoveryWakeup })
.where(
and(
eq(agentWakeupRequests.companyId, companyId),
eq(agentWakeupRequests.status, "deferred_issue_execution"),
eq(agentWakeupRequests.status, "deferred_issue_execution"),
sql`${agentWakeupRequests.payload} ->> 'issueId' = ${issueId}`,
),
)
+3 -2
View File
@@ -214,14 +214,15 @@ function useLiveElapsed(startMs: number | null | undefined, active: boolean): st
function useStableEvent<T extends (...args: never[]) => unknown>(callback: T | undefined): T | undefined {
const callbackRef = useRef(callback);
const hasCallback = callback !== undefined;
useLayoutEffect(() => {
callbackRef.current = callback;
}, [callback]);
return useMemo(() => {
if (!callback) return undefined;
if (!hasCallback) return undefined;
return ((...args: Parameters<T>) => callbackRef.current?.(...args)) as T;
}, [Boolean(callback)]);
}, [hasCallback]);
}
interface CommentReassignment {