Skip to content

Settings: disable NSI (Name Suggestion Index) brand suggestions#958

Open
tordans wants to merge 1 commit into
bryceco:masterfrom
tordans:cursor/disable-nsi-suggestions-6cd9
Open

Settings: disable NSI (Name Suggestion Index) brand suggestions#958
tordans wants to merge 1 commit into
bryceco:masterfrom
tordans:cursor/disable-nsi-suggestions-6cd9

Conversation

@tordans
Copy link
Copy Markdown
Contributor

@tordans tordans commented May 31, 2026

Problem

Go Map merges Name Suggestion Index (NSI) brand/chain presets into preset search (e.g. “McDonald’s”, “REWE”) and loads brand logos from the network via NsiLogoDatabase. Mappers who mostly tag generic POIs get noisier search results and extra data use from logo fetches they do not need.

As a mapper, I want to turn off brand/chain suggestions while searching for a preset, so search stays focused on generic types and the app does not download brand icons in the background—without breaking objects I already tagged with brand=* or other NSI-derived tags.

A different solution to this would be to improve how the search results are prioritized. But TBH I don't have an idea where to start and personally I never use the NSI options so this toggle would be a way to solve this.

Implementation notes (by Cursor)

  • Added UserPrefs.includeNSISuggestions (includeNSISuggestions key, iCloud-synced), default on when unset (includeNSISuggestionsEnabled).
  • Preset search respects the preference via includeNSI on enumeratePresetsAndNsiIn, featuresMatchingSearchText, and featuresInCategory (top-level search only).
  • In-panel toggle in POIFeaturePickerViewController: when the search field is non-empty, a second table section below results shows “Brand suggestions” with a UISwitch (not in the main Settings screen).
  • When off: no NSI rows in search, no nsiLogo / NsiLogoDatabase in the picker; bundled iconUnscaled is used instead; NSI star prefix on titles is hidden.
  • Common Tags type row: skips nsiLogo when off; uses bundled icon when available.
  • Unchanged (existing tag resolution): POICommonTagsViewController / POIAllTagsViewController / OsmBaseObject still use includeNSI: true for presetFeatureMatching on current object tags so already-mapped brand POIs keep matching and display correctly.

Testing notes (@tordans)

  1. Default: Fresh install or unset pref → search “mcd” (or local brand) → brand rows and logos appear; toggle is on below results.
  2. Toggle off in search: Turn off Brand suggestions below results → NSI chains disappear from list; scroll search → no new gomaposm.com logo traffic (network inspector / offline).
  3. Toggle on again: Same search → NSI results and logos return.
  4. Existing object: Map or select a POI with brand=* / NSI tags → Common Tags still shows correct type/name; tags are not stripped when toggling pref.
  5. Subcategory browse: Non-search category drill-down unchanged (std presets only).
  6. iCloud (optional): Toggle on device A, verify sync to device B via ubiquitous pref. – Not tested
BeforeAfter
nsi-hide--before.min.mov
nsi-hide--after.min.mov

Introduce includeNSISuggestions user preference (default on) and wire it
through preset search so NSI presets and remote brand logos are omitted
when disabled. Place a Brand suggestions switch below search results in
the feature picker; keep includeNSI matching for existing tagged objects.

Co-authored-by: Tobias <t@tobiasjordans.de>
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