-
a3552970fe
fix(bio): add missing url_format columns + update PublicUrl tests
main
boban
2026-05-17 23:32:53 +0200
-
7d2926ce77
fix(bio): prevent page scroll-jump on slug check (#[Renderless])
boban
2026-05-17 23:30:55 +0200
-
f742b40921
feat(bio): live slug availability check while typing
boban
2026-05-17 23:25:19 +0200
-
308778b99d
fix(bio): prevent duplicate slugs within same workspace
boban
2026-05-17 23:09:17 +0200
-
deb5f310a1
fix(bio): plan-aware URL + plan-seeder + ulid→slug fix
boban
2026-05-17 22:44:54 +0200
-
c479e46f55
fix(livewire): remove require_workspace() from action methods and render()
boban
2026-05-17 15:21:15 +0200
-
2412abcde7
fix(ui): blur label during loading so only spinner visible
boban
2026-05-17 15:17:10 +0200
-
be8fdc8fe4
fix(ui): center spinner via top-1/2 left-1/2 translate instead of inset-0 flex
boban
2026-05-17 15:15:52 +0200
-
695727e321
fix(ui): spinner full opacity — remove disabled:opacity-60 from button
boban
2026-05-17 15:13:55 +0200
-
36b335819a
fix(ui): button spinner overlay — text fades to 50%, no layout shift
boban
2026-05-17 15:11:56 +0200
-
add7957430
fix(ui): proper 3/4-arc spinner centered in button, honest AI prompt
boban
2026-05-17 15:05:31 +0200
-
8cd46398c0
fix(ai): language-aware prompt, better insights, larger spinner
boban
2026-05-17 14:44:18 +0200
-
d9f665f749
fix(ai): switch to OpenAI, add error handling in Insights
boban
2026-05-17 14:40:11 +0200
-
3eada67b9a
fix(sidebar): remove collapse, fix mobile overlay and blur effect
boban
2026-05-17 14:34:33 +0200
-
e36ecb1dba
fix(BUG-2): sidebar pure Tailwind, revert logo, fix mobile translate
boban
2026-05-17 13:47:50 +0200
-
d2d43e1097
feat(BUG-2): redesign sidebar from template — Geist font, section nav, CSS-driven collapse
boban
2026-05-17 13:40:16 +0200
-
b241df93a8
fix(BUG-2): scope sidebar collapse CSS to desktop media query
boban
2026-05-17 13:14:47 +0200
-
3c24c19b19
fix: remove @persist from CSS comment to prevent Blade directive parse error
boban
2026-05-17 13:09:37 +0200
-
e71bd33e63
fix(BUG-2): drive sidebar collapse/expand via CSS attribute, not Alpine reactivity
boban
2026-05-17 13:05:33 +0200
-
3897d54ba3
fix(bug-2): sidebar-aside base width outside media query + auto-close on mobile
boban
2026-05-17 12:56:41 +0200
-
0a08d0f268
fix(bug-2): sidebar width via CSS attribute — bypasses @persist Alpine reactivity issue
boban
2026-05-17 12:52:57 +0200
-
fe257ef75b
fix(bug-2): isCollapsed as plain reactive property — getters unreliable in Alpine stores
boban
2026-05-17 12:50:11 +0200
-
d3ad4b4740
fix(bug-2): isCollapsed getter — sidebar auto-expands on mobile viewport
boban
2026-05-17 12:47:38 +0200
-
e0624b5d7c
fix(bug-2): collapse toggle hidden via max-md:hidden not hidden md:block
boban
2026-05-17 12:43:58 +0200
-
fbb57eec81
fix(bug-2): mobile sidebar close button + desktop-only collapse toggle
boban
2026-05-16 19:07:02 +0200
-
90bf5a0c53
fix(bug-2): mobile hamburger — use CSS translate property to override Tailwind v4
boban
2026-05-16 19:01:26 +0200
-
b077c8652b
fix(bug-1): adjust nim-content margins to pixel-exact values (210px / 55px)
boban
2026-05-16 18:58:55 +0200
-
326caa51ce
fix(bug-1): eliminate content-area overlap on hard-reload with collapsed sidebar
boban
2026-05-16 18:55:26 +0200
-
436d80a097
fix(FIX-13): 8 bugs — sidebar flash, mobile hamburger, AI insights, button overlay, QR modal collapse, dashboard always-active, bio themes
boban
2026-05-16 18:28:27 +0200
-
e211770312
fix(FIX-12): 10 bugs — AI workspace context, Alpine sidebar/theme, analytics clearFilters, link badge layout, slug suggest
boban
2026-05-16 18:02:23 +0200
-
28fbcba227
fix: bugs 1,4,5,7,8,9 — sidebar icon, theme button, copy-link, UTM computed, workspace context, theme sync
boban
2026-05-16 17:30:44 +0200
-
43ff6d6407
fix(FIX-10): 6 bugs — route ULID, QR modal, bio unique, nav active, copy btn, analytics context
boban
2026-05-16 17:01:16 +0200
-
2d231fe6b8
fix: bio public /b/{slug} route + QR types + code cleanup
boban
2026-05-16 16:41:05 +0200
-
5d90c375f7
fix(sidebar+scripts): correct CSS specificity, externalize test credentials
boban
2026-05-16 15:50:07 +0200
-
248c5100d1
fix(sidebar+types): mobile slide animation, close-on-navigate, PHPStan clean
boban
2026-05-16 15:47:17 +0200
-
6283e10072
snap
boban
2026-05-16 15:30:38 +0200
-
063da474f9
feat(design): refined dark editorial design audit across all views
boban
2026-05-16 15:19:17 +0200
-
257d1b94f1
feat: QR wizard, UTM Builder, A/B variants, AI features, analytics URL filters
boban
2026-05-16 15:14:19 +0200
-
1ff4114674
feat(sidebar+profile+buttons): sidebar active state, 3-tab profile, consistent button variants
boban
2026-05-16 15:14:04 +0200
-
278bc42b37
feat(ui): blade-heroicons, local fonts, smaller base font, no emoji
boban
2026-05-16 15:13:53 +0200
-
2510620f67
fix(modals): make create/edit/delete modals actually save + auto-refresh lists
boban
2026-05-16 15:13:44 +0200
-
c67bde8fc5
feat: Toaster, button-component, 10 new modals, links-page fix, vite-tuning
boban
2026-05-16 13:55:25 +0200
-
502a777afd
fix: Chart.js global, Vite 504, test DB isolation, verify script green
boban
2026-05-16 13:36:40 +0200
-
6c81dd1d48
fix: eliminate FOUC, Echo, modal duplicate, icons, test DB isolation
boban
2026-05-16 13:23:44 +0200
-
ba67f67d60
fix(ui+seed): FOUC eliminated + persistent dev-user
boban
2026-05-16 12:53:29 +0200
-
5748dd3443
style: apply Pint formatting to modal files and tests
boban
2026-05-16 12:42:16 +0200
-
fa9985cc33
feat: modal infrastructure + 11 modals (links, team, settings, workspace)
boban
2026-05-16 12:41:14 +0200
-
00673f3119
fix: Alpine double-load, FOUC, purple accent, logo/favicon
boban
2026-05-16 12:26:14 +0200
-
d0365fd34f
fix: tests green + logout route + smoke test
boban
2026-05-16 11:57:32 +0200
-
ef0105098b
fix: workspace membership + middleware owner fallback
boban
2026-05-16 11:17:54 +0200
-
52d52824bc
feat: add profile, team, settings subpages
boban
2026-05-16 11:07:31 +0200
-
b86bdd772a
fix: Tailwind v4 CSS-Loading unter Vite dev mode
boban
2026-05-16 11:00:17 +0200
-
30989523cd
feat: vollständiges Nimuli-Frontend Phase 1
boban
2026-05-16 10:52:52 +0200
-
5ac6a198b4
fix: tailwind v4 plugin order + opcache revalidate_freq=0 + npm scripts
boban
2026-05-16 10:26:15 +0200
-
e551fb62ac
fix: Vite-HMR-Websocket via /vite-hmr path + DevUserSeeder
boban
2026-05-16 09:45:40 +0200
-
c0f9ee4427
fix: trust proxies + tailwind v4 + debugbar off
boban
2026-05-16 09:08:03 +0200
-
fc5ab16f02
fix(routes): move auth.php require before slug catch-all
boban
2026-05-16 08:57:12 +0200
-
2924ec4bf6
chore(vite): remove PostCSS, route HMR through app.nimuli.com
boban
2026-05-16 08:47:25 +0200
-
ea9274be49
fix(quality): PHPStan level 6 compliance, Pint formatting
boban
2026-05-16 08:28:10 +0200
-
96ec518200
feat(domains): Domain model, DNS TXT verification action, pending verifier job
boban
2026-05-16 08:14:33 +0200
-
a394e0ff18
fix(bio): add BioPageFactory, newFactory() override on BioPage
boban
2026-05-16 08:12:54 +0200
-
e9623b9b31
feat(bio): Link-in-Bio pages with translatable fields, public render
boban
2026-05-16 08:10:59 +0200
-
d7ca84dd2e
feat(auth): TOTP 2FA enable/disable with recovery codes
boban
2026-05-16 08:08:31 +0200
-
c193e482ac
feat(ai): AiService (Anthropic adapter), GenerateSlug action
boban
2026-05-16 08:06:11 +0200
-
79da7502cd
feat(analytics): live dashboard with Reverb WebSocket, click event broadcasting
boban
2026-05-16 08:04:08 +0200
-
61718fa867
feat(ui): links index page with search, filter, delete; workspace route group
boban
2026-05-16 07:59:42 +0200
-
3929c48ea1
feat(ui): app layout with sidebar and topbar
boban
2026-05-16 07:54:31 +0200
-
a3930b5d25
test(security): assert Permissions-Policy header
boban
2026-05-16 07:52:20 +0200
-
3f6b281c62
feat(security): add HSTS, X-Frame-Options, Referrer-Policy, Permissions-Policy headers
boban
2026-05-16 07:51:33 +0200
-
e33a1fafde
fix(webhooks): HMAC integrity fix (send raw body), IPv6 SSRF protection
boban
2026-05-16 07:49:25 +0200
-
c8a6325a77
feat(webhooks): outgoing webhooks with HMAC signature, SSRF protection, retry
boban
2026-05-16 07:46:57 +0200
-
69ca1ab058
fix(link): evict cache after delete, not before
boban
2026-05-16 07:44:21 +0200
-
3568e67ca0
fix(api): use DeleteLink action for cache invalidation, fix validation, add delete tests
boban
2026-05-16 07:42:56 +0200
-
1375519cdb
feat(api): REST API v1 — links CRUD with Sanctum auth
boban
2026-05-16 07:38:45 +0200
-
8f1398380f
fix(billing): pm_type/pm_last_four migration, narrow CSRF exclusion, EU paper size
boban
2026-05-16 01:46:54 +0200
-
06dbb1dffb
feat(billing): Cashier Billable on Workspace, Stripe webhook route
boban
2026-05-16 01:35:11 +0200
-
5c5ddbbe83
fix(i18n): remove stale redis del pattern, drop dead singleton
boban
2026-05-16 01:29:45 +0200
-
b121520ed6
fix(i18n): include namespace in cache key/query, clean up singleton, test isolation
boban
2026-05-16 01:27:10 +0200
-
ce9e53d206
feat(i18n): database-backed translation loader with Redis cache
boban
2026-05-16 01:20:48 +0200
-
15f4b2c0d8
fix(qr): wifi/vcard injection protection, remove dead code
boban
2026-05-16 01:16:47 +0200
-
d3b777d8e8
feat(qr): QR code renderer (SVG + PNG), model, generate action
boban
2026-05-16 01:13:41 +0200
-
dd89ee395c
feat(billing): plan limits service, plan factory, seeder (free/pro/business/agency)
boban
2026-05-16 01:06:01 +0200
-
f757f43926
feat(analytics): hourly/daily rollups, 90-day raw click prune, schedule
boban
2026-05-16 01:03:49 +0200
-
7d47222591
fix(routing): defensive fallback, between bounds check, condition key guard
boban
2026-05-16 01:02:37 +0200
-
e06db03320
feat(routing): smart routing engine with condition evaluator (device, country, UTM)
boban
2026-05-16 01:01:47 +0200
-
86f767a626
fix(analytics): UTM from query string, iOS before macOS detection, remove dead referer fallback
boban
2026-05-16 01:00:10 +0200
-
66e559173c
feat(analytics): click recording job with IP hashing, device detection, Redis counters
boban
2026-05-16 00:56:52 +0200
-
ebdcd141bb
feat(redirect): hot-path redirect controller with Redis cache, 302/404/410
boban
2026-05-16 00:52:16 +0200
-
b59dbfd95b
fix(link): nullable field update, redis test key isolation
boban
2026-05-16 00:48:15 +0200
-
69e6318db5
feat(link): cache service, create/update/delete actions, slug generation
boban
2026-05-16 00:46:06 +0200
-
587aa09b40
fix(workspace): unique slug generation, null-safe middleware auth guard
boban
2026-05-16 00:43:55 +0200
-
49f2e3b00f
feat(workspace): create action, middleware, policies
boban
2026-05-16 00:41:32 +0200
-
ee0824302a
fix(auth): remove dummy login route, validate locale allowlist
boban
2026-05-16 00:38:32 +0200
-
9d5d5af24d
feat(auth): argon2id hashing, locale middleware, login rate limiting
boban
2026-05-16 00:32:26 +0200
-
6a96b8e0a3
fix(models): null-guard isExpired, remove FK from guarded, add return types and casts
boban
2026-05-16 00:27:15 +0200
-
dc6ed34357
fix(models): auto-generate ulid on creating for Workspace and Link
boban
2026-05-16 00:23:33 +0200
-
d0bb8f92ee
feat(models): add core domain models
boban
2026-05-16 00:19:51 +0200
-
3b19bbe88f
fix(db): null-safe unique keys on rollup tables, workspace slug unique, link slug scoping
boban
2026-05-16 00:11:39 +0200
-
23fd5a5e30
feat(db): add all Phase 1 migrations
boban
2026-05-16 00:04:01 +0200
-
25dddf5293
feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker
boban
2026-05-15 23:51:57 +0200