mattcasters opened a new pull request, #7792: URL: https://github.com/apache/hop/pull/7792
## Summary - Marking a metadata editor dirty no longer triggers a full metadata perspective reload or `MetadataChanged`. Only the tab title/font and toolbar update, so large projects stay responsive on first keystroke. - `MetadataChanged` is fired after a successful save (and continues to fire on rename/drag-drop move), not when merely opening an editor or marking it dirty. - Tree refresh uses `IHopMetadataSerializer.readVirtualPath()` so JSON metadata can stream a single field instead of fully deserializing every object. ## Details **Dirty path (before):** `setChanged()` → `updateEditor()` → `refresh()`/`reloadModel()` + fire `MetadataChanged` → listener `refresh()` again. **After:** `setChanged()` only updates tab decoration; save fires `MetadataChanged` once for a single tree refresh. Also removes redundant `MetadataChanged` when opening editors and the double `fire`+`refresh` on drag-drop move. ## Test plan - [x] `JsonMetadataSerializerTest` / `MultiMetadataSerializerTest` (including new `readVirtualPath` cases) - [x] `core` + `ui` compile - [x] Manual: first keystroke in metadata name field stays snappy on large project; tab bolds; tree does not rebuild - [ ] Manual: save updates tree once; rename/delete/drag-drop/F5/project switch still work - [ ] Manual: corrupt/unreadable metadata files still appear under Unknown when virtual path cannot be read Fixes #7791 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
