Godot 4.4 introduces network mode, which by default sets to offline.
Some features are disabled on offline mode, including downloading export
templates. Newcomers to the engine that has no knowledge about the network
mode might be confused on why the Export Template Manager tells them that
they're offline, despite them having internet connection.
This commit introduces a message that tells the user that online mode is
required, and a link button that user can click to enable online mode from
the Export Template Manager popup UI. Some code changes also made to make
sure that the button and message only shows on official build only.
(cherry picked from commit 9cbfeff940)
Fixes#95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
The implemented solution to the problem of the error message
appearing when an excluded GDExtension in an export of a project, is
to filter the lines in the extension_list.cfg file to only include
those that are in the paths actually included for export. If there
are no entries remaining, don't write the file at all.
- Controls
- `LineEdit`, `TextEdit`: Always disabled since it's dragging user input.
- `TabBar`: Use the same auto translate mode as the node.
- `RichTextLabel`: Always disable since auto translation is done
differently from other controls (selection text you get
programmatically is always after auto translation).
- Editor
- Disable drag preview auto translation if the text is user input,
filename, or class name.
- Also disabled unexpected auto translation for audio bus effect names.
Some platforms don't support hostfxr but we can use the coreclr/monosgen library directly to initialize the runtime.
Android exports now use the `android` runtime identifier instead of `linux-bionic`, this removes the restrictions we previously had:
- Adds support for all Android architectures (arm32, arm64, x32, and x64), previously only the 64-bit architectures were supported.
- Loads `System.Security.Cryptography.Native.Android` (the .NET library that binds to the Android OS crypto functions).