Skip to content

Typstry v0.4.0

Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 12 Jul 04:47

Typstry v0.4.0 introduces permanent tab pinning for the main workspace document, automated editor sync with the sidebar explorer, and security improvements for file deletions and non-redistributable font assets.

Highlights

  • Added pinned main-document support to anchor the active main file permanently to the first tab position.
  • Implemented automatic file revealing and folder expansion in the sidebar explorer tree upon tab switches.
  • Added delete protection to block accidental deletion of the pinned main file or its parent directories.
  • Rewrote PDF preview export to guarantee that exported PDFs visually match active live previews (including template wraps and Khmer grapheme adjustments).
  • Isolated standalone preview compilations to prevent document leakage or cache corruption in multi-file workspaces.
  • Fixed Khmer selection midpoint-rounding errors that caused drag-selections to omit the first grapheme of a line.
  • Resolved Hunspell spellcheck popups interfering with Typst LSP autocomplete options in code contexts.
  • Polished settings UI and welcome screen with a project import icon and provider stability status labels.

Preview and synchronization

  • Standardized cached rendering mirrors to correctly copy hidden .typstry-preview compilation files to prevent Tinymist "file not found" failures.
  • PDF preview exports now bundle and check personal dictionaries, Khmer zero-width spacing (ZWS), and dirty drafts to output a perfect visual copy.
  • Separated preview session states so standalone preview tabs do not inherit or pollute main file build records.
  • Improved tab bar scroll-viewport calculations so scrolled-into-view tabs are never covered by the sticky pinned tab.

Complex-script editing

  • Grapheme-snapping boundary calculations now use < and <= comparisons correctly, preventing keyboard/mouse selections from omitting initial Khmer characters.
  • Disabled spellcheck triggers inside Typst code hashes (e.g. #align), ensuring the autocomplete popup falls back smoothly to LSP syntax completions.

Project workflow

  • The pinned main file tab is placed at index 0 of the tab list, has its close (x) button removed, and is protected against close actions.
  • Unsetting a file as the main file instantly renders the tab back to a normal closeable, scrollable element.
  • Added getPinnedMainFile path comparisons inside the workspace explorer context menu to throw a "The active main document cannot be deleted." native warning if deletion is triggered on the main document.
  • Cleaned up unused imports and duplicate esbuild variable declarations that caused Vite build failures.