fix: show full value on hover for truncated single-line fields#10273
Conversation
✅ Circular References ReportGenerated at: 2026-07-23T17:37:22.467Z Summary
Click to view all circular references in PR (9)Click to view all circular references in base branch (9)Analysis✅ No Change: This PR does not introduce or remove any circular references. This report was generated automatically by comparing against the |
There was a problem hiding this comment.
Pull request overview
This PR improves UX for truncated single-line inputs by showing the full value in a tooltip on hover, and enhances templating tooltips to show variable source context more clearly.
Changes:
- Extend the shared
Tooltipto support conditional display (shouldShow) and cursor-anchored positioning (followCursor), with a custom dwell timer to avoid cross-tooltip “warmup” behavior. - Wrap
OneLineEditorwith a tooltip that only appears when the editor content is horizontally truncated. - Adjust Nunjucks variable tooltip formatting and update render-context key source labels to use environment names.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| packages/insomnia/src/ui/components/tooltip.tsx | Adds cursor-following + conditional tooltip display and replaces react-stately hover delay behavior with a custom dwell timer. |
| packages/insomnia/src/ui/components/.client/codemirror/one-line-editor.tsx | Wraps the one-line editor with a tooltip that shows full content on hover only when truncated. |
| packages/insomnia/src/ui/components/.client/codemirror/extensions/nunjucks-tags.ts | Updates variable tooltip text formatting to append key source context. |
| packages/insomnia/src/common/render.ts | Changes key source labeling from internal identifiers to environment names for tooltip context. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
packages/insomnia/src/common/render.ts:447
- The
keyContextlabels for root/global environments only include “(Project)”/“(Collection)” in the fallback string, but not when the environment has a name. Since base environments are often named "Base Environment" in both scopes, this can make the rendered{source}ambiguous. Consider always suffixing the scope regardless of whethernameis present (matching the sub-environment labels).
if (rootGlobalEnvironment) {
getKeySource(rootGlobalEnvironment.data || {}, inKey, rootGlobalEnvironment.name || 'Base Environment (Project)');
}
if (subGlobalEnvironment) {
getKeySource(
subGlobalEnvironment.data || {},
inKey,
`${subGlobalEnvironment.name || 'Environment'} (Project Sub-Environment)`,
);
}
// Get Keys from root environment
getKeySource((rootEnvironment || {}).data, inKey, rootEnvironment?.name || 'Base Environment (Collection)');
| state.close(true); | ||
| }; | ||
|
|
||
| useEffect(() => clearDwellTimeout, []); |
…unjucks tags as well as text in a cell
Jira