Commit Graph
1053 Commits
Author SHA1 Message Date
Dotta 1ec06d3300 Merge public-gh/master into pap-1469-workspace-nav 2026-04-14 12:54:31 -05:00
DottaandPaperclip 6e6f538630 [codex] Improve issue detail and issue-list UX (#3678)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - A core part of that is the operator experience around reading issue
state, agent chat, and sub-task structure
> - The current branch had a long run of issue-detail and issue-list UX
fixes that all improve how humans follow and steer active work
> - Those changes mostly live in the UI/chat surface and should be
reviewed together instead of mixed with workspace/runtime work
> - This pull request packages the issue-detail, chat, markdown, and
sub-issue list improvements into one standalone change
> - The benefit is a cleaner, less jumpy, more reliable issue workflow
on desktop and mobile without coupling it to unrelated server/runtime
refactors

## What Changed

- Stabilized issue chat runtime wiring, optimistic comment handling,
queued-comment cancellation, and composer anchoring during live updates
- Fixed several issue-detail rendering and navigation regressions
including placeholder bleed, local polling scope, mobile inbox-to-issue
transitions, and visible refresh resets
- Improved markdown and rich-content handling with advisory image
normalization, editor fallback behavior, touch mention recovery, and
`issue:` quicklook links
- Refined sub-issue behavior with parent-derived defaults, current-user
inheritance fixes, empty-state cleanup, and a reusable issue-list
presentation for sub-issues
- Added targeted UI tests for the new issue-detail, chat scroll/message,
placeholder-data, markdown, and issue-list behaviors

## Verification

- `pnpm vitest run ui/src/components/IssueChatThread.test.tsx
ui/src/components/MarkdownEditor.test.tsx
ui/src/components/IssuesList.test.tsx
ui/src/context/LiveUpdatesProvider.test.tsx
ui/src/lib/issue-chat-messages.test.ts
ui/src/lib/issue-chat-scroll.test.ts
ui/src/lib/issue-detail-subissues.test.ts
ui/src/lib/query-placeholder-data.test.tsx
ui/src/hooks/usePaperclipIssueRuntime.test.tsx`

## Risks

- Medium: this branch touches the highest-traffic issue-detail UI paths,
so regressions would show up as chat/thread or sub-issue UX glitches
- The changes are UI-heavy and would benefit from reviewer screenshots
or a quick manual browser pass before merge

## Model Used

- OpenAI Codex coding agent (GPT-5-class runtime in Codex CLI; exact
deployed model ID is not exposed in this environment), reasoning
enabled, tool use and local code execution enabled

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [ ] If this change affects the UI, I have included before/after
screenshots
- [ ] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] I will address all Greptile and reviewer comments before
requesting merge

