Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
126 lines
8.5 KiB
Markdown
126 lines
8.5 KiB
Markdown
# Scratchpad
|
|
|
|
## Decisions
|
|
|
|
- Keep both UX entry points: quick triage from Runs tab and full-page route for deep investigation/shareable links.
|
|
- Do not keep two independent detail implementations. Use `WorkflowRunDetails` as the canonical detail/action/log/audit inspector.
|
|
- Replace the Runs tab inline details card with a `Drawer` so operators can inspect runs without losing the table context.
|
|
- Add Previous/Next drawer navigation over the currently loaded `runs` array.
|
|
- Keep Run Studio's graph/pipeline as a full-page-only enhancement around the canonical inspector.
|
|
|
|
## Relevant files
|
|
|
|
- `ee/server/src/components/workflow-designer/WorkflowRunList.tsx`
|
|
- `ee/server/src/components/workflow-designer/WorkflowRunDetails.tsx`
|
|
- `ee/server/src/components/workflow-run-studio/RunStudioShell.tsx`
|
|
- `server/src/app/msp/workflows/runs/[runId]/page.tsx`
|
|
- `packages/ui/src/components/Drawer.tsx`
|
|
|
|
## Validation commands
|
|
|
|
- `cd server && npm run typecheck -- --pretty false`
|
|
|
|
## Notes
|
|
|
|
- Current branch: `feature/combine-workflow-details-run-info`.
|
|
- The workflow palette/layout PR has been merged into `origin/main` and is present in this branch.
|
|
|
|
## 2026-04-28 implementation notes
|
|
|
|
- `WorkflowRunList.tsx` now opens `WorkflowRunDetails` inside `Drawer` instead of rendering an inline card below the table.
|
|
- Drawer navigation uses the currently loaded `runs` array and updates `selectedRunId` for Previous/Next.
|
|
- Drawer includes an `Open full page` action that navigates to `/msp/workflows/runs/${runId}`.
|
|
- `RunStudioShell.tsx` was simplified substantially. It now owns only studio shell concerns: loading graph context, graph/list view toggle, refresh/polling for active runs, and admin permission lookup. Detailed run metadata/actions/logs/audit rendering is delegated to `WorkflowRunDetails`.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 scroll fix
|
|
|
|
- Drawer preview content now has an explicit viewport-bounded scrolling container so timeline, selected step details, logs, and audit sections can be reached.
|
|
- Run Studio shell now uses a viewport-height layout with a scrollable canonical inspector column, keeping the graph column visible while details scroll independently.
|
|
- Validation passed again: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 UI click-through results
|
|
|
|
Tested with `alga-dev` against `http://localhost:3872`.
|
|
|
|
### Full-page Workflow Run Studio checklist
|
|
|
|
- Refresh button: clicked, page remained stable and run details stayed loaded.
|
|
- Graph/List toggle: clicked List and Graph; list rendered run steps and graph rendered ReactFlow nodes.
|
|
- Graph controls: clicked zoom in, zoom out, and fit view; no visible product breakage.
|
|
- Graph/step selection: clicked a graph node and the Step Timeline View button; step details rendered.
|
|
- Step filters: opened Step status and Node type dropdowns, selected Succeeded and action.call, toggled Collapse nested blocks, then reset filters back to All statuses / All types.
|
|
- Details scroll: scrolled details column to logs and audit sections; `#workflow-run-audit-export` was reachable in viewport.
|
|
- Envelope tabs: clicked Payload, Vars, Meta, Error, Raw, then Payload again.
|
|
- Logs: typed a log search, applied, reset, selected Info level, applied, reset, and clicked Export CSV.
|
|
- Audit: scrolled to and clicked Export Audit CSV.
|
|
- Run actions: clicked Export. Opened Retry and Replay confirmation dialogs without confirming destructive actions.
|
|
|
|
### Runs tab drawer checklist
|
|
|
|
- Back to Runs page from full-page studio worked.
|
|
- Preview button opened the run preview drawer.
|
|
- Drawer showed canonical `WorkflowRunDetails` content for selected run.
|
|
- Next and Previous controls moved between loaded runs and updated the displayed run ID.
|
|
- Drawer content scroll container exposed bottom content; audit export was reachable in viewport.
|
|
- Open full page navigated from drawer to `/msp/workflows/runs/[runId]`.
|
|
- Returning to the Runs page closed the drawer and preserved the Runs view.
|
|
|
|
### Notes
|
|
|
|
- Console contained existing local-env noise about `localhost:3000/locales/en/common.json` and an Electron CSP warning.
|
|
- Radix reported a missing Dialog description warning while confirmation dialogs were open.
|
|
- ReactFlow emitted page errors after synthetic `alga-dev browser-press-key Escape` calls; this appears tied to the automation key event target rather than normal click-through behavior. Future testing should close dialogs via their Cancel buttons instead of synthetic Escape.
|
|
|
|
## 2026-04-28 UI once-over fixes
|
|
|
|
- Fixed the confirmation dialog accessibility warning by ensuring `ConfirmationDialog` always renders a `DialogDescription` for Radix.
|
|
- Adjusted `DialogDescription` to accept a custom class so confirmation dialogs can provide an sr-only description without adding duplicate visible text.
|
|
- Improved `WorkflowRunDetails` header layout: run ID now wraps/breaks safely and action buttons wrap instead of running off the right edge.
|
|
- Added horizontal scrolling/min widths for the Step Timeline and Audit Trail tables.
|
|
- Improved log filter/action layout so Apply/Reset/Export CSV wrap and align better in constrained widths.
|
|
- Rechecked full-page and drawer layouts with `alga-dev`; visible buttons stayed within viewport bounds and bottom sections remained reachable by scrolling.
|
|
- Reopened Retry dialog after the accessibility change and saw no new missing-description console warning.
|
|
- Validation passed again: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 visual grid button placement pass
|
|
|
|
- Moved run action buttons into a full-width toolbar below the run identity block so they no longer crowd or clip against the right edge of the header.
|
|
- Reduced header action buttons to `size="sm"` for better density in drawer/full-page contexts.
|
|
- Reworked Step Timeline controls into a simple two-column filter grid with the collapse toggle on its own row, avoiding the previous baseline mismatch beside select controls.
|
|
- Reworked Run Logs controls so Search and Level occupy the filter row and Apply/Reset/Export CSV sit together in a single right-aligned toolbar row.
|
|
- Rechecked element bounds with `alga-dev`; key controls are within the viewport and aligned more consistently.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 step timeline row-click improvement
|
|
|
|
- Made Step Timeline rows clickable and keyboard-activatable (`Enter`/`Space`) so users do not need to horizontally scroll to the View button on narrower screens.
|
|
- Preserved the View button for explicit affordance and stopped propagation so clicking it does not double-handle the row click.
|
|
- Verified via `alga-dev` that timeline rows expose `role="button"` and clicking a row selects/opens step details.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 audit trail DataTable + user display
|
|
|
|
- Changed the Workflow Run Details Audit Trail from a custom `Table` to the shared `DataTable` component.
|
|
- Added audit-user lookup through `getAllUsersBasic(true)` for admins and display user full name plus email/username instead of raw `user_id` when available.
|
|
- Kept a safe fallback for system/unknown users.
|
|
- Verified with `alga-dev` that the audit table renders via the datatable container and shows a human-readable user (`Paula Policy Admin`, `glinda@emeraldcity.oz`) instead of only the UUID.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 step timeline DataTable
|
|
|
|
- Changed the Step Timeline from custom `Table` components to the shared `DataTable` component.
|
|
- Preserved whole-row click behavior through `DataTable` `onRowClick`, so users can select a step without horizontally scrolling to the View button.
|
|
- Kept the explicit View action as the standard action column.
|
|
- Set non-paginated DataTables to use a page size matching loaded rows so Step Timeline and Audit Trail do not silently show only the first 10 rows.
|
|
- Verified with `alga-dev` that the Step Timeline renders as a datatable and clicking a row updates the selected `step` URL param.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|
|
|
|
## 2026-04-28 run logs DataTable
|
|
|
|
- Changed Run Logs from custom `Table` components to the shared `DataTable` component.
|
|
- Preserved log filtering, reset, export, and load-more behavior.
|
|
- Set non-paginated log DataTable page size to the loaded log count so loaded logs are not truncated to the default page size.
|
|
- Verified with `alga-dev` that Run Logs renders as a datatable container.
|
|
- Validation passed: `cd server && npm run typecheck -- --pretty false`.
|