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]

Reply via email to