Drop EnableInMainMenu=true - broke Emby's modern ViewManager

Real error from the field: navigating to the party page threw inside
Emby's own viewmanager.js (v4.10.0.40): TypeError, cannot read
properties of undefined (reading lifeCycleAbortSignal), at
getResumeOptions/dispatchViewBeforeShow. EnableInMainMenu=true was
never confirmed by any real example (only EnableInUserMenu=true was,
via the forum thread cited in Plugin.cs) - it very likely routes the
page through the newer ViewManager meant for full content views
(Home, Movies, ...), which expects a lifecycle contract this static
embedded-resource page doesn't provide. Reverting to exactly the
confirmed-working combination.

The raw page itself was confirmed served correctly beforehand (200,
correct content, via GET /web/configurationpage?name=WatchPartyRoom)
so the plugin/registration side was never the problem - just this one
flag.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Nicolas 2026-09-13 20:01:45 +02:00
parent 6f22f72532
commit d4a365ae5c

View file

@ -63,7 +63,13 @@ namespace WatchParty
Name = "WatchPartyRoom", Name = "WatchPartyRoom",
DisplayName = "Watch Party", DisplayName = "Watch Party",
EmbeddedResourcePath = GetType().Namespace + ".Configuration.partyPage.html", EmbeddedResourcePath = GetType().Namespace + ".Configuration.partyPage.html",
EnableInMainMenu = true, // EnableInMainMenu=true was a guess, not confirmed anywhere, and
// it broke: Emby's modern ViewManager (v4.10.x) crashed trying to
// route this page as a full nav "view" (TypeError reading
// 'lifeCycleAbortSignal' in viewmanager.js - see git history).
// The one real-world confirmed-working example only ever used
// EnableInUserMenu=true with EnableInMainMenu left false/default,
// so that's what this now matches exactly.
EnableInUserMenu = true, EnableInUserMenu = true,
MenuIcon = "group", MenuIcon = "group",
IsMainConfigPage = false IsMainConfigPage = false