Repository navigation
Unify extension viewing and inline editing - #407
Conversation
Unify owner previews and section editing with local drafts, pending submission updates, a compact overview sidebar, and separate release management. Detect source hosts from URLs and derive the latest version from releases. Uses the pending-revision replacement endpoint added in FOSSBilling/api commit 5c903d9.
Share the overview sidebar, metadata icons, section navigation, and release list across public and owner views. Simplify the public header around the latest version and download action, and remove the redundant release card and legacy details components.
Render one extension URL with owner editing and pending previews or published content according to live API permissions. Update callers and mutation routes directly, keep personalized HTML private, and share the header and content rendering. Remove duplicate views and fix README HTML escaping in draft configuration. Validate ownership and cache behavior with regression tests and local role checks; all 334 tests, type checks, formatting, API generation, and production build pass.
Preserve inline editing and pending updates while adopting author attribution, package icon paths, string licenses, and opaque release requirements. Add merge regression coverage and screenshots for review.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
All reported issues were addressed across 49 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
Derive the Pending view URL from the browser location instead of a DOM or response-provided navigation target. Keep the submission response limited to success or error data.
There was a problem hiding this comment.
All reported issues were addressed across 4 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 13 files (changes from recent commits).
Requires human review: Auto-approval blocked by 24 unresolved issues from previous reviews.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 17 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 8 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 2 files (changes from recent commits).
Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 6 files (changes from recent commits).
Requires human review: Permission-aware /extension/:id unification removes CDN caching and changes the public API contract; caching/access-control tradeoffs and unverified dismissed findings (release ordering, pending metadata, field limits) need human sign-off.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 4 files (changes from recent commits).
Requires human review: Unified /extension/:id page removes CDN caching and changes the public API contract; the delta only renames comments and dismissed findings remain unresolved, so caching/auth-privacy/contract tradeoffs need human sign-off.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 11 files (changes from recent commits).
Requires human review: This rewrite unifies public/owner extension pages, but it removes CDN caching, changes the public API contract, and leaves several dismissed findings unverified; those operational, contract, and correctness tradeoffs need human sign-off.
Turn on auto-fix | Re-trigger cubic
Use one permission-aware
/extension/:idpage for visitors and owners. Owners get inline section editing, separate release management, local drafts, and Published / Pending previews (Pending opens by default). Everyone else sees published content only. Update callers and mutation endpoints directly and remove the separate account view/edit routes.Share the header, Overview sidebar, README, and release rendering. Retain the metadata icons, infer source hosts from URLs, and derive the latest version/download automatically. The editor follows the current manifest contract for author attribution, package icon paths, string licenses, and per-release compatibility constraints. Additional PHP restrictions are optional. Draft submission preserves unrelated fields and detects concurrent changes. Release edits update the overview’s compatibility; simple minimums use readable labels, and separate author attribution appears when it differs from the developer in the header.
Editing depends on the API-verified owner profile, not cookie role flags or a moderator-readable record. Personalized HTML, including error responses, is private and not cached; public API data stays cached. Release ordering follows the API’s SemVer precedence, with historical free-form tags after versioned releases.
API dependencies FOSSBilling/api#295 and FOSSBilling/api#296 are merged and deployed.
Public overview:

Owner overview:

Owner releases:
