posit-dev / positron

Positron, a next-generation data science IDE
https://positron.posit.co
Other
2.82k stars 90 forks source link

Fix F1 for help in Python #5405

Closed seeM closed 3 days ago

seeM commented 3 days ago

Addresses #5290. The issue was a deadlock when handling the show_help_topic request when it tries to send the show_help event, since both PositronComm.on_msg and send_event acquire the same lock.

@wesm IIUC the purpose was to allow delaying a send_event call in a separate thread until after the message handler completes. I think both cases are solved by using a reentrant lock (RLock()).

QA Notes

F1 should work again in Python.

isabelizimm commented 3 days ago

Ah, looks like macos-12 in our GHA is deprecated for the Typescript tests. We are using macos-13 in nightly tests, and macos-latest elsewhere, so maybe we can move to one of those?

seeM commented 2 days ago

Thanks for getting this merged @wesm & @isabelizimm!