When creating a preview manually via the dashboard, the slug field has no length enforcement. If a user enters (or the backend auto-generates) a slug longer than 11 characters, it will exceed the IFNAMSIZ limit for NixOS container interface names (ve-<name> must fit in 15 chars).
The webhook path handles this correctly via prToSlug() (server-config/preview-webhook/src/preview.ts:20-28) after #135 is merged. The manual creation path (dashboard/backend/src/previews.rs:26-73) should apply the same MAX_SLUG_LEN = 11 truncation and trailing-dash cleanup before passing the slug to the CLI.
When creating a preview manually via the dashboard, the slug field has no length enforcement. If a user enters (or the backend auto-generates) a slug longer than 11 characters, it will exceed the
IFNAMSIZlimit for NixOS container interface names (ve-<name>must fit in 15 chars).The webhook path handles this correctly via
prToSlug()(server-config/preview-webhook/src/preview.ts:20-28) after #135 is merged. The manual creation path (dashboard/backend/src/previews.rs:26-73) should apply the sameMAX_SLUG_LEN = 11truncation and trailing-dash cleanup before passing the slug to the CLI.