Vito Sansevero
d8bf461f2f
fix(library): cut display titles at 80 UTF-16 units, never inside a pair
...
The server counted code points while the Library's JavaScript counts UTF-16
units, so a first line of emoji kept 80 emoji on cards but showed 40 in the
Library. Both now cut at 80 UTF-16 units and drop a character that would
straddle the limit instead of leaving half a surrogate pair.
2026-10-20 00:01:13 -07:00
Vito Sansevero
bdd6a5cbe4
fix(library): an out-of-range last use reads as unknown, not a failed list
2026-10-19 23:05:34 -07:00
Vito Sansevero
73d7b9490b
feat(library): expose run count, last use and variant totals
2026-10-19 23:05:34 -07:00
Vito
e5da4e1d9d
feat(library): backend for native recipe editing, pair archive browsing and portable export ( #233 )
...
* feat(library): persist recoverable parent state
* feat(library): expose versioned parent metadata reads
* feat(library): protect parent metadata and archive writes
* feat(library): save native recipes with atomic outcomes
* feat(library): download complete portable library json
* fix(library): name export owners list positives per spec
* fix(library): normalise native category and harden restore and id errors
* fix(library): measure stored titles past embedded NULs
2026-10-18 20:03:15 -07:00
Vito
fdba6fd012
feat(workspace): group saved negatives in the native Prompt Library ( #210 )
...
* feat(workspace): group saved negative variants in native library (#208 )
* fix(library): preserve full name order and batch previews (#208 )
2026-10-17 14:38:03 -07:00