···3737 result |> Lwd.get
3838;;
39394040-(**Updates the status windows; Without snapshotting the working copy by default
4141- This should be called after any command that performs a change *)
4242-let update_status ?(update_graph = true) ?(cause_snapshot = false) () =
4343- safe_jj (fun () ->
4444- let rev = Lwd.peek Vars.ui_state.hovered_revision in
4545- let log_res = jj_no_log ~snapshot:cause_snapshot [ "log" ] |> colored_string in
4646- (* TODO: chagne this because it makes us always a frame behind *)
4747- if update_graph then Vars.ui_state.trigger_update $= ())
4848-;;
4040+let current_computation = ref (Promise.of_value ())
49415042(**Updates the status windows; Without snapshotting the working copy by default
5143 This should be called after any command that performs a change *)
···6961 Vars.ui_state.jj_change_files $= files_list)
7062;;
71637272-let current_computation = ref (Promise.of_value ())
7373-7464let update_views_async ?(cause_snapshot = false) () =
7565 Promise.terminate_after ~seconds:0. !current_computation;
7666 let comp = Flock.fork_as_promise (fun () -> update_views ~cause_snapshot ()) in
7767 current_computation := comp
6868+;;
6969+7070+(**Updates the status windows; Without snapshotting the working copy by default
7171+ This should be called after any command that performs a change *)
7272+let update_status ?(update_graph = true) ?(cause_snapshot = false) () =
7373+ (* Keep graph redraw immediate, and refresh file/browser state asynchronously. *)
7474+ if update_graph then Vars.ui_state.trigger_update $= ();
7575+ update_views_async ~cause_snapshot ()
7876;;
79778078let last_op_id = ref ""