3bf5e729fc
feat(01-foundation-01): register branding package in root vitest config
...
- Add "packages/branding" to root vitest.config.ts projects array
- Enables pnpm vitest run --project "@paperclipai/branding" from repo root
2026-04-01 07:44:02 +02:00
bc9fd5d81b
[nexus] chore(01-02): install commit-msg hook and enable git rerere
...
- Add scripts/nexus-commit-msg-hook.sh (tracked source for hook)
- Install hook at .git/hooks/commit-msg (executable)
- Enable git rerere with autoupdate for automated conflict re-resolution
2026-04-01 07:43:45 +02:00
31b9fc1639
feat(01-foundation-01): scaffold branding package with VOCAB constant and tests
...
- Create packages/branding/ workspace package (@paperclipai/branding)
- Add VOCAB constant with 8 Nexus display strings (company, companies, ceo, board, hire, fire, appName, tagline)
- Export VocabKey type for type-safe string lookups
- Add vitest config and 9 passing unit tests covering all VOCAB values
- Update pnpm-lock.yaml to link new workspace package
2026-04-01 07:43:45 +02:00
8e3fda82e8
[nexus] docs(01-02): create zone taxonomy, rebase runbook, and hook installer
...
- Add .planning/ZONE-TAXONOMY.md classifying all rename targets (DISPLAY/CODE/STORED)
- Add .planning/REBASE-RUNBOOK.md documenting range-diff rebase verification workflow
- Add scripts/install-hooks.sh for post-clone hook reinstallation
2026-04-01 07:43:45 +02: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
Cody (Radius Red)
92e03ac4e3
fix(ui): prevent dropdown snap-back when switching env var to Secret
...
Address Greptile review feedback: the plain-value fallback in emit()
caused the useEffect sync to re-run toRows(), which mapped the plain
binding back to source: "plain", snapping the dropdown back.
Fix: add an emittingRef that distinguishes local emit() calls from
external value changes (like overlay reset after save). When the
change originated from our own emit, skip the re-sync so the
transitioning row stays in "secret" mode while the user picks a secret.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 15:52:46 +00:00
Cody (Radius Red)
ce8d9eb323
fix(server): preserve adapter-agnostic keys when changing adapter type
...
When the adapter type changes via PATCH, the server only preserved
instruction bundle keys (instructionsBundleMode, etc.) from the
existing config. Adapter-agnostic keys like env, cwd, timeoutSec,
graceSec, promptTemplate, and bootstrapPromptTemplate were silently
dropped if the PATCH payload didn't explicitly include them.
This caused env var data loss when adapter type was changed via the
UI or API without sending the full existing adapterConfig.
The fix preserves these adapter-agnostic keys from the existing config
before applying the instruction bundle preservation, matching the
UI's behavior in AgentConfigForm.handleSave.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 15:42:03 +00:00
Cody (Radius Red)
06cf00129f
fix(ui): preserve env var when switching type from Plain to Secret
...
When changing an env var's type from Plain to Secret in the agent
config form, the row was silently dropped because emit() skipped
secret rows without a secretId. This caused data loss — the variable
disappeared from both the UI and the saved config.
Fix: keep the row as a plain binding during the transition state
until the user selects an actual secret. This preserves the key and
value so nothing is lost.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 15:09:54 +00: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
Cody (Radius Red)
d134d5f3a1
fix: support host UID/GID mapping for volume mounts
...
- Add USER_UID/USER_GID build args to Dockerfile
- Install gosu and remap node user/group at build time
- Set node home directory to /paperclip so agent credentials resolve correctly
- Add docker-entrypoint.sh for runtime UID/GID remapping via gosu
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 23:48:21 +00: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
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
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
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
5e65bb2b92
Add company name to invite summaries
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:14:14 -05:00
dotta
d7d01e9819
test: add company settings selectors
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:14:14 -05:00
dotta
88e742a129
Fix health DB connectivity probe
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:14:14 -05:00
dotta
db4e146551
Fix routine modal scrolling
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:14:14 -05:00
dotta
9684e7bf30
Add dark mode inbox selection color
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:14:14 -05:00
dotta
a3e125f796
Clarify Claude transcript event categories
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:13:52 -05:00
dotta
2b18fc4007
Repair server workspace package links in worktrees
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:10:36 -05:00
dotta
ec1210caaa
Preserve workspaces for follow-up issues
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 14:10:36 -05:00
dotta
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
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
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
fc2be204e2
Fix CLI README Discord badge
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 06:49:15 -05:00
dotta
92ebad3d42
Address runtime workspace review feedback
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 06:48:45 -05:00
dotta
5310bbd4d8
Address board UX review feedback
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 06:46:21 -05:00
dotta
c54b985d9f
Handle commit metrics search edge cases
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 06:44:46 -05:00
Edin Mujkanovic
70702ce74f
fix: preserve session continuity for timer/heartbeat wakes
...
Timer wakes had no taskKey, so they couldn't use agentTaskSessions for
session resume. Adds a synthetic __heartbeat__ task key for timer wakes
so they participate in the full session system.
Includes 6 dedicated unit tests for deriveTaskKeyWithHeartbeatFallback.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:19:02 +02:00
dotta
b1b3408efa
Restrict sidebar reordering to mouse input
...
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-29 10:57:34 -05:00