ginjaninja 612 Posted 11 hours ago Posted 11 hours ago (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 are treated differently for the same hyperlink? thanks Edited 1 hour ago by ginjaninja
ginjaninja 612 Posted 1 hour ago Author Posted 1 hour ago (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 21 minutes ago by ginjaninja
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