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
co-authored by Cameron Lennox
parent 0b64afc891
commit 6cf7d1ab5f
176 changed files with 4179 additions and 4443 deletions
+1 -7
View File
@@ -1,10 +1,9 @@
SUBSYSTEM_DEF(assets)
name = "Assets"
dependencies = list(
/datum/controller/subsystem/atoms,
/datum/controller/subsystem/holomaps,
/datum/controller/subsystem/robot_sprites
///datum/controller/subsystem/persistent_paintings,
///datum/controller/subsystem/greyscale_previews,
)
flags = SS_NO_FIRE
var/list/datum/asset_cache_item/cache = list()
@@ -25,11 +24,7 @@ SUBSYSTEM_DEF(assets)
transport = newtransport
transport.Load()
/datum/controller/subsystem/assets/Initialize()
OnConfigLoad()
for(var/type in typesof(/datum/asset))
var/datum/asset/A = type
if (type != initial(A._abstract))
@@ -37,7 +32,6 @@ SUBSYSTEM_DEF(assets)
transport.Initialize(cache)
initialized = TRUE
return SS_INIT_SUCCESS
/datum/controller/subsystem/assets/Recover()
@@ -0,0 +1,33 @@
/// Initializes any assets that need to be loaded ASAP.
/// This houses preference menu assets, since they can be loaded at any time,
/// most dangerously before the atoms SS initializes.
/// Thus, we want it to fail consistently in CI as if it would've if a player
/// opened it up early.
SUBSYSTEM_DEF(early_assets)
name = "Early Assets"
dependents = list(
/datum/controller/subsystem/mapping,
/datum/controller/subsystem/atoms,
)
init_stage = INITSTAGE_EARLY
flags = SS_NO_FIRE
/datum/controller/subsystem/early_assets/Initialize()
var/init_source = "early assets"
SSatoms.set_tracked_initalized(INITIALIZATION_INNEW_REGULAR, init_source)
for (var/datum/asset/asset_type as anything in subtypesof(/datum/asset))
if (initial(asset_type._abstract) == asset_type)
continue
if (!initial(asset_type.early))
continue
if (!load_asset_datum(asset_type))
stack_trace("Could not initialize early asset [asset_type]!")
CHECK_TICK
SSatoms.clear_tracked_initalize(init_source)
return SS_INIT_SUCCESS