Skip to content

Fix event-variant filter false-positive: require the share target to exist - #269

Merged
cubehouse merged 1 commit into
mainfrom
fix/ush-event-variant-existence-check
Jul 28, 2026
Merged

Fix event-variant filter false-positive: require the share target to exist#269
cubehouse merged 1 commit into
mainfrom
fix/ush-event-variant-existence-check

Conversation

@cubehouse

Copy link
Copy Markdown
Member

Problem

The event-variant filter added in the prior USH fix (isEventVariantAlias) dropped any is_event=true place whose social_sharing_link?id= differed from its own place_id. That's too broad: it also drops legit entities whose share link points at an id that doesn't exist in the feed.

Concrete case — UOR Epic Universe: uor.ueu.show.meet_donkey_kong (and Meet Toad, The Cosmos Fountain) are real standalone shows, but their share link points at a phantom uor.ueu.entertainment.meet_donkey_kong the feed never emits. They were being dropped → and since they're live on the site, the sync marked them for deletion.

Fix

A place is a variant only when its share target is a different place that actually exists in the feed (a real canonical to defer to). The check now takes the set of real place_ids and moved from placeToEntity into buildEntityList (which has the full place list). Self-links and links to phantom ids are kept.

Validation (live feed, both impacted parks — UOR + USH are the only classes using this code)

  • UOR: Meet Donkey Kong / Meet Toad / The Cosmos Fountain now kept (were wrongly deleted). Still drops Hogwarts Express first/last train (true variants → canonical hogwarts_express which exists). Remaining deletions are unrelated (Summer Music Series is_event=false; Thunder Falls Terrace gone from feed).
  • USH: unchanged — Studio Tour language/last-tram variants still dropped, all 41 entities resolve, 0 unresolved parents.
  • Unit tests updated to exercise the existence check directly (self-link kept, phantom-target kept, real-target dropped). Full suite: 1523 pass.

…exist

isEventVariantAlias dropped any is_event place whose social_sharing_link id
differed from its own place_id. That wrongly flagged legit entities whose share
link points at a non-existent id — UOR's Epic Universe meets
(uor.ueu.show.meet_donkey_kong) link to a phantom
uor.ueu.entertainment.meet_donkey_kong the feed never emits, so they were being
dropped and marked for deletion on the live site.

Now a place is a variant only when the share target is a DIFFERENT place that
actually EXISTS in the feed (the canonical to defer to). The check takes the set
of real place_ids; it moved from placeToEntity into buildEntityList, which has
the full place list. Self-links and links to phantom ids are kept.

Verified against the live feed: USH unchanged (Studio Tour language/last-tram
variants still dropped, 41 entities resolve); UOR keeps Meet Donkey Kong / Meet
Toad / The Cosmos Fountain (were wrongly deleted), still drops Hogwarts Express
first/last train. Tests updated to exercise the existence check directly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cubehouse
cubehouse merged commit 4e7ac41 into main Jul 28, 2026
4 checks passed
@cubehouse
cubehouse deleted the fix/ush-event-variant-existence-check branch July 28, 2026 14:34
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.

1 participant