Skip to content

Conversation

@sreya
Copy link
Contributor

@sreya sreya commented Nov 25, 2025

No description provided.

- Add overflow: hidden and position: relative to #terminal container
  so the container constrains the canvas size rather than expanding
  to fit it
- Call fitAddon.observeResize() for automatic resize on container changes
- Use term.onResize event to notify PTY of dimension changes
  (works with both observeResize and manual fit calls)
- Keep window resize handler for browsers that don't trigger
  ResizeObserver on window resize

This ensures the terminal properly sizes itself to fill the container
on initial load and responds to container/window size changes.

fix: expose renderer publicly for FitAddon to access

FitAddon.proposeDimensions() was returning undefined because it couldn't
access the terminal's renderer to get font metrics. The renderer was
private, so FitAddon couldn't calculate the correct terminal dimensions.

Changes:
- Make Terminal.renderer public so FitAddon can access getMetrics()
- Add observeResize() call to demo/index.html
- Make initTerminal async and await term.open() in demo/index.html
- Update demo/bin/demo.js CSS to use absolute positioning for #terminal

The root cause was that FitAddon needs renderer.getMetrics() to calculate
how many cols/rows fit in the container, but the renderer field was private.
@sreya sreya merged commit 2c9ea32 into main Nov 25, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant