asignua/filament-rich-editor-toolkit
A Filament RichEditor toolkit adding customizable toolbar buttons, plugins, and content tools for Laravel admin forms. Extend rich text editing with reusable actions and a smoother authoring experience.
What this release actually is: v1.1.0 changes rendered output, not just internals. A patch-level-safe upgrade silently alters the HTML produced from already-stored content, with no application code change required. For a TPM that is the headline: this is a content-contract change dressed as a feature release.
Architecture fit
LinkOptionsPlugin and ImagePropertiesPlugin on both sides by default, which is architecturally coherent (a saved caption would otherwise vanish at render time) but means defaults are now coupled across two call sites plus config.<figure>/<figcaption> → <span class="asignua-rte-figure">/<span class="asignua-rte-caption"> swaps semantic HTML for class-based markup. That is a deliberate trade for styling control, but it moves the burden of accessibility and structured-data semantics onto the consuming theme.rel token filtering plus forced noopener noreferrer on _blank is a sensible hardening default, but it places link policy inside a vendor package rather than in your own sanitization/SEO layer.Integration feasibility
php artisan filament:assets, optionally set config. No database migration.renderer($html, links: false, images: false), plugins(links: false, images: false), and renderer.link_options / renderer.image_properties config. Three ways to express one intent is a configuration-drift risk: editor-side and renderer-side flags must be flipped together or captions are editable but invisible.Technical risk (ranked)
figure/figcaption, RSS/email/AMP exports, PDF or search indexing pipelines, Open Graph extractors, e2e snapshot tests, CSP/rel-dependent affiliate logic — sees different markup or stripped rel tokens (sponsored, nofollow, ugc may not survive unless they are in link_options.rel_tokens)._blank on links conflicts with accessibility guidance (WCAG 3.2.5 / "warn before new window" conventions) and with any product rule that keeps internal links in-tab. Confirm whether the rule applies to external links only.paste_clean.remote_image_guests or authorizeRemoteImages() is set), no outbound proxy, no decompression, and wildcard allow-list entries over public suffixes (*.co.uk) no longer match. Each is defensible hardening; together they are four silent failure paths in a feature that is off by default — hence high blast radius if you already turned it on.php artisan filament:assets leaves changed and new modules unpublished; symptom is a broken or stale editor, not an obvious error.Key questions for the maintainer
<figure>/<figcaption> content, or is flattening accepted as lossy?link_options.rel_tokens? Are sponsored, nofollow, ugc preserved for SEO/compliance?_blank apply to internal/relative links, or external only? Is it configurable per-link?renderer.link_options and renderer.image_properties in the published config, and can editor-side and renderer-side be set from a single switch?span-based figure markup documented for CSS authors, with an accessible-name strategy (caption not exposed as a caption to assistive tech)?Stack fit
filament:assets in the deploy pipeline as a mandatory, verified step (fail the build if assets are missing).Migration path
<figure>, <figcaption>, target=, and non-empty captions with inline markup. This sizes the flattening risk.link_options.rel_tokens and document it..asignua-rte-figure / .asignua-rte-caption before deploy, keeping the old figure/figcaption selectors during the transition.Compatibility
alt="" retention and caption support are additive (yes) or substitute (no) for real alt text; add authoring guidance that captions are not alt text.rel rewriter that runs after the package renderer — double-filtering can strip noopener noreferrer or re-add target.Sequencing
filament:assets in CI, internal cohort.paste_clean.remote_image_guests deliberately scoped rather than broadly enabled.Maintenance
span-based figure markup is now your styling contract; changes to it in future releases are effectively breaking for your theme.Support
Scaling
Failure modes
rel tokens stripped → affiliate/sponsored linking non-compliant.filament:assets was skipped.Ramp-up
How can I help you explore Laravel packages today?