mirror of
https://gh-proxy.org/https://github.com/klinsmaya/multica.git
synced 2026-11-10 10:26:46 +08:00
Every workspace named only in Chinese (or Japanese, Korean, emoji…) was
created with the issue prefix "WS": the server derived it from the
workspace NAME by stripping non-ASCII letters, and a CJK name strips to
nothing. Not a collision risk — a certainty, for every such team, with no
way to change it in the create flow.
New workspaces now derive their default prefix from the slug, which the
same form already forces the user to pick in ASCII, and the onboarding
field is editable instead of a read-only preview. The client preview and
the server derivation are now the same algorithm, so the create screen
stops promising an identifier the user won't get.
Existing workspaces are untouched by design: no backfill, and the
read-time fallback for rows with an empty prefix keeps the old
name-based derivation (now legacyIssuePrefixFromName, frozen and
test-guarded). Identifiers are computed at read time, so moving that
path would have rewritten every historical issue identifier in those
workspaces.
Also validates issue_prefix as ^[A-Z0-9]{1,10}$ on create and update.
Settings guarded this client-side, but the API took anything — CJK text
or a 100-character string went straight into the column.
Co-authored-by: Bohan-J <[email protected]>
Co-authored-by: multica-agent <[email protected]>