TRL `0.1.3` - v12 Hot Patch

Greets @FVTT ▹ Developer! I have just released a hot patch release that addresses the v12 Foundry update and fixes a few odds and ends. - Reactive embedded collections of TJSDocument continue to work on v12. - HMR for language files works again. - Default app position tweening reduced to 60ms. ----- To check out HMR for language files add the following to your Foundry manifest:
{
"flags": {
"hotReload": {
"extensions": ["json"],
"paths": ["lang"]
}
}
}
{
"flags": {
"hotReload": {
"extensions": ["json"],
"paths": ["lang"]
}
}
}
For paths insert the language file directory. Then make sure to enable hot reloading of files in the main Foundry server settings page / GUI. Restart the server and fire up the dev server and when you make changes in the lang JSON files HMR should be triggered. Make sure the proxy settings of your Vite config properly forwards lang to the main server. You can check out template-svelte-esm for an example setup. Thanks @Nekro Darkmoon for the help in testing this hot patch!
8 Replies
Solidor
Solidor5mo ago
Woot! Does this mean svelte components that embedded collections (like items) will update when the embedded items do now?
TyphonJS (Michael)
This "out of band" hot patch as things go just has minimal changes to address v12 changes that affected reactive embedded collections as the underlying Foundry renderContext data changed once again like it changed each time in v9->v10->v11->v12... 😮 v13 incoming.. ;P The other changes were really small. HMR for lang files failed as I left a single JS file reference out of the sideEffects entry in the runtime package.json. The lang HMR feature is neat though and quite useful with the dev server when configured w/ Foundry.
Michael
Michael5mo ago
Playing around a bit with V12, and for some reason when I take a peek at the updateOptions of a TJSDocument it seems to have not data but renderData - is that coming from V12 somehow? Ah yeah, looks like:
/**
* @typedef {Object} DocumentSheetRenderOptions
* @property {string} renderContext A string with the format "{operation}{documentName}" providing context
* @property {object} renderData Data describing the document modification that occurred
*/
/**
* @typedef {Object} DocumentSheetRenderOptions
* @property {string} renderContext A string with the format "{operation}{documentName}" providing context
* @property {object} renderData Data describing the document modification that occurred
*/
And just so I know for the future, should this post have been in its own thread or was this an appropriate place for it @TyphonJS (Michael)?
TyphonJS (Michael)
It's certainly fine to discuss things here. Indeed v12 changed it from data to renderData. I'll have to verify if anything needs changing with TJSDocument besides types. The hot patch was very small / fix things that were known broken / reported.
Wasp
Wasp4mo ago
A bit late to the party with my holidays and promotion happening all at the same time 😄 Is this backwards compatible with v11?
TyphonJS (Michael)
Yes.. TRL is compatible Foundry v10+. For reactive embedded collections the code handling updates works across several variations / versions transparently. Wherever possible and the purpose of middleware like TRL is handling those platform variances in a transparent manner. It'd be nice if this doesn't change again, but you know every 1 or 2 core versions something has to be different otherwise what is progress.. 😉 I'm really looking forward to the v16 data model transformation when signals is recognized as being important.. OK.. a little sarcasm here, but it could happen...
Wasp
Wasp4mo ago
Given the propensity of the Foundry team to rug pull every other version, I have no doubt it'll happen lmao
TyphonJS (Michael)
Yeah... you nailed it with the other there! ;P Ah, the good days when "other" applied.. I pity the poor souls trying to use AppV2 in the present state as it's alpha at best and likely will change for v13.
Want results from more Discord servers?
Add your server