---------

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-04-14 12:50:48 -05:00
Dotta 27c5cde7ad Persist collapsed inbox groups 2026-04-14 11:52:02 -05:00
Dotta 2083888738 Fix inbox workspace grouping refresh persistence 2026-04-14 11:52:02 -05:00
Dotta 93df2d7e69 Scope issue list preferences by context 2026-04-14 11:52:02 -05:00
Dotta 4694a15217 Persist sidebar order preferences 2026-04-14 11:51:38 -05:00
Dotta 84f0ffb9dd Rebalance issue filter popover layout 2026-04-14 11:51:38 -05:00
Dotta 3a02a7de49 Fix inbox keyboard navigation across groups 2026-04-14 11:51:38 -05:00
Dotta d2c68b4893 Share issue group header styling with inbox 2026-04-14 11:51:38 -05:00
Dotta 8fdfd47af3 Add inbox archive undo shortcut 2026-04-14 11:51:38 -05:00
Dotta 99ed100981 Fix workspace runtime control requests 2026-04-14 11:51:38 -05:00
Dotta e25a58d1a0 Refine workspace command controls 2026-04-14 11:51:38 -05:00
DottaandPaperclip 335a8786de fix(ui): make runtime services JSON textarea much taller
Increased min-height from 144px to 384px on project workspace and from
128/192px to 256/384px on execution workspace so the JSON field is
comfortable to edit inline.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:51:38 -05:00
Dotta f270f30799 Add mobile collapse for inbox workspace groups 2026-04-14 11:51:37 -05:00
Dotta dca6823dee Add workspace grouping to inbox 2026-04-14 11:51:37 -05:00
Dotta 46af1e5623 Improve workspace runtime controls 2026-04-14 11:51:37 -05:00
Dotta f1c504bc48 Improve mobile project workspace cards 2026-04-14 11:51:37 -05:00
DottaandPaperclip 3638036230 Refine execution workspace detail layout
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:48:35 -05:00
Dotta 6844226572 Address Greptile navigation review 2026-04-12 21:30:50 -05:00
Dotta 0cb42f49ea Fix rebased issue detail prefetch typing 2026-04-12 21:18:57 -05:00
Dotta e59047187b Reset scroll on issue detail navigation 2026-04-12 21:14:12 -05:00
Dotta 1729e41179 Speed up issue-to-issue navigation 2026-04-12 21:14:12 -05:00
Dotta ab5eeca94e Fix stale issue live-run state 2026-04-12 20:41:31 -05:00
Dotta b649bd454f Merge pull request #3383 from paperclipai/pap-1347-codex-fast-mode
feat(codex-local): add fast mode support
2026-04-11 08:45:50 -05:00
Dotta a63e847525 fix(inbox): avoid refetching on filter-only changes 2026-04-11 08:34:17 -05:00
Dotta 1f78e55072 Broaden comment matches in issue search 2026-04-11 08:26:09 -05:00
Dotta fcab770518 Add inbox issue search fallback 2026-04-11 08:26:09 -05:00
Dotta 2d8f97feb0 feat(codex-local): add fast mode support 2026-04-11 08:21:55 -05:00
Dotta e1bf9d66a7 Merge pull request #3355 from cryppadotta/pap-1331-issue-thread-ux
feat: polish issue thread markdown and references
2026-04-11 06:55:26 -05:00
Dotta b48be80d5d fix: address PR 3355 review regressions 2026-04-11 06:40:37 -05:00
Dotta 45ebecab5a Merge pull request #3356 from cryppadotta/pap-1331-inbox-ux
feat: polish inbox and issue list workflows
2026-04-11 06:35:59 -05:00
Dotta dae888cc5d Merge pull request #3354 from cryppadotta/pap-1331-runtime-workflows
fix: harden heartbeat and adapter runtime workflows
2026-04-11 06:31:28 -05:00
Dotta 62d05a7ae2 Merge pull request #3232 from officialasishkumar/fix/clear-empty-agent-env-bindings
fix(ui): persist cleared agent env bindings on save
2026-04-11 06:23:14 -05:00
Dotta 1cd0281b4d test(ui): fix heartbeat run fixture drift 2026-04-10 22:42:52 -05:00
Dotta 65480ffab1 fix: restore inbox optimistic run fixture 2026-04-10 22:40:49 -05:00
Dotta dc94e3d1df fix: keep thread polish independent of quicklook routing 2026-04-10 22:36:45 -05:00
Dotta 0162bb332c fix: keep runtime UI changes self-contained 2026-04-10 22:36:45 -05:00
Dotta 7ec8716159 fix: keep inbox quicklook and tests standalone 2026-04-10 22:36:45 -05:00
Dotta 958c11699e feat: polish issue thread markdown and references 2026-04-10 22:26:21 -05:00
Dotta c566a9236c fix: harden heartbeat and adapter runtime workflows 2026-04-10 22:26:21 -05:00
Dotta dab95740be feat: polish inbox and issue list workflows 2026-04-10 22:26:21 -05:00
Devin Foley 548721248e fix(ui): keep latest issue document revision current (#3342)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies.
> - Board users and agents collaborate on issue-scoped documents such as
plans and revisions need to be trustworthy because they are the audit
trail for those artifacts.
> - The issue document UI now supports revision history and restore, so
the UI has to distinguish the current revision from historical revisions
correctly even while multiple queries are refreshing.
> - In `PAPA-72`, the newest content could appear under an older
revision label because the current document snapshot and the
revision-history query could temporarily disagree after an edit.
> - That made the UI treat the newest revision like a historical restore
target, which is the opposite of the intended behavior.
> - This pull request derives one authoritative revision view from both
sources, sorts revisions newest-first, and keeps the freshest revision
marked current.
> - The benefit is that revision history stays stable and trustworthy
immediately after edits instead of briefly presenting the newest content
as an older revision.

## What Changed

- Added a `document-revisions` helper that merges the current document
snapshot with fetched revision history into one normalized revision
state.
- Updated `IssueDocumentsSection` to render from that normalized state
instead of trusting either query in isolation.
- Added focused tests covering the current-revision selection and
ordering behavior.

## Verification

- `pnpm -r typecheck`
- `pnpm build`
- Targeted revision tests passed locally.
- Manual reviewer check:
  - Open an issue document with revision history.
  - Edit and save the document.
  - Immediately open the revision selector.
- Confirm the newest revision remains marked current and older revisions
remain the restore targets.

## Risks

- Low risk. The change is isolated to issue document revision
presentation in the UI.
- Main risk is merging the current snapshot with fetched history
incorrectly for edge cases, which is why the helper has focused unit
coverage.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [ ] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [ ] If this change affects the UI, I have included before/after
screenshots
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] I will address all Greptile and reviewer comments before
requesting merge
2026-04-10 17:14:06 -07:00
Dotta b00d52c5b6 Merge pull request #3015 from aronprins/feature/backups-configuration
feat(backups): gzip compression and tiered retention with UI controls
2026-04-10 11:56:12 -05:00
Dotta 0e87fdbe35 Merge pull request #3222 from paperclipai/pap-1266-issue-workflow
feat(issue-ui): refine issue workflow surfaces and live updates
2026-04-09 14:52:16 -05:00
Asish Kumar 44d94d0add fix(ui): persist cleared agent env bindings on save
Agent configuration edits already had an API path for replacing the full adapterConfig, but the edit form was still sending merge-style patches. That meant clearing the last environment variable serialized as undefined, the key disappeared from JSON, and the server merged the old env bindings back into the saved config.

Build adapter config save payloads as full replacement patches, strip undefined keys before send, and reuse the existing replaceAdapterConfig contract so explicit clears persist correctly. Add regression coverage for the cleared-env case and for adapter-type changes that still need to preserve adapter-agnostic fields.

Fixes #3179
2026-04-09 17:50:14 +00:00
dotta 3cee1f12da test(ui): wait for workspace selector in new issue dialog test 2026-04-09 10:38:21 -05:00
dotta 03dff1a29a Refine issue workflow surfaces and live updates 2026-04-09 10:26:17 -05:00
dotta 5d021583be Add draft routine defaults and run-time overrides 2026-04-09 10:19:52 -05:00
dotta b578bf1f51 Merge public-gh/master into pap-1239-ui-ux 2026-04-09 09:04:22 -05:00
dotta ce3bc329fc test(ui): align inbox badge fixture with dismissal state 2026-04-09 07:07:16 -05:00