Skip to content

De-duplicate the entries in the marketplace#5242

Closed
bmo-at-a9s wants to merge 1 commit intocloudfoundry:developfrom
anynines:feature/deduplicate-entries-marketplace
Closed

De-duplicate the entries in the marketplace#5242
bmo-at-a9s wants to merge 1 commit intocloudfoundry:developfrom
anynines:feature/deduplicate-entries-marketplace

Conversation

@bmo-at-a9s
Copy link
Copy Markdown
Contributor

Description

During the introduction of searchable tags and names, a slight mistake slipped in that duplicated entries in the marketplace and made search such that both the results of a tag search as well as a name search would show up. This is no longer the case with this patch.

Motivation and Context

We were asked by a customer to fix this, but no open issue exists.

How Has This Been Tested?

There are unit tests to test this functionality already. We also have a staging deployment to verify this is fixed.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Docs update
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have followed the guidelines in CONTRIBUTING.md, including the required formatting of the commit message

@norman-abramovitz norman-abramovitz changed the base branch from develop to feature/Angular-21 April 13, 2026 17:45
@norman-abramovitz norman-abramovitz changed the base branch from feature/Angular-21 to develop April 13, 2026 17:53
@norman-abramovitz
Copy link
Copy Markdown
Contributor

Thank you for the contribution @bmo-at-a9s! 🙏

We actually landed a fix for the marketplace duplicate entries issue on our working branch feature/Angular-21 in commit 649ba07b86 (Wayne Seguin, 2025-10-30 — "Fix frontend UI issues: duplicate services, icon sizing, and filter layouts"). That commit takes a different approach than this PR:

  • This PR: chains the filters so items must match BOTH label AND tags (intersection)
  • 649ba07b86: runs both filters independently then de-duplicates via a Map<metadata.guid, entity>, preserving items that match EITHER label OR tags (union + dedupe)

We went with the union-dedupe approach because the intersection would hide services that match the search term in the name but not in the tags (or vice versa) — e.g. searching "redis" would drop redis-cloud if its tags array doesn't also contain redis.

Closing this PR since the underlying bug is resolved with a broader fix. Happy to reconsider if you think there's a scenario our approach still misses!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants