Repository navigation
Always emit icon_url and author URL keys in extensions v1 - #271
Merged
Merged
Conversation
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. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
api | 69eb2ae | Oct 07 2026, 02:19 AM |
Contributor
There was a problem hiding this comment.
No issues found across 3 files
Requires human review: Extensions v1 API now always emits icon_url and author URL keys as empty strings to fix legacy strict_variables crashes. This changes the public v1 response shape, so a human should sign off on the contract change.
Turn on auto-fix | Re-trigger cubic
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.
Legacy FOSSBilling installs (0.8.x) render the extension catalogue with Twig
strict_variables, where accessing a missing key throws and crashes the whole Extensions page (FOSSBilling/FOSSBilling#4486). Template-side hardening only reaches installs that upgrade, so the v1 directory API must never omit these keys.Root cause:
parseExtensionRowemittedrow.iconUrl ?? undefinedandrow.authorUrl ?? undefined.JSON.stringifydropsundefinedvalues, so entries without an icon or author URL shipped with the keys absent entirely.Change: emit
""instead ofundefinedfor both (covers/listand/:id, which shareparseExtensionRow), and makeicon_url/author.URLrequired in the v1 types to document the guarantee. Blank (rather than a placeholder image) lets old templates fall into their existing SVG fallback branch with no new network dependency.Regression test asserts on the raw response body that both keys are present with
""values for a null-icon/null-URL entry (asserting on the string matters: it is theundefined-dropping serialization that caused this).