Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Notes
2026-08-22
Explorer page (
UACloudLibraryServer/Components/Pages/Explorer.razor)Search results UI overhaul
mr-*/ml-*instead of BS5 utilities), truncation, and horizontal scroll.Details / information panel
"Reference:" quick link
type:<term>filter and the selected nodeset's Documentation URL starts withhttps://reference.opcfoundation.org/, an additional Reference:<term>link button is shown pointing tohttps://reference.opcfoundation.org/search?q=<term>&tab=node.Search & pagination state
q,page,size) viaRestoreStateFromUrl()/UpdateUrl()so the browser Back button restores the previous search.?button) documentsname:,publisher:,type:,license:,exact:,date:,sort:filters.Forwarding search to the browser page
ViewFileFromURLextracts anytype:<term>keyword and forwards it assearch=type:<term>on the/browser?...URL.Browser page (MVC → Blazor plumbing)
Controllers/BrowserController.cs,Models/BrowserModel.cs,Views/Browser/Index.cshtmlsearchURL/query parameter that flows through the controller → model → view →TreePagecomponent.Tree page (
UACloudLibraryServer/Components/Pages/TreePage.razor)New
[Parameter] SearchSearchTree()with that value.Search bar & Nodeset Browser layout
_client.LoadedNamespaces(default: All).?help button before the input, with a modal describing the syntax (styled to match the Explorer help).Search syntax
id:<node id>— exact case-insensitive match against the identifier suffix of the NodeId (part after the last=, e.g.2258fromnsu=...;i=2258).type:<term>— case-insensitive substring on the node'sBrowseName.name:<term>— case-insensitive substring on the node'sDisplayName.Search traversal
Typessubtree prioritized (deque prepending) so type-child variables aren't starved by hugeObjectssubtrees.SearchMaxNodes = 50000).nsu=URI starts with the selected scope.Find all / Find next
Match highlighting
nsu=...) now also honors the selected Nodeset scope — only in-scope nodes are bolded.Selected Node Information card
Robustness fixes
OnNodeExpandis null- and exception-safe (never assignsnulltoChildren, catches server errors).@bind-ExpandedNodesin favor of a plainExpandedNodesparameter to avoid recursive re-render loops.Models
Models/NodesetViewerNode.csBrowseNameproperty.CompareTo,Equals,GetHashCode(usingId ?? string.Empty).UAClientServer/UAClient.csGetChildrennow populatesBrowseNamefromdescription.BrowseName?.Namein addition to the existing DisplayName.Notable behavior changes
/browser?...&search=<term>deep-linking runs the tree search on load./browser?...&search=type:<term>from Explorer opens the browser scoped to that type.ElectrolyzerFlowRatewhen searchingflow).