Skip to content

feat: support opening html trace view - #811

Draft
hi-ogawa wants to merge 41 commits into
mainfrom
trace-report-preview
Draft

feat: support opening html trace view#811
hi-ogawa wants to merge 41 commits into
mainfrom
trace-report-preview

Conversation

@hi-ogawa

@hi-ogawa hi-ogawa commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This PR add per-test actions to open trace view focused layout of html report in an extension-managed webview. The webview tab is reused when switching tests and auto reselects/refreshes when the report is regenerated.

Screen.Recording.2026-09-08.at.19.36.03.mov

hi-ogawa and others added 5 commits September 3, 2026 18:07
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Comment thread packages/extension/src/api.ts Outdated
hi-ogawa and others added 6 commits September 4, 2026 11:12
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

# Conflicts:
#	packages/shared/src/index.ts
#	packages/worker-legacy/src/index.ts
#	packages/worker/src/index.ts
@hi-ogawa
hi-ogawa changed the base branch from main to refactor/worker-config-metadata September 4, 2026 02:31
hi-ogawa and others added 14 commits September 4, 2026 11:34
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Comment thread pnpm-workspace.yaml Outdated
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
@hi-ogawa hi-ogawa changed the title feat: open html trace reports feat: open html trace view Sep 4, 2026
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
@hi-ogawa
hi-ogawa marked this pull request as ready for review September 4, 2026 05:06
@hi-ogawa hi-ogawa changed the title feat: open html trace view feat: support opening html trace view Sep 4, 2026
hi-ogawa and others added 5 commits September 4, 2026 14:41
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
@hi-ogawa
hi-ogawa requested a review from sheremet-va September 4, 2026 09:45
Base automatically changed from refactor/worker-config-metadata to main September 6, 2026 20:04
hi-ogawa and others added 7 commits September 7, 2026 12:57
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

@hi-ogawa hi-ogawa left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually there might be a big ergonomic issues with multiple test cases. This requires users to re-opening browser view for each test. 🤔

@hi-ogawa
hi-ogawa marked this pull request as draft September 7, 2026 08:17
@sheremet-va

Copy link
Copy Markdown
Member

Actually there might be a big ergonomic issues with multiple test cases. This requires users to re-opening browser view for each test. 🤔

Ideally we should have a webview like playwright has for the best DX. I had a prototype for it, but never pushed

@hi-ogawa

hi-ogawa commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Actually there might be a big ergonomic issues with multiple test cases. This requires users to re-opening browser view for each test. 🤔

Ideally we should have a webview like playwright has for the best DX. I had a prototype for it, but never pushed

Push that please 😃

@sheremet-va

Copy link
Copy Markdown
Member

Actually there might be a big ergonomic issues with multiple test cases. This requires users to re-opening browser view for each test. 🤔

Ideally we should have a webview like playwright has for the best DX. I had a prototype for it, but never pushed

Push that please 😃

Had to merge conflicts, not sure if it works: #818

The initial idea was to have it for settings, but we can enhance it. Feel free to use the code from there, I don't think I will finish it 😄

* feat: prototype reusable trace webview

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* refactor: simplify trace webview navigation

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* fix: preserve trace webview origin and allow Google Fonts

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* fix: select available traces when refreshing the report

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* fix: preserve trace step when refreshing the same test

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* docs: simplify trace view description

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* docs: remove trace webview prototype note

Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>

* fix: remove trace webview padding

Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

* fix: restore light trace background

Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

* feat: use focused trace layout

Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

* docs: update trace view screenshot

Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

* fix: preserve trace attempt on refresh

Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>

* refactor: extract trace webview HTML transform

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: build trace selection hash directly

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: remove trace metadata cache busting

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* docs: clarify trace metadata URL comment

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* docs: clarify trace asset URL comment

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: extract trace webview CSP string

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: inline webview CSP source

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: extract trace webview CSS string

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: extract trace webview bootstrap

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* nit

* nit

* refactor: reload webview when opening traces

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: name debounced trace refresh

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: simplify trace hash serialization

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: clarify trace view URL hash names

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: inline trace URL hash serialization

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* nit

* refactor: separate trace reconciliation from refresh

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: reconcile trace target on results update

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: type trace selection message

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: type trace message receiver

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: remove trace message payload validation

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* nit

* refactor: align trace selection message fields

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: follow latest trace report

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* fix: refresh trace reports from filesystem events

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: group active trace view state

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: simplify trace target updates

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: clarify trace view state naming

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: remove redundant trace target assignment

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* fix: restore latest trace target fallback

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* fix: select trace from latest run across processes

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* docs: explain trace view lifecycle steps

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* docs: clarify trace open action comments

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* fix: keep selected trace when still available

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* nit

* refactor: use revision for stale trace loads

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: let report UI handle missing traces

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* refactor: narrow trace report read error handling

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* nit

* nit

* refactor: simplify trace message revision guard

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

* docs: update trace view screenshot

Co-authored-by: Codex (GPT-6) <noreply@openai.com>

---------

Co-authored-by: hi-ogawa-agent <266689927+hi-ogawa-agent@users.noreply.github.com>
Co-authored-by: OpenCode (gpt-6-astra) <noreply@opencode.ai>
Co-authored-by: Hiroshi Ogawa <4232207+hi-ogawa@users.noreply.github.com>
Co-authored-by: Codex (GPT-6) <noreply@openai.com>
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.

2 participants