ginjaninja 613 Posted Thursday at 12:44 AM Posted Thursday at 12:44 AM (edited) 4.9.1.90 I have a button in UI.cs defined such public GenericItemList ScheduledTaskLink { get; set; } = new GenericItemList { new GenericListItem { PrimaryText = "Configure Scheduled Task", SecondaryText = "Manage execution intervals and triggers for this plugin", HyperLink = "#!/scheduledtasks" } i set the hyperlink in the View.cs with the worker id When i hover over the GenericItemList i get http://192.168.4.162:8096/web/index.html#!/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa (correct) (i can copy that manually and paste into address bar, its all good) but when i click i get something invalid with an extra index.html/ http://192.168.4.162:8096/web/index.html#!/index.html/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa My goal is to have a nice looking button that takes me to the tasks config page, any ideas why the two controls (GenericItemList/GenericListitem and labelitem) are treated differently for the same hyperlink? thanks Edited Thursday at 03:39 PM by ginjaninja
ginjaninja 613 Posted Thursday at 10:54 AM Author Posted Thursday at 10:54 AM (edited) This is a snippet from the configuration page response "ScheduledTaskLink": [ { "IconMode": "LargeInCircle", "Status": "Unavailable", "PrimaryText": "Configure Scheduled Task", "SecondaryText": "Manage execution intervals and triggers for this plugin", "ShowSecondaryFirst": false, "HasPercentage": false, "PercentComplete": 0, "HyperLink": "#!/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa", "HyperLinkTargetExternal": false } ], this is google response helping me analyse the browser, got to be honest i dont know if slop or not markdown ### Bug Report: GenericEdit GenericListItem HyperLink Path Corruption in emby-linkbutton / Page.js #### Steps to Reproduce 1. Create a GenericListItem inside a GenericEdit panel config screen layout. 2. Supply a standard hash-bang route payload to the HyperLink property block. #### Step 1: Raw JSON Payload Evidence (Network Tab Response) The server code populates the item data layout correctly. The raw network transmission string is entirely clean: "ScheduledTaskLink": [ { "PrimaryText": "Configure Scheduled Task", "HyperLink": "#!/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa" } ] #### Step 2: Rendered DOM State Evidence (Elements Tab) The frontend framework successfully handles the property mapping and renders a standard HTML anchor extension structure: <a is="emby-linkbutton" class="..." href="/web/index.html#!/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa" id="ScheduledTaskLink.listitem0"> #### Step 3: Click Navigation Mutation (The Bug Context) When clicked, the emby-linkbutton component executes its click listener, bypassing native link processing and passing execution directly to the base Page.js instance: `appRouter.handleAnchorClick = _page.default.handleAnchorClick` Because the client application sits on the file path `/web/index.html`, Page.js parses the href against the window context and mistakenly treats `index.html` as an active directory path component folder rather than a file. It pushes an extra `index.html/` text segment straight into the active routing token address space: FWIW i tried HyperLinkTargetExternal=true , just in case but it seems thats not available yet? devs are already aware? Edited Thursday at 12:06 PM by ginjaninja
Solution softworkz 5236 Posted 7 hours ago Solution Posted 7 hours ago On 6/11/2026 at 12:54 PM, ginjaninja said: "ScheduledTaskLink": [ { "IconMode": "LargeInCircle", "Status": "Unavailable", "PrimaryText": "Configure Scheduled Task", "SecondaryText": "Manage execution intervals and triggers for this plugin", "ShowSecondaryFirst": false, "HasPercentage": false, "PercentComplete": 0, "HyperLink": "#!/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa", "HyperLinkTargetExternal": false } ], Use "HyperLink": "/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa",
ginjaninja 613 Posted 7 hours ago Author Posted 7 hours ago 10 minutes ago, softworkz said: Use "HyperLink": "/scheduledtask?id=fdd2f33a4070897a6b3df1bb84b5c2aa", thank you - worked
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now