mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
## About The Pull Request this converts the dependency on byondstorage, which is laggy (due to being a large json file written to disk every 10 seconds), to using indexeddb, like we did prior to 516. this is achieved by using an iframe to give us a persistent origin, as the web is evil and has invented same-origin policy https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy. this also hosts the iframe page on the github pages site for a secondary repository (see tgstation/byond-client-storage) so it works OOTB without requiring server operators to setup the webroot cdn (which i don't believe is configured on the tg servers at the moment) however, if a server is using the webroot cdn, it will use that instead of github pages you could also host the iframe.html page on a separate host from your cdn or github pages if you wanted to if we can't access the configured cdn at all, it failovers to use byondstorage anyway, if the internet stops working and you still want your chat history to save, i guess ## Why It's Good For The Game saving this enormous json file is laggy, and this solution would fix https://github.com/tgstation/tgstation/issues/89988 and fix https://github.com/tgstation/tgstation/issues/92035 i am open to other solutions, but this does seem to require the least amount of external dependencies of posed solutions ## Changelog 🆑 fix: you should experience less stutters every 10 seconds server: server operators can now configure an alternative storage domain for clientside data storage, read the example configuration for more /🆑 --------- Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
63 lines
2.0 KiB
HTML
63 lines
2.0 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
|
|
<!-- Inlined metadata -->
|
|
<meta id="tgui:windowId" content="[tgui:windowId]" />
|
|
<meta id="tgui:strictMode" content="[tgui:strictMode]" />
|
|
<meta id="tgui:storagecdn" content="[tgui:storagecdn]" />
|
|
|
|
<!-- Early setup -->
|
|
<!-- tgui:helpers -->
|
|
<!-- tgui:ntos-error -->
|
|
<!-- tgui:inline-css -->
|
|
</head>
|
|
<body style="background-color: var(--color-base)">
|
|
<!-- tgui:assets -->
|
|
<!-- tgui:inline-html-start -->
|
|
<!-- tgui:inline-html -->
|
|
<!-- tgui:inline-html-end -->
|
|
<!-- tgui:inline-js -->
|
|
|
|
<!-- Root element for tgui interfaces -->
|
|
<div id="react-root"></div>
|
|
|
|
<!-- Fatal error container -->
|
|
<div id="FatalError" class="FatalError">
|
|
<!-- prettier-ignore -->
|
|
<div class="FatalError__logo">
|
|
ooooo ooo . .oooooo. .oooooo..o
|
|
`888b. `8' .o8 d8P' `Y8b d8P' `Y8
|
|
8 `88b. 8 .o888oo 888 888 Y88bo.
|
|
8 `88b. 8 888 888 888 `"Y8888o.
|
|
8 `88b.8 888 888 888 `"Y88b
|
|
8 `888 888 . `88b d88' oo .d8P
|
|
o8o `8 "888" `Y8bood8P' 8""88888P'
|
|
</div>
|
|
<p class="FatalError__header">
|
|
A fatal exception has occurred at 002B:C562F1B7 in TGUI. The current
|
|
application will be terminated. Send the copy of the following stack
|
|
trace to an authorized Nanotrasen incident handler at
|
|
https://github.com/tgstation/tgstation. Thank you for your cooperation.
|
|
</p>
|
|
<div id="FatalError__stack" class="FatalError__stack"></div>
|
|
<div class="FatalError__footer">
|
|
<!-- tgui:nt-copyright -->
|
|
</div>
|
|
</div>
|
|
|
|
<noscript>
|
|
<div class="NoticeBox">
|
|
<div>Javascript is required in order to use this interface.</div>
|
|
<div>Please enable Javascript and restart the game.</div>
|
|
</div>
|
|
</noscript>
|
|
|
|
<script>
|
|
// Signal tgui that we're ready to receive updates
|
|
Byond.sendMessage('ready');
|
|
</script>
|
|
</body>
|
|
</html>
|