From 166ac6ed08bf5cbacba3518eedfa9c0d42db4d59 Mon Sep 17 00:00:00 2001 From: "DESKTOP-9AKG4SL\\ecomeau" Date: Fri, 10 Apr 2026 10:31:06 -0700 Subject: [PATCH 1/2] Prune unrelated channel IDs from exported tags Signed-off-by: DESKTOP-9AKG4SL\ecomeau --- .../mirth/connect/server/api/servlets/ChannelServlet.java | 7 ++++++- .../connect/server/api/servlets/ChannelServletTest.java | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java b/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java index 52bd63fc07..67827a3f2c 100644 --- a/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java +++ b/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java @@ -312,6 +312,11 @@ protected void addExportData(Channel channel, Map chann channel.getExportData().setChannelTags(channelTags .stream() .filter(tag -> tag.getChannelIds().contains(channel.getId())) + .map(tag -> { + ChannelTag exportTag = new ChannelTag(tag); + exportTag.setChannelIds(Collections.singleton(channel.getId())); + return exportTag; + }) .collect(Collectors.toList())); channel.getExportData().setDependencyIds(channelDependencies @@ -347,4 +352,4 @@ private List getCodeTemplateLibraries() { } return codeTemplateLibraries; } -} \ No newline at end of file +} diff --git a/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java b/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java index cb264b600f..27509922b9 100644 --- a/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java +++ b/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java @@ -200,8 +200,8 @@ private void verifyChannel1(Channel channel, boolean includeCodeTemplateLibrarie assertEquals(Integer.valueOf(7), exportData.getMetadata().getPruningSettings().getPruneContentDays()); assertEquals(2, exportData.getChannelTags().size()); - assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag1", "Tag 1", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1, CHANNEL_ID_2 }))))); - assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag2", "Tag 2", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1, CHANNEL_ID_3 }))))); + assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag1", "Tag 1", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1 }))))); + assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag2", "Tag 2", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1 }))))); assertEquals(1, exportData.getDependencyIds().size()); assertTrue(exportData.getDependencyIds().contains(CHANNEL_ID_2)); @@ -234,3 +234,4 @@ protected boolean isUserAuthorized() { } } + From 61cbf7ac574e44881ad9bf694978dd9859f373e6 Mon Sep 17 00:00:00 2001 From: "DESKTOP-9AKG4SL\\ecomeau" Date: Fri, 10 Apr 2026 10:31:18 -0700 Subject: [PATCH 2/2] Prune unrelated channel IDs from client exports Signed-off-by: DESKTOP-9AKG4SL\ecomeau --- client/src/com/mirth/connect/client/ui/ChannelPanel.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/com/mirth/connect/client/ui/ChannelPanel.java b/client/src/com/mirth/connect/client/ui/ChannelPanel.java index e0de345f68..803fb2f701 100644 --- a/client/src/com/mirth/connect/client/ui/ChannelPanel.java +++ b/client/src/com/mirth/connect/client/ui/ChannelPanel.java @@ -1928,7 +1928,9 @@ private void addTagsToChannel(Channel channel) { List channelTags = new ArrayList(); for (ChannelTag channelTag : getCachedChannelTags()) { if (channelTag.getChannelIds().contains(channel.getId())) { - channelTags.add(channelTag); + ChannelTag exportTag = new ChannelTag(channelTag); + exportTag.setChannelIds(Collections.singleton(channel.getId())); + channelTags.add(exportTag); } }