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
No description provided.