* fix: avatar background color of ui-avatars provider
* fix: add `format=png`
* cleanup and fix display issue with png
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* Fix last group summary
* fix cursor pagination and add negative test
* Update PostsTableWithCursorPagination.php
* Update SummaryTest.php
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* Failing test for Repeater: dehydration drops shared statePath when a sibling Group is hidden
* Fix Repeater: dehydration drops shared statePath when a sibling Group is hidden
* cleanup
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* Fix dashboard route overwritten by home redirect when using tenant domain binding field
* Update web.php
* Update web.php
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* Fix dashboard route overwritten by home redirect when using tenant slug attribute
`Route::getLastGroupPrefix()` returns the raw group prefix including
binding syntax (e.g. `admin/{tenant:slug}`), but Laravel's
`RouteCollection` indexes routes by the normalized URI without binding
syntax (e.g. `admin/{tenant}`). The `isset()` check on line 182 fails
due to this key mismatch when a tenant slug attribute is configured,
causing the home redirect to be created at `/` and overwrite the
Dashboard route.
The fix strips binding syntax from the root URI before looking it up
in the route collection.
Fixesfilamentphp/filament#19582
* update snapshots
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* fix: prevent registering home route when a page owns the root path
* Make check less dependent on page `getRoutePath()`
* Update HasRoutes.php
---------
Co-authored-by: Dan Harrin <git@danharrin.com>
* Fix FilamentTimezone not working as expected
* Update and rename tests/src/Support/FilamentTimezoneTest.php to tests/src/Support/Facades/FilamentTimezoneTest.php
Signed-off-by: Dan Harrin <git@danharrin.com>
---------
Signed-off-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
* fix: pass item argument when calling query builder actions
* fix: add browser test for query builder rule deletion
* fix: add browser test for query builder rule deletion
* fix: run filament:assets before browser test for query builder rule deletion
* Add deferred badge loading for tabs
Tab badges that rely on expensive queries (e.g. COUNT on large tables)
can now be loaded asynchronously after the initial page render using
`deferBadge()`. A loading indicator is shown in place of each deferred
badge until the values are fetched via a single renderless Livewire call.
* chore: fix code style
* chore: fix code style
* Revert "chore: fix code style"
This reverts commit e1fc507b88.
* fix and clean up
* Update Tabs.php
* chore: fix code style
* bugs
* docs
* Update tabs.blade.php
---------
Co-authored-by: oddvalue <oddvalue@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: danharrin <danharrin@users.noreply.github.com>
* fix: Pass `linkProtocols` to PHP-side Tiptap `Link` mark in `RichContentRenderer`
Standard protocols (`http`, `https`, `mailto`, `tel`, etc.) work by
default because they're hardcoded in tiptap-php's `Link` mark
`allowedProtocols`. However, custom protocols configured via
`->linkProtocols()` on the `RichEditor` (e.g., app deeplinks like
`myapp://`) only reached the JS-side Tiptap editor — tiptap-php was
never informed. This caused `RichEditorStateCast` to silently strip
links with custom protocols when parsing HTML from the database into
Tiptap JSON.
This fix passes the `RichEditor`'s `linkProtocols` through
`RichContentRenderer` to tiptap-php's `Link` mark as
`allowedProtocols`.
* fixes
---------
Co-authored-by: Dan Harrin <git@danharrin.com>