[Fix] [Export] prefer local native template for same-platform export#2916
[Fix] [Export] prefer local native template for same-platform export#2916RDeckard wants to merge 2 commits into
Conversation
f618df9 to
14b4c19
Compare
14b4c19 to
34daaa1
Compare
|
Tested good for me on armhf linux 👍 |
|
I have not tested this, but I think @nesbox uses templates compiled with |
|
Maybe that toggle could instead be something that's packed into the binary also, rather than pulling the compiled builds. The binaries would be larger with dead code, but it would make the feature much more portable with way less infrastructure required. |
|
I just tested desktop linux export, and it still ships the editor. I think no-editor-export is actually reserved for the pro version's exports. |
|
Another option could be to have the export feature look for template binaries in the TIC-80 data directory, perhaps under a template-export subfolder. The app could optionally online fetch and drop the Windows, macOS, and Linux templates on that folder. (ideally covering multiple architectures, and possibly Android as well) Users who want custom builds could simply replace those template binaries with their own compiled versions. I would probably prefer the online download mechanism to be kept, since the infrastructure already exists and avoids increasing the application size, that I personally would prefer to not increase further, specially when targeting lower end devices. |
|
Updated the PR to make the local-template path best-effort only. If embedding or writing the local executable template fails, export now falls back to the existing server template flow instead of reporting a local export failure. The fallback message is also only shown for same-platform exports, so cross-platform exports keep the previous behavior/noise level. This is still intended as a narrow mitigation for stale same-platform server templates, not as a replacement for the server/template pipeline. |
Why
Original issue: #2615
Native export templates fetched from the server can become stale and may ship outdated runtime behavior.
This PR does not change the server export pipeline itself; it mitigates the issue on the client side for same-platform native exports.
What
src/studio/screens/console.c:winon Windowslinuxon Linuxmacon macOSfs_apppath()) first.Impact
Same-platform native exports are less sensitive to stale server artifacts, while cross-platform export behavior remains unchanged.
Reviewer question: should we also enable local-template fallback for
rpion Raspberry Pi builds, or keeprpistrictly server-backed for now?