Skip to content

feat: Workspace Recent Changes Panel#11

Draft
falfaddaghi wants to merge 54 commits intoadw/feature-workspace-foundation-616005e8from
adw/feature-workspace-recent-changes-panel-857b7bc9
Draft

feat: Workspace Recent Changes Panel#11
falfaddaghi wants to merge 54 commits intoadw/feature-workspace-foundation-616005e8from
adw/feature-workspace-recent-changes-panel-857b7bc9

Conversation

@falfaddaghi
Copy link
Copy Markdown
Member

Summary

Adds the spec and task plan for the Workspace Recent Changes Panel feature. This feature introduces a snapshot-per-save system on the server, a server-side diff computation API, per-browser last-seen tracking via localStorage, and a slide-in dashboard panel that surfaces node-level workflow changes (added, deleted, renamed nodes) attributed to the user who saved them since the viewer's last visit.

Implementation plan: docs/tasks/feature-workspace-recent-changes-panel-857b7bc9/plan-feature-workspace-recent-changes-panel-857b7bc9.md

ADW tracking ID: 857b7bc9

Checklist

Phase 1: Foundation

  • Define SnapshotMeta, SnapshotFile, ChangeEvent, WorkflowChanges, ChangesResponse types in src/lib/workspace/types.ts
  • Implement src/lib/workspace/snapshots.ts with writeSnapshot, listSnapshots, getSnapshot, and computeChanges
  • Hook snapshot writing into saveWorkflow() in src/lib/workspace/server.ts

Phase 2: Core Implementation

  • Build diff computation engine (node_added, node_deleted, node_renamed; exclude node_moved)
  • Create snapshot list API route (GET /api/workspaces/[id]/workflows/[wid]/snapshots)
  • Create snapshot detail API route (GET /api/workspaces/[id]/workflows/[wid]/snapshots/[timestamp])
  • Create changes API route (GET /api/workspaces/[id]/changes?since=...)
  • Create useWorkspaceChanges hook with last-seen localStorage management

Phase 3: Integration

  • Build ChangesPanel component with slide-in animation, grouped layout, dismiss behavior, and colored initial badges
  • Integrate changes panel into dashboard load sequence (FR-21)
  • Wire last-seen timestamp write after both manifest and changes are rendered

Validation

  • bun run typecheck passes
  • bun run lint passes
  • bun run build passes

Key Changes

  • Spec & task docs: Full requirement specification (docs/tasks/.../) covering snapshot storage, diff computation, last-seen tracking, and the changes panel UI — including acceptance criteria, architecture decisions, and an E2E test specification.
  • Snapshot system: Per-save atomic JSON snapshots stored at {dataDir}/{workspaceId}/snapshots/{workflowId}/{timestamp}.json; append-only, URL-safe timestamped filenames.
  • Diff API: /changes?since= endpoint walks adjacent snapshot pairs, returns structured node_added / node_deleted / node_renamed events with attribution and timestamps.
  • Changes panel: Slide-in right-side panel, non-blocking, grouped by workflow, colored initial badges using the same name-hash as the awareness system, session-only dismiss.
  • Prerequisite: Requires adw/feature-workspace-foundation-616005e8 to be merged first (workspace persistence layer and PUT save endpoint).

falfaddaghi and others added 30 commits April 15, 2026 00:01
…oundation-616005e8

feat: Workspace Foundation
… div for improved layout control and overflow handling.
- Added husky to manage pre-commit hooks.
- Created a pre-commit hook to run checks before commits.
- Updated package.json to include husky as a dependency.
- Added git stash commands to save and restore changes during pre-commit checks.
- Ensured that the exit code from the checks is preserved for proper error handling.
- Added a condition to skip checks if no changes are staged.
- Enhanced user feedback during the pre-commit process with clear messages for stashing, running checks, and restoring changes.
- Ensured that the commit is blocked if any checks fail, providing better error handling.est
- Introduced a cleanup function to restore unstaged changes after pre-commit checks.
- Added a flag to track whether changes were stashed, enhancing the reliability of the process.
- Improved messaging for better user feedback during the pre-commit workflow.
- Added a message to indicate the completion of checks in the pre-commit hook.
- Improved user feedback during the pre-commit process for better clarity.
…c spawn modes, schema validation, generator logic, and connection rules.
…chema validation, detailed tests, AI generation prompt, and UI configuration fields.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ing, simplify input mappings, and integrate target-specific root directory logic.
…ndoff node payloads and parallel agent dispatch behavior.
…appings, and integrate target-specific agent generation logic.
…UI components, state management, and test coverage.
Nasrallah-AL and others added 24 commits April 22, 2026 15:42
…, editing, and suggestions; add visual completion glow for edited nodes.
…tion, update schema handling, and simplify function signature.
…date branch execution descriptions, and adjust test cases accordingly.
…document content generation for document nodes; expand AI prompt generator functionality with support for custom target fields.
…uth config tests

require.resolve/delete require.cache is a no-op under Bun ESM runtime,
making test isolation unreliable. Export _buildAuthOptions from config.ts
and call it directly after _resetCache() for deterministic re-evaluation.
# Conflicts:
#	bun.lock
#	package.json
…rt and update Docker and deployment configurations accordingly.
…ge. Refactor live cursor broadcast for improved event handling and boundary checks.
…sm. Refactor sync logic for improved performance.
…ition, persistent ownership across sessions, reconnection states, and improved sharing/leave controls.
…es, and cursor dimming; enforce ownership for workflow mutations and improve session controls.
@falfaddaghi falfaddaghi force-pushed the adw/feature-workspace-recent-changes-panel-857b7bc9 branch from d8622a3 to 76a90b1 Compare April 27, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants