Dotta
31561724f7
Merge pull request #491 from lazmo88/fix/parentid-filter-issues-list
...
fix: wire parentId query filter into issues list endpoint
2026-03-10 13:07:20 -05:00
Dotta
c363428966
Merge pull request #517 from paperclipai/feature/worktree-seed-secrets-key
...
Copy seeded secrets key into worktree instances
2026-03-10 12:59:54 -05:00
Dotta
f783f66866
Merge pull request #495 from subhendukundu/feat/configurable-attachment-types
...
feat: make attachment content types configurable via env var
2026-03-10 12:58:15 -05:00
Dotta
deec68ab16
Copy seeded secrets key into worktree instances
2026-03-10 12:57:53 -05:00
Dotta
6733a6cd7e
Merge pull request #502 from davidahmann/codex/issue-499-approval-idempotency
...
Make approval resolution retries idempotent
2026-03-10 12:56:30 -05:00
David Ahmann
9c68c1b80b
server: make approval retries idempotent ( #499 )
2026-03-10 12:00:29 -04:00
Dotta
7934952a77
Merge pull request #496 from paperclipai/feature/worktree-development-tools
...
feat(cli): add isolated worktree-local Paperclip instance tools
2026-03-10 10:56:36 -05:00
Dotta
d9574fea71
Fix doctor summary after repairs
2026-03-10 10:13:05 -05:00
Dotta
83738b45cd
Fix worktree minimal clone startup
2026-03-10 10:13:05 -05:00
Dotta
4a67db6a4d
Add minimal worktree seed mode
2026-03-10 10:13:05 -05:00
Dotta
0704854926
Add worktree init CLI for isolated development instances
2026-03-10 10:13:05 -05:00
Subhendu Kundu
1959badde7
fix: address review feedback — stale error message and * wildcard
...
- assets.ts: change "Image exceeds" to "File exceeds" in size-limit error
- attachment-types.ts: handle plain "*" as allow-all wildcard pattern
- Add test for "*" wildcard (12 tests total)
2026-03-10 20:01:08 +05:30
Subhendu Kundu
3ff07c23d2
Update server/src/routes/assets.ts
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-10 19:54:42 +05:30
Subhendu Kundu
dec02225f1
feat: make attachment content types configurable via env var
...
Add PAPERCLIP_ALLOWED_ATTACHMENT_TYPES env var to configure allowed
MIME types for issue attachments and asset uploads. Supports exact
types (application/pdf) and wildcard patterns (image/*, text/*).
Falls back to the existing image-only defaults when the env var is
unset, preserving backward compatibility.
- Extract shared module `attachment-types.ts` with `isAllowedContentType()`
and `matchesContentType()` (pure, testable)
- Update `routes/issues.ts` and `routes/assets.ts` to use shared module
- Add unit tests for parsing and wildcard matching
Closes #487
2026-03-10 19:40:22 +05:30
Claude
f6f5fee200
fix: wire parentId query filter into issues list endpoint
...
The parentId parameter on GET /api/companies/:companyId/issues was
silently ignored — the filter was never extracted from the query string,
never passed to the service layer, and the IssueFilters type did not
include it. All other filters (status, assigneeAgentId, projectId, etc.)
worked correctly.
This caused subtask lookups to return every issue in the company instead
of only children of the specified parent.
Changes:
- Add parentId to IssueFilters interface
- Add eq(issues.parentId, filters.parentId) condition in list()
- Extract parentId from req.query in the route handler
Fixes: LAS-101
2026-03-10 15:54:31 +02:00
Dotta
49b9511889
Merge pull request #485 from jknair/fix/strip-claudecode-env-from-child-processes
...
fix(adapter-utils): strip Claude Code env vars from child processes
2026-03-10 07:25:30 -05:00
Dotta
1a53567cb6
Apply suggestions from code review
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-10 07:24:48 -05:00
Jayakrishnan
9248881d42
fix(adapter-utils): strip Claude Code env vars from child processes
...
When the Paperclip server is started from within a Claude Code session
(e.g. `npx paperclipai run` in a Claude Code terminal), the `CLAUDECODE`
and related env vars (`CLAUDE_CODE_ENTRYPOINT`, `CLAUDE_CODE_SESSION`,
`CLAUDE_CODE_PARENT_SESSION`) leak into `process.env`. Since
`runChildProcess()` spreads `process.env` into the child environment,
every spawned `claude` CLI process inherits these vars and immediately
exits with: "Claude Code cannot be launched inside another Claude Code
session."
This is particularly disruptive for the `claude-local` adapter, where
every agent run spawns a `claude` child process. A single contaminated
server start (or cron job that inherits the env) silently breaks all
agent executions until the server is restarted in a clean environment.
The fix deletes the four known Claude Code nesting-guard env vars from
the merged environment before passing it to `spawn()`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 12:01:46 +00:00
Dotta
ef978dd601
Merge pull request #446 from paperclipai/codex/pr-report-skill
...
feat: add pr-report skill
2026-03-09 17:05:35 -05:00
Dotta
fbf9d5714f
feat: add pr-report skill
2026-03-09 17:01:45 -05:00
Dotta
8ac064499f
Merge pull request #445 from paperclipai/release/0.3.0
...
Release/0.3.0
2026-03-09 16:45:02 -05:00
Dotta
cbbf695c35
release files
2026-03-09 16:43:53 -05:00
Dotta
7e8908afa2
chore: release v0.3.0
v0.3.0
2026-03-09 16:31:12 -05:00
Dotta
58d4d04e99
Merge pull request #444 from paperclipai/release/0.3.0
...
Release/0.3.0
2026-03-09 16:20:22 -05:00
Dotta
c672b71f7f
Refresh bootstrap gate while setup is pending
@paperclipai/adapter-codex-local@0.3.0
@paperclipai/adapter-cursor-local@0.3.0
@paperclipai/adapter-claude-local@0.3.0
@paperclipai/adapter-openclaw-gateway@0.3.0
@paperclipai/adapter-opencode-local@0.3.0
@paperclipai/adapter-pi-local@0.3.0
@paperclipai/db@0.3.0
@paperclipai/adapter-utils@0.3.0
@paperclipai/shared@0.3.0
@paperclipai/server@0.3.0
paperclipai@0.3.0
2026-03-09 16:13:15 -05:00
Dotta
01c5a6f198
Unblock canary onboard smoke bootstrap
2026-03-09 16:06:16 -05:00
Dotta
64f5c3f837
Fix authenticated smoke bootstrap flow
@paperclipai/adapter-claude-local@0.3.0-canary.3
@paperclipai/adapter-codex-local@0.3.0-canary.3
@paperclipai/adapter-cursor-local@0.3.0-canary.3
@paperclipai/adapter-opencode-local@0.3.0-canary.3
@paperclipai/db@0.3.0-canary.3
@paperclipai/adapter-openclaw-gateway@0.3.0-canary.3
@paperclipai/adapter-pi-local@0.3.0-canary.3
@paperclipai/adapter-utils@0.3.0-canary.3
@paperclipai/server@0.3.0-canary.3
@paperclipai/shared@0.3.0-canary.3
paperclipai@0.3.0-canary.3
2026-03-09 15:30:08 -05:00
Dotta
c62266aa6a
tweaks to docker smoke
@paperclipai/adapter-codex-local@0.3.0-canary.2
@paperclipai/adapter-claude-local@0.3.0-canary.2
@paperclipai/adapter-openclaw-gateway@0.3.0-canary.2
@paperclipai/adapter-opencode-local@0.3.0-canary.2
@paperclipai/adapter-cursor-local@0.3.0-canary.2
@paperclipai/adapter-utils@0.3.0-canary.2
@paperclipai/db@0.3.0-canary.2
@paperclipai/adapter-pi-local@0.3.0-canary.2
@paperclipai/server@0.3.0-canary.2
@paperclipai/shared@0.3.0-canary.2
paperclipai@0.3.0-canary.2
2026-03-09 14:41:00 -05:00
Dotta
5dd1e6335a
Fix root TypeScript solution config
@paperclipai/adapter-claude-local@0.3.0-canary.1
@paperclipai/adapter-codex-local@0.3.0-canary.1
@paperclipai/adapter-opencode-local@0.3.0-canary.1
@paperclipai/adapter-cursor-local@0.3.0-canary.1
@paperclipai/adapter-openclaw-gateway@0.3.0-canary.1
@paperclipai/adapter-utils@0.3.0-canary.1
@paperclipai/db@0.3.0-canary.1
@paperclipai/adapter-pi-local@0.3.0-canary.1
@paperclipai/server@0.3.0-canary.1
@paperclipai/shared@0.3.0-canary.1
paperclipai@0.3.0-canary.1
2026-03-09 14:09:30 -05:00
Dotta
469bfe3953
chore: add release train workflow
2026-03-09 13:55:30 -05:00
Dotta
d20341c797
Merge pull request #413 from online5880/fix/windows-command-compat
...
fix: support Windows command wrappers for local adapters
2026-03-09 12:50:20 -05:00
online5880
756ddb6cf7
fix: remove lockfile changes from PR
2026-03-10 02:34:52 +09:00
Dotta
200dd66f63
Merge pull request #400 from AiMagic5000/fix/docker-non-root-node-user
...
fix(docker): run production server as non-root node user
2026-03-09 12:18:20 -05:00
Dotta
9859bac440
Merge pull request #423 from RememberV/fix/onboarding-navigates-to-dashboard
...
fix: navigate to dashboard after onboarding, not first issue
2026-03-09 12:14:58 -05:00
online5880
8d6b20b47b
Merge branch 'master' into fix/windows-command-compat
2026-03-10 02:05:41 +09:00
online5880
a418106005
fix: restore cross-env in server dev watch
2026-03-10 01:43:45 +09:00
Dotta
84ef17bf85
Merge pull request #424 from paperclipai/chore/refresh-lockfile
...
chore(lockfile): refresh pnpm-lock.yaml
2026-03-09 11:43:44 -05:00
lockfile-bot
23dec980e2
chore(lockfile): refresh pnpm-lock.yaml
2026-03-09 16:41:30 +00:00
Dotta
03c37f8dea
Merge pull request #427 from paperclipai/dotta-releases
...
Dotta releases
2026-03-09 11:41:11 -05:00
Dotta
8360b2e3e3
fix: complete authenticated onboarding startup
2026-03-09 11:26:58 -05:00
Dotta
d9ba4790e9
Merge branch 'master' into fix/windows-command-compat
2026-03-09 11:25:18 -05:00
Dotta
3ec96fdb73
fix: complete authenticated docker onboard smoke
2026-03-09 11:12:34 -05:00
Dotta
eecb780dd7
Merge pull request #420 from paperclipai/dotta-releases
...
Dotta releases
2026-03-09 11:04:16 -05:00
Dotta
632079ae3b
chore: require frozen lockfile for releases
2026-03-09 10:43:04 -05:00
Dotta
7d8d6a5caf
chore: remove lockfile changes from release branch
2026-03-09 10:38:18 -05:00
Dotta
948080fee9
Revert "chore: restore pnpm-lock.yaml from master"
...
This reverts commit 8d53800c19 .
2026-03-09 10:37:38 -05:00
RememberV
af0e05f38c
fix: onboarding wizard navigates to dashboard instead of first issue
...
After onboarding, the wizard navigated to the newly created issue
(e.g. /JAR/issues/JAR-1). useCompanyPageMemory then saved this path,
causing every subsequent company switch to land on that stale issue
instead of the dashboard.
Remove the issue-specific navigation branch so handleLaunch always
falls through to the dashboard route.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:35:40 +00:00
Dotta
8d53800c19
chore: restore pnpm-lock.yaml from master
2026-03-09 10:35:32 -05:00
Dotta
422f57b160
chore: use public-gh for manual release flow
2026-03-09 10:33:56 -05:00
Dotta
31c947bf7f
fix: publish canaries in changesets pre mode
@paperclipai/adapter-codex-local@0.3.0-canary.0
@paperclipai/adapter-cursor-local@0.3.0-canary.0
@paperclipai/adapter-claude-local@0.3.0-canary.0
@paperclipai/adapter-opencode-local@0.3.0-canary.0
@paperclipai/adapter-openclaw-gateway@0.3.0-canary.0
@paperclipai/adapter-pi-local@0.3.0-canary.0
@paperclipai/adapter-utils@0.3.0-canary.0
@paperclipai/db@0.3.0-canary.0
@paperclipai/server@0.3.0-canary.0
@paperclipai/shared@0.3.0-canary.0
paperclipai@0.3.0-canary.0
2026-03-09 10:23:04 -05:00