ports the chat panel and backend updates [NO GBP] (#18895)

* ports the chat  settings update

* .

* .

* follow up changes

* zod

* migration changes from jl

* this will blow up badly

* yuck

* .

* .

* order

* .

* :

* be gone

* .

* .

* logging

* dix logging

* move to its own atom

* fix settings import

* .

* fix audio

* tgui fix

* .

* archiving as atom

* more changes from JL

* bring back default archive  all

* no stale state

* no need to run twice

* -

* we need both anyway

* dep up

* .

* build fixes port

* Fix file path replacement in build script

* backend update

* .

* .

* use the tg method

* only use as unchunked fallback for say etc

* .

* linter errors

* tg's chunking methód should be sane enough

* sadly still not

* update for tg chunking

* force those

* jl suggestion

* .

* needs game atom

* push

* have this

* we only want to store if a page was changed or added

* only store what we really care about

* fixes import port

* we need settings first

* recoloring shouldn't be a pain

* partial

* .

* some type fixing

* .

* no throw of events

* ree map might not be there yet

* .

* always store our settings

* this is a valid crash

* ss early assets

* saver image access

* missed unsafe access

* .

* move chat loading order

* .

* .

* .

* .

* missing unregs

* keep the ref map name, just don't bother

* await the asset like redux did before

* try that?

* .

* use await

* biome up

* better handling as JL did on tg

* rename

* last dep up

* major bump here

* major bump

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2026-01-06 11:56:31 +01:00
committed by GitHub
parent 0b64afc891
commit 6cf7d1ab5f
176 changed files with 4179 additions and 4443 deletions
+11 -3
View File
@@ -18,15 +18,15 @@ GLOBAL_LIST_EMPTY(asset_datums)
var/cached_serialized_url_mappings
var/cached_serialized_url_mappings_transport_type
/// Whether or not this asset should be loaded in the "early assets" SS
var/early = FALSE
/// Whether or not this asset can be cached across rounds of the same commit under the `CACHE_ASSETS` config.
/// This is not a *guarantee* the asset will be cached. Not all asset subtypes respect this field, and the
/// config can, of course, be disabled.
/// Disable this if your asset can change between rounds on the same exact version of the code.
var/cross_round_cachable = FALSE
/// Whether or not this asset should be loaded in the "early assets" SS
var/early = FALSE
/datum/asset/New()
GLOB.asset_datums[type] = src
register()
@@ -114,6 +114,9 @@ GLOBAL_LIST_EMPTY(asset_datums)
for (var/asset_name in assets)
.[asset_name] = SSassets.transport.get_asset_url(asset_name, assets[asset_name])
/datum/asset/simple/unregister()
for (var/asset_name in assets)
SSassets.transport.unregister_asset(asset_name)
// For registering or sending multiple others at once
/datum/asset/group
@@ -546,6 +549,11 @@ GLOBAL_LIST_EMPTY(asset_datums)
return
. = list("[item_filename]" = SSassets.transport.get_asset_url(item_filename))
/datum/asset/changelog_item/unregister()
if (!item_filename)
return
SSassets.transport.unregister_asset(item_filename)
//Generates assets based on iconstates of a single icon
/datum/asset/simple/icon_states
_abstract = /datum/asset/simple/icon_states
@@ -90,9 +90,9 @@
#endif
if (!istype(client))
if (ismob(client))
var/mob/M = client
if (M.client)
client = M.client
var/mob/our_mob = client
if (our_mob.client)
client = our_mob.client
else //no stacktrace because this will mainly happen because the client went away
return
else