Repository navigation
Add plugin ratings and admin-only reporting - #495
Merged
simonhamp merged 5 commits intoSep 5, 2026
Merged
Conversation
Adds PluginRating and PluginReport models with their own migrations,
enums, policies, form requests, controllers, and routes. Free plugins
can be rated by any logged-in user; paid plugins reuse the existing
User::hasPluginAccess() check. Reports are a private admin-only channel
(distinct from the existing developer messaging thread) capped at one
open report per user per plugin.
Also extracts the hardcoded support@nativephp.com address used across
7 notification call sites into config('mail.support_address').
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a Filament-only PluginReportResource with resolve/dismiss actions and a nav badge for open reports, plus an open-reports count column on the Plugins list and a RatingsRelationManager so admins can moderate abusive or fake ratings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Shows the star average/count in the header, a rating widget for eligible logged-in users, and a collapsible "Report this plugin" panel. The report panel is not for bugs — it surfaces the plugin's GitHub Issues link (or its support channel) first, before the report form itself. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… rate The "Log in to rate this plugin" link now passes the plugin page as a redirect param, which showLogin() stores as url.intended. Login, registration and GitHub sign-in all already end in redirect()->intended(), so all three routes back to the plugin. Only same-site paths are accepted so the param can't be used as an open redirect. Also hides the rating in the plugin header until there is at least one, dropping the "No ratings yet" line, and shows the average on the marketplace cards. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013QiSkWpoC7KpTegPeM1Z78
Member
|
This is great! Thanks @lessevv |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
User::hasPluginAccess()) — one rating per user, editable, removable.Plugin Reportsresource (Filament) with resolve/dismiss actions, a nav badge for open reports, and an open-reports column on the Plugins list. Ratings can be moderated (deleted) from a new relation manager on the Plugin resource.support@nativephp.com) is pulled intoconfig('mail.support_address')instead of being hardcoded in 7 different places.🤖 Generated with Claude Code