Daniel Imms
80debafa11
Convert a lot of top level consts to const enums
2026-05-02 06:44:25 -07:00
Sridhar Ratnakumar
7a6e724bfe
Fix dispose leaks: register CursorBlinkStateManager + _pausedResizeTask
...
Three related disposable-registration gaps that leak xterm Terminal
instances when the host application unmounts a Terminal. Evidence +
full writeup at juspay/kolu#606 .
1. addon-webgl/WebglRenderer._cursorBlinkStateManager was declared
`= new MutableDisposable()` without the `this._register(...)`
wrapper that every sibling MutableDisposable in the class uses.
CursorBlinkStateManager runs a setInterval for the cursor blink
and its `dispose()` correctly clears it — but dispose() was never
called because the disposable wasn't registered. The live timer
kept the renderer (and thus the Terminal) alive past host
unmount.
2. common/TaskQueue.DebouncedIdleTask had no `dispose()` method.
Added one that clears the internal IdleTaskQueue (cancelling any
pending idle callback).
3. browser/services/RenderService._pausedResizeTask (a
DebouncedIdleTask) was not registered. Wrapped with
`this._register(...)` so RenderService.dispose propagates.
Verified in a downstream app (kolu) with a repro that toggles Focus
vs Canvas layout modes:
- Pre-fix: 24/28 disposed xterm Terminals retained past host unmount
+ forced GC.
- Post-fix: 0/28 retained.
Retention chain (before fix):
DOMTimer → ScheduledAction → V8Function
→ CursorBlinkStateManager._renderCallback → WebglRenderer
→ Terminal
2026-04-17 13:32:01 -04:00
Daniel Imms
452ee50c81
Merge pull request #5669 from Tyriar/custom_glyph_alignment
...
Use offset variants for some custom glyphs
2026-02-06 12:58:20 -08:00
Daniel Imms
6ef653e589
Merge remote-tracking branch 'upstream/master' into de_vs
2026-02-03 07:05:50 -08:00
Daniel Imms
205cf6089d
Prevent blink interval from running unless needed
...
Part of #944
2026-02-03 05:07:40 -08:00
Daniel Imms
9a778f0c98
Move back to CellColorResolver
2026-02-03 04:53:02 -08:00
Daniel Imms
f3a7cac49f
Handle options within blink state manager
2026-02-03 03:55:25 -08:00
Daniel Imms
0d2a58c9d0
Clean up lifecycle of blink manager
2026-02-03 03:48:28 -08:00
Daniel Imms
8a00898533
Implement blink rendering
...
Fixes #944
2026-02-03 03:46:21 -08:00
Daniel Imms
93c1650446
Move variant handling out of CellColorResolver.ts
2026-02-03 03:37:57 -08:00
Daniel Imms
dc4ebfd6e3
Use offset variants for some custom glyphs
...
Part of #5668
2026-02-02 08:07:04 -08:00
Daniel Imms
eea03cf0a9
Use lightweight versions of most vs/ imports
2026-01-31 22:52:19 -08:00
Daniel Imms
f80dbf3d03
Fix lint, split up namespace and interface
2026-01-30 06:21:15 -08:00
Daniel Imms
e8d99d50a6
Remove vs dependency in common
...
Fixes #5631
2026-01-30 06:03:16 -08:00
Daniel Imms
4ddd982e42
Fix blur due to canvas dim mismatch in glyph renderer
...
Fixes #5606
2026-01-13 06:23:10 -08:00
Daniel Imms
8d532a35c4
Merge pull request #5538 from Tyriar/4731_mobile_warn
...
Update viewport dims when dpr changes
2025-12-28 16:36:30 -08:00
Daniel Imms
d6df8d7902
Update viewport dims when dpr changes
...
Fixes #4731
2025-12-28 16:30:44 -08:00
Daniel Imms
c975956f2a
Merge pull request #5529 from Tyriar/worktree1
...
Force a sync render after resize occurs
2025-12-28 14:44:44 -08:00
Daniel Imms
4619a755b1
Force a sync render after resize occurs
...
Fixes #4922
Related microsoft/vscode#230120
2025-12-28 14:38:42 -08:00
Daniel Imms
f8c1f5a32f
Add idle timeout which pauses cursor blink
...
Fixes #4628
2025-12-28 13:30:58 -08:00
Daniel Imms
5d24866042
Move customGlyphs option into webgl addon
...
Fixes #5480
2025-12-24 08:35:06 -08:00
Loïc Mangeonjean
496b53d84d
fix: support shadow dom in webgl renderer
2025-05-20 16:31:17 +02:00
Daniel Imms
a8d43eb2ec
Fix issue where listeners remain after WebglRenderer throws
...
See microsoft/vscode#239838
2025-02-07 05:58:28 -08:00
Daniel Imms
6bcd4f0551
Add missing relative dir to imports
2025-01-08 10:45:41 -08:00
Daniel Imms
71f50b841f
Move webgl-specific types into addon
2025-01-08 10:39:06 -08:00
Daniel Imms
d70f2a462c
Move webgl-specific shared code into addon
...
Never got moved when canvas addon was removed
2025-01-08 10:35:39 -08:00
Daniel Imms
a7b98de833
Handle overflowing to new row
2025-01-07 06:28:59 -08:00
Daniel Imms
9912e7b331
Disable ligatures when cursor is in range
...
Fixes #5230
2025-01-06 11:08:57 -08:00
Daniel Imms
c7a1e0aea3
Handle selections in the middle of ligatures too
2025-01-06 11:03:10 -08:00
Daniel Imms
5bfb130f03
Apply same approach for rendering joined selection in webgl
2025-01-06 10:52:04 -08:00
Daniel Imms
ad08a2e15b
Render selection under ligatures for webgl
...
Part of #5231
2025-01-06 10:15:16 -08:00
Daniel Imms
b579649a39
Revert to cursor options after DECSCUSR 0
...
Fixes #3293
2024-12-20 10:34:05 -08:00
Daniel Imms
7fab293cd6
Ensure last ligature cell is updated
...
Fixes #3288
Fixes #5206
Part of microsoft/vscode#233005
2024-11-04 10:13:34 -08:00
Daniel Imms
144bdb5dd0
Move over to vs disposables
2024-07-14 16:19:20 -07:00
Daniel Imms
aee936264b
Move to MutableDisposable in vs
2024-07-14 16:09:53 -07:00
Daniel Imms
866bc9eb90
Move to dom.ts addDisposableListener
2024-07-14 16:07:39 -07:00
Daniel Imms
618954b5d6
Import right path in addons
2024-07-14 08:56:54 -07:00
Daniel Imms
ae8f2dd61a
Remove Events.ts in favor of new Event.forward
2024-07-14 08:50:37 -07:00
Daniel Imms
e267f05141
Move forwardEvent to Events.ts
2024-07-14 08:20:18 -07:00
Daniel Imms
90ff6f3d06
Migrate most EventEmitter to base/ Emitter
2024-07-14 07:41:56 -07:00
Daniel Imms
33a7a9b6a2
Implement rescaleOverlappingGlyphs in webgl
...
Part of #4969
2024-03-14 07:14:13 -07:00
Daniel Imms
8733d2cfa2
Separate link provider service from linkifier
2023-12-23 08:21:35 -08:00
Jean Pierre
9f995c6ff8
💄
2023-12-15 16:03:37 +00:00
jeanp413
81a4d860c5
💄
2023-12-12 09:21:55 -05:00
jeanp413
7ac95fab28
More fixes
2023-12-12 09:19:53 -05:00
Daniel Imms
8a1790d6d5
Merge remote-tracking branch 'upstream/master' into pr/tisilent/4801
2023-11-02 11:13:00 -07:00
Daniel Imms
390e4f30c8
Merge remote-tracking branch 'upstream/master' into pr/tisilent/4703
2023-11-02 10:39:15 -07:00
Daniel Imms
b6a09d67e2
Merge remote-tracking branch 'upstream/master' into pr/tisilent/4837
2023-11-02 09:30:17 -07:00
Daniel Imms
bb9728ccd1
from xterm -> from scoped
2023-11-01 06:50:08 -07:00
Daniel Imms
e1d19e00a5
Merge remote-tracking branch 'upstream/master' into scoped_package
2023-11-01 06:46:14 -07:00