Skip to content

fix: Remove empty line after virtual command to maintain visual continuity#74

Merged
konard merged 4 commits intomainfrom
issue-73-c42828279fb5
Jan 8, 2026
Merged

fix: Remove empty line after virtual command to maintain visual continuity#74
konard merged 4 commits intomainfrom
issue-73-c42828279fb5

Conversation

@konard
Copy link
Member

@konard konard commented Jan 8, 2026

🎯 Summary

This PR fixes the visual continuity break in docker pull output by removing an empty line that appeared between the timeline marker () and the virtual command line ($ docker pull).

📋 Issue Reference

Fixes #73

🔍 Problem

When running commands with docker isolation (e.g., $ --isolated docker -- echo 'hi'), there was an empty line breaking visual continuity:

│

$ docker pull alpine:latest

This made the output harder to read and broke the visual flow of the timeline format.

✅ Solution

Removed the console.log() / println!() call that was outputting an empty line after the virtual command block in both JavaScript and Rust implementations.

Changes Made

  1. JavaScript (js/src/lib/docker-utils.js:120):

    • Removed empty console.log() call after virtual command output
  2. Rust (rust/src/lib/isolation.rs:490):

    • Removed empty println!() call after virtual command output
  3. Test Script (experiments/test-docker-pull-output.js):

    • Added test to verify output format is correct
  4. Changelog Entries:

    • Added js/.changeset/fix-visual-continuity-73.md for JavaScript
    • Added rust/changelog.d/73.md for Rust

🧪 Testing

  • ✅ All existing JavaScript tests pass
  • ✅ All existing Rust tests pass
  • ✅ Created and verified test script showing correct output format
  • ✅ Output now flows continuously from timeline marker to command to output

Before

│

$ docker pull alpine:latest

latest: Pulling from library/alpine
...

After

│
$ docker pull alpine:latest
latest: Pulling from library/alpine
...

📝 Notes

  • This fix maintains visual continuity in the timeline format
  • Applies to all virtual command blocks (currently docker pull operations)
  • No changes to functionality, only output formatting
  • Both JavaScript and Rust implementations have been updated consistently

🤖 Generated with Claude Code

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #73
@konard konard self-assigned this Jan 8, 2026
…nuity

- Fixed visual continuity break in docker pull output
- Removed empty line between timeline marker (`│`) and virtual command line (`$ docker pull`)
- Output now flows continuously from timeline marker to command to output
- Applies to both JavaScript (js/src/lib/docker-utils.js) and Rust (rust/src/lib/isolation.rs) implementations
- Added test script to verify output format (experiments/test-docker-pull-output.js)
- Added changelog entries for both implementations

Fixes #73

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@konard konard changed the title [WIP] Do not break visual continuity fix: Remove empty line after virtual command to maintain visual continuity Jan 8, 2026
@konard konard marked this pull request as ready for review January 8, 2026 18:15
@konard
Copy link
Member Author

konard commented Jan 8, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $3.208881 USD
  • Calculated by Anthropic: $2.024440 USD
  • Difference: $-1.184441 (-36.91%)
    📎 Log file uploaded as GitHub Gist (604KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard konard merged commit 2c4e00a into main Jan 8, 2026
20 checks passed
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.

Do not break visual continuity

1 participant