review(b2-waveA): /raw auto-expand enterprise roots; friendly create-race + delete failures; auth-guard classifies /raw + dev demo
Wave-A reviewer findings (no Critical/High): - M-2: GlobalRaw auto-expands Enterprise roots so the Cluster level is visible on load (mirrors GlobalUns.ExpandStructural); clusters stay lazily collapsed. - L-1: create mutations route SaveChanges through SaveCreateAsync — a lost sibling-name race (filtered-unique-index clash) becomes a friendly failure instead of an uncaught DbUpdateException. - L-2: SaveDeleteAsync no longer leaks raw EF/SQL text; operator-friendly guidance. - L-5: RawNode.ChildCount doc clarified (direct children only). - Regression fix: PageAuthorizationGuardTests classifies the two new routable pages (/raw → ConfigEditor, /dev/context-menu-demo → AuthenticatedRead). M-1 (ordinal vs SQL-collation sibling uniqueness) assessed benign: name indexes use the DB default collation and the server-side pre-check runs under that same collation, so pre-check and index agree — no case-variant rows can coexist, so runtime ordinal RawPath keying never collides. Claude-Session: https://claude.ai/code/session_01LVneM3eh1UtJxEisFXgmox
This commit is contained in:
@@ -55,6 +55,12 @@
|
||||
try
|
||||
{
|
||||
_roots = await Svc.LoadRootsAsync();
|
||||
// Auto-expand the Enterprise roots so the Cluster level (which owns the lazy plumbing) is
|
||||
// visible on load, mirroring GlobalUns.ExpandStructural. Enterprise children (clusters) are
|
||||
// eagerly materialised by LoadRootsAsync, so this needs no lazy fetch; clusters stay
|
||||
// collapsed and load their folders/drivers on first expand.
|
||||
foreach (var enterprise in _roots)
|
||||
enterprise.Expanded = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user