Skip to content

fix(code): resolve message pointer shapes per cell - #5592

Merged
Mason Daugherty (mdrxy) merged 4 commits into
mainfrom
mdrxy/code/text-pointer-hitbox
Aug 18, 2026
Merged

fix(code): resolve message pointer shapes per cell#5592
Mason Daugherty (mdrxy) merged 4 commits into
mainfrom
mdrxy/code/text-pointer-hitbox

Conversation

@mdrxy

@mdrxy Mason Daugherty (mdrxy) commented Aug 18, 2026

Copy link
Copy Markdown
Member

Textual applies the pointer of a widget to all of the widget area. The message widgets set pointer: text in CSS. Therefore a short line showed a text cursor across the empty part of its row.

Each message widget now selects the shape from the cell below the mouse:

  • pointer on a link
  • text on rendered text
  • default on blank space

This changes seven widgets: UserMessage, QueuedUserMessage, AssistantMessage, DiffMessage, ErrorMessage, AppMessage and SummarizationMessage.


Made by Open SWE

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
@github-actions github-actions Bot added dcode Related to `deepagents-code` fix A bug fix (PATCH) internal User is a member of the `langchain-ai` GitHub organization size: S 50-199 LOC labels Aug 18, 2026
@mdrxy
Mason Daugherty (mdrxy) marked this pull request as ready for review August 18, 2026 14:55
@mdrxy Mason Daugherty (mdrxy) changed the title fix(code): limit assistant pointer to rendered text style(code): limit assistant pointer to rendered text Aug 18, 2026
@github-actions github-actions Bot added linting Code style or linting changes and removed fix A bug fix (PATCH) labels Aug 18, 2026
`pointer: text` in CSS applies across a widget's whole rectangle, so every
message widget showed an I-beam over the blank space beside its short lines.
`AssistantMessage` already resolved its shape per hovered cell; extend that to
the five widgets that still carried the CSS declaration so the pointer no
longer changes meaning depending on which message the mouse is over.

Share the decision through `_pointer_shape_for`, and document the Textual
internals it rests on: the `offset` selection meta is private API attached by
`Content.to_strip`, and it marks rendered text rather than selectable text.
Rename the predicate to `_event_targets_rendered_text` to match.

Set the shape on the widget itself rather than on `AssistantMessage`'s inner
`Markdown`. That hop only existed because the child declared the CSS pointer
that this change removes.
@github-actions github-actions Bot added size: M 200-499 LOC and removed size: S 50-199 LOC labels Aug 18, 2026
@mdrxy Mason Daugherty (mdrxy) changed the title style(code): limit assistant pointer to rendered text fix(code): resolve message pointer shapes per cell Aug 18, 2026
@github-actions github-actions Bot added fix A bug fix (PATCH) and removed linting Code style or linting changes labels Aug 18, 2026
@mdrxy
Mason Daugherty (mdrxy) merged commit cd4c399 into main Aug 18, 2026
99 checks passed
@mdrxy
Mason Daugherty (mdrxy) deleted the mdrxy/code/text-pointer-hitbox branch August 18, 2026 15:45
Mason Daugherty (mdrxy) pushed a commit that referenced this pull request Aug 19, 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.58](deepagents-code==0.1.57...deepagents-code==0.1.58)
(2026-08-19)

### Breaking Changes

- `deepagents-code` now requires Python 3.12 or newer.
([#5603](#5603))

### Features

- Added OpenRouter `z-ai/glm-5.3` to the model switcher.
([#5641](#5641))
- Added support for re-authenticating MCP servers from the viewer.
([#5637](#5637))
- Footer pickers can now be opened with `ctrl+click`.
([#5611](#5611))
- Resume hints now account for `TERM_PROGRAM` support before showing
terminal-specific guidance.
([#5580](#5580))

### Fixes

- Completed the `dcode config` command surface.
([#5581](#5581))
- Made `/offload` interruptible.
([#5590](#5590))
- Improved chat and footer UI behavior: rapid typing stays visible,
double-click collapses a resized chat input, and the MCP footer wraps on
narrow windows.
([#5424](#5424),
[#5578](#5578),
[#5651](#5651))
- Captured stdio MCP server stderr in the logger.
([#5610](#5610))
- Drained hook pipes after timeout.
([#5606](#5606))
- Grouped resume trace rounds.
([#5593](#5593))
- Omitted web-search prompt guidance when web search is unavailable.
([#5602](#5602))
- Resolved message pointer shapes per cell.
([#5592](#5592))

_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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dcode Related to `deepagents-code` fix A bug fix (PATCH) internal User is a member of the `langchain-ai` GitHub organization size: M 200-499 LOC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant