staging → main: canvas error logs + console modal (PR #1178) - #1187
Merged
Merged
Conversation
…orkspaces Part 3 of 3 for the "fail fast + comprehensive logs" UX. Platform PR #1168 and controlplane #181 ship the server-side; this PR surfaces the data in the canvas. Two changes: 1. DetailsTab renders `last_sample_error` in a dedicated Error section when the workspace is failed (or degraded with an error). Before, the only trace of why a workspace failed was a generic banner — users had to click "View Logs", which opened the terminal tab (the post-boot log, empty on a runtime crash). Now the actual Python traceback is inline. A "View console output" button in the same section opens the full serial console in a modal. 2. New ConsoleModal component. Fetches GET /workspaces/:id/console (platform → CP → ec2:GetConsoleOutput). Portal-rendered above the canvas with Copy / Close / Esc handlers. Renders a friendly message on 501 (self-hosted deploys without CP) and 404 (instance terminated). 3. ProvisioningTimeout's "View Logs" button now opens the console modal instead of the (usually empty) terminal tab — when a workspace is stuck in provisioning, the cloud-init + user-data trace is what the user actually needs. Tests cover the closed-state no-fetch, happy-path fetch, 501/404 messaging, and Close/Escape wiring. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…1132) (#1153) Security fixes for the memory backup/restore endpoints merged in PR #1051. ## F1084 / #1131: Memory export exposes all workspaces GET /admin/memories/export now applies redactSecrets() to each content field before including it in the JSON response. Pre-SAFE-T1201 memories (stored before redactSecrets was mandatory on writes) no longer leak credential patterns in the admin export. ## F1085 / #1132: Memory import does not call redactSecrets POST /admin/memories/import now calls redactSecrets() on content before BOTH the deduplication check and the INSERT. This ensures: - Imported memories with embedded credentials cannot land unredacted in agent_memories (SAFE-T1201 / #838 parity with the commit_memory path). - Dedup is performed against the redacted value so two backups with the same original secret both get [REDACTED:*] as their content and are correctly treated as duplicates. ## New tests admin_memories_test.go: 6 tests covering redactSecrets parity on both Export and Import endpoints. Closes #1131. Closes #1132. Co-authored-by: Molecule AI Core-DevOps <core-devops@agents.moleculesai.app> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Molecule AI Infra-Runtime-BE <infra-runtime-be@agents.moleculesai.app>
…-logs feat(canvas): show last_sample_error + EC2 console output on failed workspaces
molecule-ai Bot
pushed a commit
that referenced
this pull request
Apr 21, 2026
staging → main: canvas error logs + console modal (PR #1178)
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.
Promotes #1178 to prod — DetailsTab error section, ConsoleModal, ProvisioningTimeout wiring.