Merged
Conversation
The record endpoint now creates a standalone HTML file with embedded metrics data instead of modifying the frontend's index.html. This ensures the original bundle is never altered and allows multiple recordings. Changes: - Add optional outputPath parameter to specify output directory or file - Default output is cwd with auto-generated filename (watt-admin-DATE-TIME.html) - Never overwrites existing files (appends -1, -2, etc. if needed) - Extract output utilities to web/backend/utils/output.ts - Add comprehensive tests for new functionality 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Adds a test that verifies the record endpoint actually creates an HTML file with embedded JSON at the specified outputPath. This test currently fails and needs investigation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
Signed-off-by: Matteo Collina <hello@matteocollina.com>
The flamegraph feature is only relevant when viewing recorded/offline data, so we now conditionally hide it when the app is in live mode. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5 tasks
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
rozzilla
reviewed
Dec 8, 2025
| anyOf: [ | ||
| { | ||
| additionalProperties: false, | ||
| additionalProperties: true, |
Member
Author
There was a problem hiding this comment.
No, because we can't guarantee it. The underlining data is coming straight from the management API... and it might have additional properties. Adding properties is a semver minor change, but with this it treats as a semver-major, breaking the client.
Member
Author
There was a problem hiding this comment.
As an example, this broke because we added one.
- Fix circular JSON error when stringifying window object in api.ts - Add modal popup showing file path when recording stops - Auto-open recording in browser when stop recording (skip during CI/tests) - Remove Load button from UI (no longer needed) - Update E2E tests to expect Recording Saved modal instead of Load button 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Roberto Bianchi <roberto.bianchi@spendesk.com>
Co-authored-by: Roberto Bianchi <roberto.bianchi@spendesk.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code