feat: optimize disable mode memory and persist connection URL#2
feat: optimize disable mode memory and persist connection URL#2kylekkkk61 wants to merge 4 commits into
Conversation
- Fix: Disable mode now properly skips UI payload generation, resolving memory bloat and UI locking. - Feat: Persist MCP slug in config to prevent random URL changes. - Feat: Bootstrap guide automatically skipped for returning users. - Fix: Isolate show_detail_mode config during tests.
|
Have you tested the Persisting only the path seems insufficient for a stable endpoint. Users who need a persistent URL should first provide their own domain or custom endpoint. |
Yes, I personally have been using this persistent connection for a few days to build a small project with Web GPT, and it works wonderfully. However, I indeed did not consider the fact that first-time users need their own domain recorded (because I was continuing to use it in my local development environment). To fix this and provide the best UX, I have just pushed an update with an auto-detect feature: when a first-time user connects, CatDesk now automatically reads the persistent @Xeift I've just pushed a new update that resolves the first-time user domain issue and ensures all cargo test pass cleanly. The PR is fully ready for review! Let me know if there's anything else needed for this to get merged. |
|
Sorry for the late response. I’ll take a look this weekend |
This pull request addresses several UX improvements and performance bottlenecks, making the tool much friendlier for both new and returning users, and significantly reducing memory usage for power users.
User Experience Improvements
mcp_sluglocally. Furthermore, when a free-tier user connects, ngrok automatically assigns a persistent*.ngrok-free.devdomain. CatDesk now intercepts this URL upon the first connection and permanently saves the domain to the user's configuration, requiring zero manual input!s) Menu Enhancements:Cmd+V/Ctrl+V) and auto-stripshttp://,https://, and trailing slashes so users can safely paste full URLs without causing connection errors.Memory Optimization (Disable Mode)
Disablemode merely hid the TUI, but the backend still generated massivewidgetJSON payloads, causing the UI to lock up on "Waiting for run_command output" in long contexts. Now, whenShowDetailMode::Disableis selected, CatDesk completely skips payload generation.Disablemode. If a user selectsExpandedorCollapsed, the rich TUI functions exactly as originally designed with full visual features.Developer & Test Stability
mascot.rswhere an empty or corrupted binagotchy archive folder in the local cache would cause a hard error (os error 2), breaking the MCP payload generation and failing tests. Invalid folders are now gracefully ignored.4.0.0) inmascot.rstests with dynamicCARGO_PKG_VERSION.ShowDetailModeconfiguration during unit testing so that a developer's localconfig.toml(e.g., if set toDisable) doesn't cause tests to fail.All
cargo testPassedWith these fixes, running
cargo testpasses 100% clean across all 69 tests.