Skip to content

Conversation

@zah
Copy link
Member

@zah zah commented Dec 20, 2025

No description provided.

zah and others added 11 commits December 20, 2025 17:17
Add the `edit` command to CodeTracer CLI that opens a directory or file
in edit mode. This is the foundation for the IDE-like workspace feature.

- Add `edit` to StartupCommand enum in codetracerconf.nim
- Add editPath argument for the edit command
- Implement edit command handler in launch.nim that validates the path
  and launches electron with the edit argument

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

Co-Authored-By: Claude <[email protected]>
Add database storage and metadata retrieval for recent folders, enabling
the upcoming welcome screen split layout feature.

- Add `recent_folders` table to trace_index database
- Add `RecentFolder` type in common_types for cross-context compatibility
- Add CRUD operations: addRecentFolder, findRecentFolders, updateRecentFolder, removeRecentFolder
- Add `--recent-folders` flag to `ct trace-metadata` command
- Add `findRecentFoldersWithCodetracer` function for frontend retrieval

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

Co-Authored-By: Claude <[email protected]>
Split the welcome screen into two panels: recent folders on the left
and recent traces on the right. Also enable the "Open online trace"
feature and add "Open folder" button.

- Enable "Open online trace" button (was hidden)
- Fix download form label to "Download URL or key"
- Add recentFoldersView() and recentFolderView() procs
- Split welcome screen into welcome-left-panel and welcome-right-panel
- Add "Open folder" button that opens folder selection dialog
- Add IPC handlers for open-folder-dialog and load-recent-folder
- Pass recent folders data from backend to welcome screen
- Add recentFolders field to Data type

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

Co-Authored-By: Claude <[email protected]>
- Widen welcome dialog from 700px to 900px
- Change welcome-content to flex-direction: row for side-by-side panels
- Add welcome-left-panel and welcome-right-panel (50% width each)
- Add complete folder styling classes mirroring trace styles

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

Co-Authored-By: Claude <[email protected]>
- Record folder in database when opened via `ct edit <path>` command
- Add --add-recent-folder CLI option to trace-metadata command
- Track folder opens from "Open folder" dialog via IPC
- Update timestamp when reopening folder from recent folders list

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

Co-Authored-By: Claude <[email protected]>
- Add workspaceFolder field to track opened folder across mode switches
- Store workspace folder when entering edit mode
- Compare trace source folders against workspace on replay mode
- Add loadFilesystemWithCategory() for "Trace Files" category
- Add isPathInside() helper for path comparison
- Add onFilesystemCategoryLoaded IPC handler for combined tree display
- Only show "Trace Files" category when trace files are outside workspace

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

Co-Authored-By: Claude <[email protected]>
- Add ClientAction entries: aOpenTrace, aRecordNewTrace, aRecordFromLaunch
- Add "Open Trace..." and "Record New Trace..." to File menu
- Add "Record from Launch Config..." to Debug menu
- Add action handlers for new menu items
- Create launch_config.nim parser for VS Code launch.json
- Add IPC handlers for open-trace-dialog and record-from-launch
- Substitute ${workspaceFolder} variables in launch.json

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

Co-Authored-By: Claude <[email protected]>
- Add editModeLayout and lastUsedEditLayout fields to Components type
- Add loadEditLayoutConfig() for loading edit mode layout
- Enable mode-aware layout saving (saves to default_edit_layout.json in edit mode)
- Save/restore edit layout on mode switch in switchToEdit/switchToDebug
- Include isEditMode parameter in save-config IPC message

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

Co-Authored-By: Claude <[email protected]>
- Update codetracer.desktop to use `ct edit %F` for file/folder handling
- Add MimeType=inode/directory to register as directory handler
- Call update-desktop-database after installation to refresh MIME types
- Enable "Open with CodeTracer" in Linux file managers

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

Co-Authored-By: Claude <[email protected]>
- Add onLoadFolderEditMode handler in ui_js.nim to receive folder load messages
- Add onInitEditMode handler in traces.nim to initialize edit mode for a folder
- Register init-edit-mode IPC handler in ipc_utils.nim
- Register load-folder-edit-mode IPC handler in ui_js.nim

This fixes the issue where clicking "Open folder" or a recent folder
in the welcome screen would do nothing.

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

Co-Authored-By: Claude <[email protected]>
@zah zah merged commit 2a6e5c5 into main Dec 20, 2025
26 checks passed
@zah zah deleted the start-up-in-edit-mode branch December 20, 2025 15:44
@github-actions github-actions bot locked and limited conversation to collaborators Dec 20, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants