nimuli/app/Livewire
boban 308778b99d fix(bio): prevent duplicate slugs within same workspace
- Migration: add UNIQUE(workspace_id, slug) to bio_pages
  Old (subdomain_host, slug) unique allowed MySQL NULL bypass —
  two free-plan bios with NULL subdomain_host + same slug were not caught
- Edit::save(): validate slug uniqueness before update, dispatch toast on conflict
- Edit::save(): validate slug format (alphanumeric + dash/underscore, max 64)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 23:09:17 +02:00
..
Actions feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker 2026-05-15 23:51:57 +02:00
Components fix(sidebar+types): mobile slide animation, close-on-navigate, PHPStan clean 2026-05-16 15:47:17 +02:00
Forms feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker 2026-05-15 23:51:57 +02:00
Layouts feat(ui): app layout with sidebar and topbar 2026-05-16 07:54:31 +02:00
Modals fix(bio): plan-aware URL + plan-seeder + ulid→slug fix 2026-05-17 22:44:54 +02:00
Pages fix(bio): prevent duplicate slugs within same workspace 2026-05-17 23:09:17 +02:00