mkscho63 / sta

This is an unofficial system for Foundry VTT using Modiphius's Star Trek Adventures 2d20 RPG. This system attempts to replicate the feeling of playing through an episode of the epic SciFi that is Star Trek. I am in no way associated with Modiphius.
MIT License
37 stars 34 forks source link

Foundry v13 Review - Potential Future Work #166

Open WesWedding opened 2 days ago

WesWedding commented 2 days ago

Since the v13 prototype 1 is out, I thought it might be prudent to check out what impacts it might have this time around. Just as v10 significantly changed several API elements, Foundry v13 is significantly revising its user interface (among a bunch of other new features).

As of today (19 October 2024), V13 is just in a "prototype" state so none of the below observations are things I think should be acted on immediately. This is the earliest publicly testable version of the client and I would not be surprised if a lot of the CSS, HTML, and API wildly changes by the time v13 gets a few more public releases.

That being said, there are issues to deal with by the time v13 releases.

This initial testing was done using the latest Develop branch against Foundry v13 Prototype 1.

Functionality

Tracker interferes with Sidebar expand/hide

The listener for the hide/show on the Tracker Application gets attached to the core Sidebar collapse button, interfering with a user's ability to expand the sidebar.

STARoller fails to initialize

Uncaught (in promise) TypeError: html.find is not a function
    at STARoller.Init (STARoller.js:45:10)

Init is also called 3 times, when it seems like that should only be happening once.

Chat Message Buttons Do Nothing

Given the introduction of "Theme V2" it would not be entirely surprising that some of our listeners might break because of changes in CSS.

No error messages are generated when clicking reroll. Nothing happens at all, for both the Challenge and Task roll results.

Visuals and styling

Chat Messages Lose Styling

Given the introduction of "Theme V2" in this version it is unsurprising to note that a lot of our chat styling is busted. image

Tracker Inputs Inherit new V2 input styling

I literally had no idea before now that these were even inputs!

image

This is a new default style applied to inputs I've noticed when implementing a ApplicationV2 in a plugin.

Avatar/Portrait on Actor Sheets not centered

This applies to both 1E and 2E sheets for Character, Ship, and Smallcraft. image

A/V Dock and Macro Action Bar Positioning Breaks"

When the A/V is set to the Top or Bottom, somehow the system is breaking the flow of the built-in UI elements. The A/V bar always goes to the top, and the Macros seem to vanish entirely.

Sidebar has weird space between sidebar content and edge of sidebar

This gap seemed to widen the more and more I interacted with the game, too, pushing the chat and other sidebar content further and further beyond the edge of the window.

image

WesWedding commented 2 days ago

I'm unclear on how the CSS issues should get handled. I'm unaware of an explicit mechanism for conditionally loading CSS based on a detected FoundryVTT version. It's easier for me to think of ways to handle making the JavaScript v13 friendly but also <=v12 friendly.

Hopefully the CSS fixes boil down to being able to find a CSS selector that works in all cases.

I have to assume that the reason STARoller is failing to init is that many builtin functions are passing HTMLElement arguments now instead of jQuery objects like they used to. This is something they introduced in ApplicationV2 in Foundry12.

tokeidlom commented 2 days ago

Just taken a look at v13 off the back of this... It's considerably worse than I imagined it would be. I had looked into conditionally applying CSS previously with a view to rolling LCARS into the main system as a menu option... It's still a module, so you can probably guess how well that investigation went!

I'm guessing though that release will not be until next summer as they seem to be working to an August annual release cycle. So agree with your suggestion. Be aware of the issues, but don't act on them just yet. Some of the worst may solve themselves!

tokeidlom commented 2 days ago

Also, we could always use the built in versioning system in foundry and mark the new release as compatible with minimum V13 when the time comes. Try and leave the last V12 version in the best shape we can before doing that.

It means we can probably gut a lot of the legacy sheets and scripts that don't do much in the later versions. Not really sure we need to be supporting V9 anymore.

WesWedding commented 2 days ago

I'll try to keep the OP updated as new observations come in, but I think the time I'd start to worry about thinking about fixes is when the 2nd Development release hits. The transition to Testing seems to happen pretty quick after that, and then a release a month or two/three later. Which is still plenty of time to figure things out, I think.

tokeidlom commented 22 hours ago

Parking this link here for future. Refers to the changes breaking the sidebar roller.

https://github.com/foundryvtt/foundryvtt/issues/11384