Skip to content

0.1.8

Latest

Choose a tag to compare

@zyoung11 zyoung11 released this 04 Sep 15:19

pi-bin v0.1.8

fix:

  • TUI rendered every non-BMP character (emoji) as two U+FFFD replacement chars: the mini-markdown lexer fallback walked the text one UTF-16 code unit at a time, splitting surrogate pairs into lone surrogates that fail UTF-8 encoding on output. Walk surrogate pairs as one character (charCodeAt high/low check; codePointAt has no scriptc lowering)
  • selecting a model without a modelThinkingLevels entry (first pick of a new model via /model) crashed with the scriptc missing-key trap: getModelThinkingLevel indexed the settings record directly, and a missing key traps before ?. can guard. Reads over external settings JSON now go through the dyn record view
  • streaming render crashed (scriptc missing-key trap) when a latex command was cut mid-name by a streaming chunk: renderLatex hit truncated commands like backslash-m and looked them up in typed lookup tables (SYMBOLS, ACCENTS, NEGATED_SYMBOLS, replaceCharacters tables) whose dynamic keys scriptc materializes as fixed slots, so any unseen key traps instead of returning undefined. All dynamic table reads now go through the dyn record view with typeof-string narrowing