printhive/test
dlawler489 2bbdd5d5c3 Don't split emoji when shortening text for the AI
Descriptions sent to the AI are cut to 800 characters. When the cut landed
inside an emoji (stored as two UTF-16 halves), the request carried half of it,
which DeepSeek rejects: "unexpected end of hex escape". Text is now cut before
the emoji, anything already broken in the library is replaced before sending,
and the tags, names, collection ideas and descriptions read back are cut the
same safe way.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 19:48:07 +10:00
..
fixtures Show 3MF projects plate by plate in their filament colours 2026-09-15 07:49:58 +10:00
ai.test.js Don't split emoji when shortening text for the AI 2026-09-15 19:48:07 +10:00
archives.test.js Browse archives, preview companion files, and view FBX/STEP/3DM/OBJ+MTL 2026-09-15 07:36:47 +10:00
autotag.test.js AI tags and descriptions, search by meaning, and automatic tags 2026-09-15 11:12:58 +10:00
duplicates.test.js Add duplicate finder, trash, notes, and library search/filters 2026-09-14 23:06:09 +10:00
geometry.test.js Stream-parse 3MF files so Bambu projects don't exhaust memory 2026-09-15 07:02:00 +10:00
handoff.test.js Open models in your slicer and drag files out 2026-09-15 09:15:37 +10:00
makerworld.test.js Ask for a fresh MakerWorld token when MakerWorld refuses it, then retry 2026-09-15 18:33:10 +10:00
project.test.js Open models in your slicer and drag files out 2026-09-15 09:15:37 +10:00
thumbnail.test.js Make thumbnails on the server in the background 2026-09-15 07:54:26 +10:00