From f60fd516ccdc211690e088f37bfba5e355765b4b Mon Sep 17 00:00:00 2001 From: Sahiba Mittal Date: Mon, 27 Jan 2025 11:22:30 +0000 Subject: [PATCH] Fix tags with special characters breaking the tags table Co-Authored-By: Niklas --- src/views/portfolio/tags/TagList.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/views/portfolio/tags/TagList.vue b/src/views/portfolio/tags/TagList.vue index 751b948c..afe0b06f 100644 --- a/src/views/portfolio/tags/TagList.vue +++ b/src/views/portfolio/tags/TagList.vue @@ -24,6 +24,8 @@ import TaggedPoliciesListModal from '@/views/portfolio/tags/TaggedPoliciesListMo import TaggedProjectListModal from '@/views/portfolio/tags/TaggedProjectListModal.vue'; import TaggedVulnerabilityListModal from '@/views/portfolio/tags/TaggedVulnerabilityListModal.vue'; import i18n from '@/i18n'; +import MurmurHash2 from 'imurmurhash'; + export default { mixins: [bootstrapTableMixin, permissionsMixin, routerMixin], components: { @@ -229,7 +231,7 @@ export default { }, buttonsOrder: ['btnDeleteSelected', 'refresh', 'columns'], clickToSelect: true, - uniqueId: 'name', + uniqueId: 'nameHash', search: true, showColumns: true, showRefresh: true, @@ -246,6 +248,11 @@ export default { refresh: 'fa-refresh', }, responseHandler: function (res, xhr) { + for (let tag of res) { + // Tag names with special characters can break table rendering. + // https://github.com/DependencyTrack/dependency-track/issues/4357 + tag.nameHash = MurmurHash2(tag.name).result(); + } res.total = xhr.getResponseHeader('X-Total-Count'); return res; },