fix(code): hide dependency details after updates - #5519
Merged
Conversation
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Mason Daugherty (mdrxy)
marked this pull request as ready for review
August 17, 2026 16:36
…te-output # Conflicts: # libs/code/deepagents_code/app.py
`/update` points at a log file instead of listing dependency churn, so that pointer has to be trustworthy. `create_update_log_path` only computes a path. `perform_upgrade` refuses some upgrades before it ever spawns an installer (unknown or unsupported install method, `brew` missing from `PATH`, the pre-release gate), and the subprocess wrapper degrades to not persisting output when the log cannot be opened — so the advertised path could name a file that never came into existence. Add `create_update_log_file`, which creates the file up front and returns `None` when it cannot, letting the caller omit the hint rather than point at an `ENOENT`. Run it off the event loop, since it globs and unlinks in the cache dir, and tolerate `None` so a log failure cannot turn a working upgrade into an "/update failed" report. Repeat the log path on the failure line. The detail there is truncated to 200 characters and the pre-install hint has scrolled away behind the installer's streamed output by then, which left a failed `/update` as the one install failure in the TUI that never named its log. Extract `format_log_follow_command` for the `tail -f` / PowerShell `Get-Content -Wait` split, replacing identical `_tail_log_command` helpers in `main.py` and `client/commands/extras.py`. Those two paths now emit a Windows-usable command as well. Tests: `test_version.py` had no update-log isolation, so any test reaching `create_update_log_path` pruned the developer's real cache directory — `UPDATE_LOG_DIR` is module-level and no environment variable redirects it. Add an autouse fixture. Pin the success branch in the dependency-listing test: `ErrorMessage` is not an `AppMessage` subclass, so a swallowed exception was invisible to its assertions and could make them pass vacuously. Cover the failure line naming its log, and an uncreatable log being skipped instead of advertised.
…into mdrxy/code/quiet-update-output
Mason Daugherty (mdrxy)
pushed a commit
that referenced
this pull request
Aug 18, 2026
> [!CAUTION] > Merging this PR will automatically publish to **PyPI** and create a **GitHub release**. For the full release process, see [`.github/RELEASING.md`](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md). --- _Release notes preview: keep this section in sync with the package `CHANGELOG.md`. Publish reads the merged CHANGELOG via `release.yml`, not this PR description — keep them aligned anyway so the PR stays an accurate historical record for reviewers and anyone returning later._ --- ## [0.1.57](deepagents-code==0.1.56...deepagents-code==0.1.57) (2026-08-18) ### Features - Added warnings before expensive cold-cache turns and trust user-declared endpoints for cold-cache policies ([#5439](#5439), [#5462](#5462)). - Made the chat input resizable by dragging its top border ([#5524](#5524)). - Added a `multi_select` question type to `ask_user` ([#5097](#5097)). - Added support for ACP approval modes ([#5394](#5394)). - Added `DeepSeek-V4-Pro-0813` to the model picker ([#5512](#5512)). - Show conversation turns alongside message counts ([#5571](#5571)). - Include `TERM_PROGRAM` in the resume hint ([#5548](#5548)). ### Bug Fixes - Report total context after `/offload` ([#5488](#5488)). - Fixed transcript and thread restoration issues, including hydration lag, scrolling resumed threads to the bottom, and hiding empty previous-thread hints ([#5479](#5479), [#5543](#5543), [#5552](#5552)). - Fixed Auto-mode approval handling by binding “yes” to the paired `ask_user` question and avoiding duplicate Auto denial notices ([#5038](#5038), [#5501](#5501)). - Improved reload behavior by keeping the chat input responsive during `/reload`, reporting MCP server changes, and avoiding plugin reload prompt flashes or startup hints ([#5529](#5529), [#5504](#5504), [#5500](#5500), [#5502](#5502)). - Improved dependency update UI by preserving editable fields and hiding dependency details after updates ([#5521](#5521), [#5519](#5519)). - Fixed chat UI polish issues, including detached spacer mount anchors, the unfocused input cursor, and relative timestamp toggle display ([#5516](#5516), [#5258](#5258), [#5503](#5503)). - Refresh the splash version after updates ([#5520](#5520)). _End release notes preview._ --- > [!NOTE] > A **community contributors** list and a **Special thanks** section (crediting the users who filed the issues this release's PRs closed) are appended to the GitHub release notes automatically at publish time (see [Release Pipeline](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md#release-pipeline), step 3). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: langchain-oss-automated-triage[bot] <248757908+langchain-oss-automated-triage[bot]@users.noreply.github.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.
Normal
/updateoutput no longer lists every transitive dependency change and instead shows a command for the exact persisted update log.The updater now allocates a per-operation log path and passes it through to the install, matching the existing startup-update convention without adding a new slash-command API. Explicit dependency refreshes remain detailed.
Made by Open SWE