apache / apache/texera

Add cache panel and canvas display to the workflow editor

Open
#5,886 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
314
Forks
187
Avg merge
1d 21h
Merged PRs (30d)
214

Description

### Task Summary

Part of #5881 (design: #5880).

Show the cache to the user: a panel that lists cache entries, marks the ones the current run can use, and lets the user clear them; and canvas markings for operators that completed from the cache and ports that have a saved result.

**Scope**
- A Cache tab in the left panel listing the workflow's cache entries (operator, port, tuple count, source execution, last updated, short cache key), with a filter for entries the current run can use and a button to clear all.
- Services that subscribe to the cache websocket events and drive the panel and the per-port labels.
- Canvas: cached operators shown in a distinct color, cached output ports marked, an operator that completed from the cache shown in the new state, and worker count reading "from cache".
- Context-menu actions to clear the cache for a selected operator, or for it and the operators upstream of it.
- Validate-time invalidation: after the editor validates a workflow, entries whose cache key no longer matches are removed, with a toggle to turn that off and a notice.
- TypeScript types for the cache entry and the two websocket events.

**Why this is safe.** Additive. If the backend sends no cache events, the panel is empty and the canvas markings stay hidden, so a workflow that does not use the cache looks and behaves as today. The result location is never sent to the UI. The one shared-code touch is the canvas port markup, which also touches the connection-validation code used by every workflow.

**Depends on.** #5885 (the cache events and endpoints the UI reads).

**Out of scope.** Any backend behavior. Cost or eviction controls.

### Task Type

- [ ] Refactor / Cleanup
- [ ] DevOps / Deployment / CI
- [ ] Testing / QA
- [ ] Documentation
- [ ] Performance
- [x] Other

Contributor guide

Open the contributing guide

Research direction

Start with the cache websocket events and endpoints from #5885, then trace the workflow editor's Cache tab, canvas port markup, and context-menu entry points. Done means the panel, cache-driven canvas states, clearing actions, validation-time invalidation toggle, notices, and TypeScript cache event types work without changing backend behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.