GDExtension doc page broken.
Godot version
53191928e597d15a709b53abe1870b9f3607af1c caused regression
System information
ArchLinux x11
Issue description
Opening docs (f1) and searching for desired GDExtension class will yield nothing, clicking on GDScript doc page with a typed fucntion that takes a GDExtension class (
func test(obj: VeryInterestingClass):
pass
) Will take you to a empty doc page.
https://user-images.githubusercontent.com/70787919/236650001-dd9cd8ed-2f01-468c-b4ba-73513676abf3.mp4
Steps to reproduce
I havent figured out how to use godot-cpp in 4.x, so the mrp is in rust. To use:
cargo build -r(compilinggodot-corewill take a while, but its normal)godot4 -e- Open docs
- Search for
StructThatDoesntShowUp - Open docs for
Test - Click on the function type in
test()
Minimal reproduction project
Does it not get the regression label?
GDExtension is strictly 4.x is it not? But can still technically be regression from 4.0.x of course
Its a regression that was introduced by https://github.com/godotengine/godot/commit/53191928e597d15a709b53abe1870b9f3607af1c.
I don't really see how that PR could have done anything to this documentation though, so very strange what actually caused it
Its probably some kind of thread misuse in the docgen?
I mean how it can affect only this part of documentation and not the general documentation, not sure
Does the issue persist if you change this line to false? https://github.com/godotengine/godot/blob/64eeb04d2cb2e269d9710c38bdbf366ab3656e76/editor/editor_help.cpp#L2295
Or if you straight up revert the PR
I bisected it so im pretty sure that the issue will persist (if i revert), will try later though. But also, can you repro with the mrp yourself on master?
I'm not able to set up for gdextension at the moment on my platform, and haven't worked with gdextension previously
Possibly the same issue as https://github.com/godotengine/godot/issues/82817
v4.3.dev.custom_build [fe01776f0]
The docs load properly upon starting the editor, but the classes completely disappear from search once the GDExtension is reloaded. The docs pages stay open in the script editor, but are not updated. GDScript autocompletion for the relevant classes also stops working once the extension is reloaded.
Is this feature working properly for anyone? Is there any workaround?
Edit: Hot reloading documentation currently appears to be broken according to https://github.com/godotengine/godot/pull/84354#pullrequestreview-1710341483
I'm able to reproduce this issue still (although, I think we may have fixed and re-introduced it at least once since this issue has been created - maybe even more than once :-)).
I just posted PR https://github.com/godotengine/godot/pull/91126 which fixes this in my testing.