dotta and Paperclip
8db0c7fd2f
docs: add v2026.403.0 release changelog
...
Covers 183 commits since v2026.325.0 including execution workspaces,
inbox overhaul, telemetry, feedback/evals, document revisions,
GitHub Enterprise support, and numerous fixes.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-03 08:01:23 -05:00
dotta and Paperclip
993a3262f6
fix(ui): place run link in same row as feedback buttons, right-aligned
...
When a comment has both helpful/needswork feedback buttons and a run link,
the run link now appears right-aligned in the same row instead of a separate
section below. Comments with only a run link (no feedback buttons) still
show the run link in its own bordered row.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-03 08:01:23 -05:00
dotta and Paperclip
a13a67de54
fix(ui): style Don't allow button as outline in feedback modal
...
The "Don't allow" button in the feedback sharing preference modal
should be visually distinct from "Always allow" by using an outline
variant instead of the default solid primary style.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-03 08:01:23 -05:00
Dotta
422dd51a87
Merge pull request #2638 from paperclipai/fix/inbox-last-activity-ordering
...
fix(inbox): prefer canonical last activity
2026-04-03 07:27:46 -05:00
dotta
a80edfd6d9
fix(inbox): prefer canonical last activity
2026-04-03 07:24:33 -05:00
Dotta
36049beeea
Merge pull request #2552 from paperclipai/PAPA-42-add-model-used-to-pr-template-and-checklist
...
feat: add Model Used section to PR template and checklist
2026-04-02 13:47:46 -05:00
Dotta
82290451d4
Merge pull request #2541 from paperclipai/pap-1078-qol-fixes
...
fix(ui): polish issue detail timelines and attachments
2026-04-02 13:31:12 -05:00
dotta and Paperclip
fb3b57ab1f
merge master into pap-1078-qol-fixes
...
Resolve the keyboard shortcut conflicts after [#2539 ](https://github.com/paperclipai/paperclip/pull/2539 ) and [#2540 ](https://github.com/paperclipai/paperclip/pull/2540 ), keep the release package rewrite working with cliVersion, and stabilize the provisioning timeout in the full suite.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 13:14:20 -05:00
Dotta
ca8d35fd99
Merge pull request #2540 from paperclipai/pap-1078-inbox-operator-polish
...
feat(inbox): add operator search and keyboard controls
2026-04-02 13:02:33 -05:00
Dotta
81a7f79dfd
Merge pull request #2539 from paperclipai/pap-1078-workspaces-routines
...
feat(routines): add workspace-aware routine runs
2026-04-02 13:01:19 -05:00
dotta and Paperclip
ad1ef6a8c6
fix(ui): address final Greptile follow-up
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 12:21:35 -05:00
dotta and Paperclip
833842b391
fix(inbox): address Greptile review findings
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 12:16:34 -05:00
dotta and Paperclip
fd6cfc7149
fix(routines): address Greptile review findings
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 12:09:02 -05:00
dotta and Paperclip
50e9f69010
fix(ui): surface skipped wakeup messages in agent detail
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 11:52:43 -05:00
dotta and Paperclip
38a0cd275e
test(ui): cover routine run variables dialog
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 11:52:13 -05:00
dotta and Paperclip
bd6d07d0b4
fix(ui): polish issue detail timelines and attachments
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 11:51:40 -05:00
dotta and Paperclip
3ab7d52f00
feat(inbox): add operator search and keyboard controls
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 11:45:15 -05:00
dotta and Paperclip
909e8cd4c8
feat(routines): add workspace-aware routine runs
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 11:38:57 -05:00
Dotta
36376968af
Merge pull request #2527 from paperclipai/PAP-806-telemetry-implementation-in-paperclip-plan
...
Add app, server, and plugin telemetry plumbing
2026-04-02 11:10:16 -05:00
dotta and Paperclip
29d0e82dce
fix: make feedback migration replay-safe after rebase
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:54:56 -05:00
dotta and Paperclip
1c1040e219
test: make cli telemetry test deterministic in CI
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:30 -05:00
dotta and Paperclip
0ec8257563
fix: include shared telemetry sources in cli typecheck
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:30 -05:00
dotta and Paperclip
38833304d4
fix: restore cli telemetry config handling in worktrees
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:30 -05:00
dotta and Paperclip
85e6371cb6
fix: use agent role for first heartbeat telemetry
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:30 -05:00
dotta and Paperclip
daea94a2ed
test: align task-completed telemetry assertion with agent role
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:30 -05:00
c18b3cb414
fix: use agent role instead of adapter type in task_completed telemetry
...
The agent.task_completed event was sending adapterType (e.g. "claude_local")
as the agent_role dimension instead of the actual role (e.g. "engineer").
Co-Authored-By: Paperclip <noreply@paperclip.ing >
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 10:47:30 -05:00
dotta
af844b778e
Add plugin telemetry bridge capability
...
Expose telemetry.track through the plugin SDK and server host bridge, forward plugin-prefixed events into the shared telemetry client, and demonstrate the capability in the kitchen sink example.\n\nCo-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:29 -05:00
dotta and Paperclip
53dbcd185e
fix: align telemetry client payload and dimensions with backend schema
...
Restructure the TelemetryClient to send the correct backend envelope
format ({app, schemaVersion, installId, events: [{name, occurredAt, dimensions}]})
instead of the old per-event format. Update all event dimension names
to match the backend registry (agent_role, adapter_type, error_code, etc.).
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:29 -05:00
dotta and Paperclip
f16de6026d
fix: add periodic flush and graceful shutdown for server-side telemetry
...
The TelemetryClient only flushed at 50 events, so the server silently
lost all queued telemetry on restart. Add startPeriodicFlush/stop methods
to TelemetryClient, wire up 60s periodic flush in server initTelemetry,
and flush on SIGTERM/SIGINT before exit.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:29 -05:00
dotta and Paperclip
34044cdfce
feat: implement app-side telemetry sender
...
Add the shared telemetry sender, wire the CLI/server emit points,
and cover the config and completion behavior with tests.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:47:29 -05:00
Dotta
ca5659f734
Merge pull request #2529 from paperclipai/PAP-880-thumbs-capture-for-evals-feature-pr
...
Add feedback voting and thumbs capture flow
2026-04-02 10:44:50 -05:00
dotta and Paperclip
d12e3e3d1a
Fix feedback review findings
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 10:03:07 -05:00
dotta and Paperclip
c0d0d03bce
Add feedback voting and thumbs capture flow
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 09:11:49 -05:00
Dotta
3db6bdfc3c
Merge pull request #2414 from aronprins/skill/routines
...
feat(skills): add paperclip-routines skill
2026-04-02 06:37:44 -05:00
dotta and Paperclip
6524dbe08f
fix(skills): move routines docs into paperclip references
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-02 06:28:04 -05:00
Dotta
2c1883fc77
Merge pull request #2449 from statxc/feat/github-enterprise-url-support
...
feat: GitHub enterprise url support
2026-04-02 06:07:44 -05:00
Dotta
6c2c63e0f1
Merge pull request #2328 from bittoby/fix/project-slug-collision
...
Fix: project slug collisions for non-English names (#2318 )
2026-04-01 09:34:23 -05:00
Dotta
461779a960
Merge pull request #2430 from bittoby/fix/add-gemini-local-to-adapter-types
...
fix: add gemini_local to AGENT_ADAPTER_TYPES validation enum
2026-04-01 09:18:39 -05:00
Dotta
e0f64c04e7
Merge pull request #2407 from radiusred/chore/docker-improvements
...
chore(docker): improve base image and organize docker files
2026-04-01 08:14:55 -05:00
Dotta
5b479652f2
Merge pull request #2327 from radiusred/fix/env-var-plain-to-secret-data-loss
...
fix(ui): preserve env var when switching type from Plain to Secret
2026-03-31 11:37:07 -05:00
Dotta
ebc6888e7d
Merge pull request #1923 from radiusred/fix/docker-volumes
...
fix(docker): remap container UID/GID at runtime to avoid volume mount permission errors
2026-03-31 08:46:27 -05:00
Dotta
9f1bb350fe
Merge pull request #2065 from edimuj/fix/heartbeat-session-reuse
...
fix: preserve session continuity for timer/heartbeat wakes
2026-03-31 08:29:45 -05:00
Dotta
46ce546174
Merge pull request #2317 from paperclipai/PAP-881-document-revisions-bulid-it
...
Add issue document revision restore flow
2026-03-31 08:25:07 -05:00
dotta
90889c12d8
fix(db): make document revision migration replay-safe
2026-03-31 08:09:00 -05:00
dotta
761dce559d
test(worktree): avoid assuming a specific free port
2026-03-31 07:44:19 -05:00
dotta
41f261eaf5
Merge public-gh/master into PAP-881-document-revisions-bulid-it
2026-03-31 07:31:17 -05:00
Dotta
8427043431
Merge pull request #112 from kevmok/add-gpt-5-4-xhigh-effort
...
Add gpt-5.4 fallback and xhigh effort options
2026-03-31 06:19:38 -05:00
Dotta
19aaa54ae4
Merge branch 'master' into add-gpt-5-4-xhigh-effort
2026-03-31 06:19:26 -05:00
Dotta
98337f5b03
Merge pull request #2203 from paperclipai/pap-1007-workspace-followups
...
fix: preserve workspace continuity across follow-up issues
2026-03-30 15:24:47 -05:00
dotta and Paperclip
477ef78fed
Address Greptile feedback on workspace reuse
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:55:44 -05:00
Dotta
b0e0f8cd91
Merge pull request #2205 from paperclipai/pap-1007-publishing-docs
...
docs: add manual @paperclipai/ui publishing prerequisites
2026-03-30 14:48:52 -05:00
Dotta
ccb5cce4ac
Merge pull request #2204 from paperclipai/pap-1007-operator-polish
...
fix: apply operator polish across comments, invites, routines, and health
2026-03-30 14:48:24 -05:00
Dotta
5575399af1
Merge pull request #2048 from remdev/fix/codex-rpc-client-spawn-error
...
fix(codex) rpc client spawn error
2026-03-30 14:24:33 -05:00
dotta and Paperclip
2c75c8a1ec
docs: clarify npm prerequisites for first ui publish
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:15:30 -05:00
dotta and Paperclip
d8814e938c
docs: add manual @paperclipai/ui publish steps
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:15:30 -05:00
dotta
a7cfbc98f3
Fix optimistic comment draft clearing
2026-03-30 14:14:36 -05:00
dotta and Paperclip
5e65bb2b92
Add company name to invite summaries
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:14:14 -05:00
dotta and Paperclip
d7d01e9819
test: add company settings selectors
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:14:14 -05:00
dotta and Paperclip
88e742a129
Fix health DB connectivity probe
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:14:14 -05:00
dotta and Paperclip
db4e146551
Fix routine modal scrolling
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:14:14 -05:00
dotta and Paperclip
9684e7bf30
Add dark mode inbox selection color
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:14:14 -05:00
dotta and Paperclip
a3e125f796
Clarify Claude transcript event categories
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:13:52 -05:00
dotta and Paperclip
2b18fc4007
Repair server workspace package links in worktrees
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:10:36 -05:00
dotta and Paperclip
ec1210caaa
Preserve workspaces for follow-up issues
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:10:36 -05:00
dotta and Paperclip
3c66683169
Fix execution workspace reuse and slugify worktrees
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 14:10:36 -05:00
Dotta
c610192c53
Merge pull request #2074 from paperclipai/pap-979-runtime-workspaces
...
feat: expand execution workspace runtime controls
2026-03-30 08:35:50 -05:00
dotta and Paperclip
4d61dbfd34
Merge public-gh/master into pap-979-runtime-workspaces
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 08:35:30 -05:00
Dotta
26a974da17
Merge pull request #2072 from paperclipai/pap-979-board-ux
...
ui: improve board inbox and issue detail workflows
2026-03-30 08:31:29 -05:00
Dotta
8a368e8721
Merge pull request #2176 from paperclipai/fix/revert-paperclipai-script-path-clean
...
fix: restore root paperclipai script tsx path
2026-03-30 08:31:03 -05:00
dotta
c8ab70f2ce
fix: restore paperclipai tsx script path
2026-03-30 08:20:00 -05:00
Dotta
29da357c5b
Merge pull request #2071 from paperclipai/pap-979-cli-onboarding
...
cli: preserve config when onboarding existing installs
2026-03-30 07:45:19 -05:00
Dotta
4120016d30
Merge pull request #2070 from paperclipai/pap-979-commit-metrics
...
chore: add Paperclip commit metrics exporter
2026-03-30 07:44:10 -05:00
Dotta
fceefe7f09
Merge pull request #2171 from paperclipai/PAP-987-pr-1001-vite-hmr
...
fix: preserve PWA tags and StrictMode-safe live updates
2026-03-30 07:38:51 -05:00
Dotta
2d31c71fbe
Merge pull request #1744 from mvanhorn/fix/board-mutation-forwarded-host
...
fix(server): include x-forwarded-host in board mutation origin check
2026-03-30 07:34:08 -05:00
dotta and Paperclip
b5efd8b435
Merge public-gh/master into fix/hmr-websocket-reverse-proxy
...
Reconcile the PR with current master, preserve both PWA capability meta tags, and add websocket lifecycle coverage for the StrictMode-safe live updates fix.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 07:17:23 -05:00
dotta and Paperclip
fc2be204e2
Fix CLI README Discord badge
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 06:49:15 -05:00
dotta and Paperclip
92ebad3d42
Address runtime workspace review feedback
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 06:48:45 -05:00
dotta and Paperclip
5310bbd4d8
Address board UX review feedback
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 06:46:21 -05:00
dotta and Paperclip
c54b985d9f
Handle commit metrics search edge cases
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-30 06:44:46 -05:00
dotta and Paperclip
b1b3408efa
Restrict sidebar reordering to mouse input
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
57357991e4
Set inbox selection to fixed light gray
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
50577b8c63
Neutralize selected inbox accents
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
1871a602df
Align inbox non-issue selection styling
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
facf994694
Align inbox click selection styling
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
403aeff7f6
Refine mine inbox shortcut behavior
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
7d81e4cb2a
Fix mine inbox keyboard selection
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
44f052f4c5
Fix inbox selection highlight to show on individual items
...
Replace outline approach (blended with card border, invisible) with:
- 3px blue left-border bar (absolute positioned, like Gmail)
- Subtle tinted background with forced transparent children so the
highlight shows through opaque child backgrounds
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
c33dcbd202
Fix keyboard shortcuts using refs to avoid stale closures
...
Refactored keyboard handler to use refs (kbStateRef, kbActionsRef) for
all mutable state and actions. This ensures the single stable event
listener always reads fresh values instead of relying on effect
dependency re-registration which could miss updates.
Also fixed selection highlight visibility: replaced bg-accent (too
subtle) with bg-primary/10 + outline-primary/30 which is clearly
visible in both light and dark modes.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
bc61eb84df
Remove comment composer interrupt checkbox
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
74687553f3
Improve queued comment thread UX
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
4226e15128
Add issue comment interrupt support
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
cfb7dd4818
Harden optimistic comment IDs
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
52bb4ea37a
Add optimistic issue comment rendering
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
3986eb615c
fix(ui): harden issue breadcrumb source routing
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
0f9faa297b
Style markdown links with underline and pointer cursor
...
Links in both rendered markdown (.paperclip-markdown) and the MDXEditor
(.paperclip-mdxeditor-content) now display with underline text-decoration
and cursor:pointer by default. Mention chips are excluded from underline
styling to preserve their pill appearance.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
d917375e35
Fix invisible keyboard selection highlight in inbox
...
Replace ring-2 outline (clipped by overflow-hidden container) with
bg-accent background color for the selected item. Visible in both
light and dark modes.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
ce4536d1fa
Add agent Mine inbox API surface
...
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
4fd62a3d91
fix: prevent 'Mark all as read' from wrapping on mobile
...
Restructured the inbox header layout to always keep tabs and the
button on the same row using flex justify-between (no responsive
column stacking). Filter dropdowns for the All tab are now on a
separate row below.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
25066c967b
fix: clamp mention dropdown position to viewport on mobile
...
The portal-rendered mention dropdown could appear off-screen on mobile
devices. Clamp top/left to keep it within the viewport and cap width
to 100vw - 16px.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00
dotta and Paperclip
1534b39ee3
Move 'Mark all as read' button to top-right of inbox header
...
Moved the button out of the tabs wrapper and into the right-side flex
container so it aligns to the right instead of wrapping below the tabs.
The button now sits alongside the filter dropdowns (on the All tab) or
alone on the right (on other tabs).
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-29 10:57:34 -05:00