ui
ui copied to clipboard
DT-3526 describe standalone activity
Description & motivation π
Implement describe standalone activity page
- On initial load of the page, the UI calls the
DescribeActivityExecutionAPI withincludeInput: trueandincludeOutcome: true - After initial load of the page, if the Activity is Running, the UI will poll the
DescribeActivityExecutionAPI withincludeInput: false,includeOutcome: true, therunIdandlongPollToken - Actions (Pause, Update, and Reset) are intended not to be functional - will do next PR
- The page should look largely similar to the EventCard used on the Pending Activities tab of a workflow execution.
Screenshots (if applicable) πΈ
Design Considerations π¨
Testing π§ͺ
How was this tested π»
- [x] Manual testing
- [ ] E2E tests added
- [ ] Unit tests added
Steps for others to test: πΆπ½ββοΈπΆπ½ββοΈ
Run temporal server from a local build
- Ensure you have cloned the temporalio/temporal repo
- Run
make binsandmake start - Running temporal server from a local build does not create the
defaultnamespace, runtemporal operator namespace create --namespace default - Create some search attributes for the
defaultnamespace, runtemporal operator search-attribute create --namespace default --name MySearchAttribute --type Keyword
Run the UI against a local build of temporal server
- Checkout the
DT-3526-describe-standalone-activitybranch in the ui repo -
cd server/ && make build -
cd .. && pnpm dev:local-temporal
Run some sample workflows in the samples-go repo
-
cd temporal-fixtures/stuck-workflows/ - In one terminal window, run
go run worker/main.go - In another terminal window, run
go run starter/main.go
Start a Standalone Activity
- In the UI, go to http://localhost:3000/namespaces/default/activities/start
- Generate a random Activity ID or use your own
- Fill the Task Queue input with
stuck-workflows - Fill the Activity Type input with
StuckWorkflowActivity - Fill the
Start to Close Timeoutfield with some long duration,1 hourfor example - Click the "Start Standalone Activity" button
- Go to
http://localhost:3000/namespaces/default/activities/<activity_id>/details
To test Activities with Payloads + Codec Server
In the samples-go repo:
-
cd codec-server - In one terminal window, run
go run ./codec-server -web=http://localhost:3000 -port=8088 - In a second terminal window, run
go run worker/main.go - In a third terminal window, run
go run starter/main.go
In the UI
- Set the Data Encoder URL to
http://localhost:8088 - Go to http://localhost:3000/namespaces/default/activities/start
- Generate a random Activity ID or use your own
- Fill the Task Queue input with
codecserver - Fill the Activity Type input with
Activity - Supply an Input
- Supply either a Start to Close Timeout or Schedule to Close Timeout
- Expand the "More Options" section, and supply Search Attribute(s), Summary, and Details
- Click the "Start Standalone Activity" button
- Go to
http://localhost:3000/namespaces/default/activities/<activity_id>/detailsand ensure payloads are being decoded.