Bug 2043229 - Display a "Show External" button beneath attachments list to display all attachments that would redirect such as Github and Phabricator#2633
Conversation
…st to display all attachments that would redirect such as Github and Phabricator
There was a problem hiding this comment.
Pull request overview
Adds a "Show External" toggle to the BugModal attachments list that hides attachments whose MIME types match a new configurable parameter (attachment_hide_content_types), defaulting to GitHub PR and Phabricator request types. External rows are rendered hidden by default and toggled by a new footer button, mirroring the existing obsolete-toggle behavior.
Changes:
- New
attachment_hide_content_typesparam (text list of MIME types) with sensible default inBugzilla/Config/Attachment.pm. - BugModal templates count, class, and conditionally hide external attachments, and render a new "Show External" button alongside "Show Obsolete".
- BugModal JS refactors the obsolete toggle into shared state plus a new external toggle in
updateAttachmentRows().
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
Bugzilla/Config/Attachment.pm |
Adds the attachment_hide_content_types parameter with default GitHub/Phabricator types. |
extensions/BugModal/template/en/default/bug_modal/edit.html.tmpl |
Parses the param, counts external attachments, and forwards them to the attachments include. |
extensions/BugModal/template/en/default/bug_modal/attachments.html.tmpl |
Tags rows with attach-external, hides them by default, and adds the "Show External" button. |
extensions/BugModal/web/bug_modal.js |
Replaces single-state obsolete toggle with combined obsolete/external state and toggle handlers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| IF attachment_hide_types.${attachment.contenttype}; | ||
| external_attachments = external_attachments + 1; | ||
| END; | ||
| END; |
There was a problem hiding this comment.
external_attachments here only counts external-type attachments that are not obsolete.
attachments.html.tmpl:108-110 gates the "Show External" button on that count:
[% IF external_attachments %]
<button type="button" id="attachments-external-btn" class="secondary">Show External</button>
[% END %]
Following bug 2043229 requirements, a row which is both obsolete and external is only meant to show once both "Show External" and "Show Obsolete" are toggled on (bug_modal.js:279-292: function updateAttachmentRows).
So a bug with only obsolete external attachments never displays the "Show External" button, also we need that button to reveal them.
=> It could results in permanently hidden and then unreachable attachments
Quick-fix: I suggest to count obsolete and external attachments too when deciding whether to render the button, but to not include them in the subtitle number of external files
…al attachments button
No description provided.