Commit Graph
3 Commits
Author SHA1 Message Date
NeilandOrca aab112933e Revert "fix(memory): bound OOM-prone accumulators (#10179)" (#10255)
Co-authored-by: Orca <help@stably.ai>
2026-07-23 18:35:31 -07:00
Neil 8f40ddf328 fix(memory): bound OOM-prone accumulators (#10179) 2026-07-23 06:22:56 -07:00
a81b82f640 feat(ghostty): resolve theme references during config import (#7126)
* feat(ghostty): resolve theme references during config import

`theme = <name>` is how most Ghostty configs pick their colors, but the
importer treated the key as unsupported and silently dropped the entire
palette. Resolve the referenced theme file and merge its colors as
defaults, mirroring Ghostty's own precedence:

- Search user themes first (XDG, then the native macOS dir), then the
  bundled themes inside the Ghostty install, and parse the file with the
  existing parseGhosttyConfig (theme files are plain config subsets).
- Explicit config keys win over theme values; config palette entries are
  appended after the theme's so per-index overrides apply naturally.
- Only color-bearing keys may flow from a theme into the import, a theme
  file cannot smuggle font/window settings past the user's config.
- Theme names containing path separators are rejected (no traversal),
  files over 256 KB are ignored, and light:/dark: pairs plus unresolvable
  names surface as annotated unsupportedKeys instead of vanishing.

* fix(ghostty): align theme resolution with Ghostty lookup

Co-authored-by: Orca <help@stably.ai>

* test: stabilize ghostty import CI coverage

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-07-04 14:15:35 -07:00