Server update changelog

October 20th 2020

  • Hide players list from a game’s page to non invited players (for public games)
  • Do not show the option to set a game as favorite from the game page to non invited players (for public games)
  • Fix issue with “Return to Setup” that stopped working after yesterday’s update
  • Show a vertical game card layout when having 3 or more games in the dashboard
  • Automatically reset invitation link to a game after kicking a player
  • Add a button for players to leave a game voluntarily

October 26th 2020

  • Prompt user for confirmation to overwrite an existing world in the Import Wizard instead of throwing an error and having the user manually delete it first and rerun the importer.
  • Add a button for quickly accessing a game in the url entry from the “My Foundry” game configuration form.
  • Show a readable/understandable error when trying to launch a world when Data quota has been exceeded
  • Fixed everyone’s nextSession fields in world.json to prevent crash due to a 0.7.5 bug
  • Fix account quota calculations for users who had both free bonuses from the Forge beta phase and who bought extras
  • Add support for loading the greensock library dependency from modules in the Bazaar’s CDN
  • Fix issue accessing core files when using relative esmodule imports from a module on the Bazaar’s CDN
  • Fix bug making it impossible to access the “My Foundry” page if a custom module is imported which had an invalid authors field
  • Show a red error message instead of yellow warning message when a user’s subscription is past due and payment failed

October 28th 2020

  • Prevent installation of piracy enabling content which was causing too many issues to Forge users
  • Fix issue that prevented overwriting an existing world during import
  • Lower padding around the site to give more space to the actual site content
  • Make the ‘save changes’ attention seeking animation in the game configuration page faster
  • Added some groundwork changes for the upcoming game management features
  • Update to the Bazaar API in preparation for the upcoming Bazaar UI interface
  • Improve Bazaar database model by adding indexes to relevant fields

October 31st 2020

  • Happy Halloween!!! :scream:
  • Switch email service to AWS SES which seems to have better reliability for users from the Yahoo domain
  • Rename the “Delete all” button of the assets library when assets are selected into “Delete” to avoid possible confusion
  • Improve the visual of the games list loading its dependency libraries before displaying the games when a user is on a slow connection
  • Fix issue with some modules on the CDN when using a relative esmodule import from one module to another
  • Update the dynamic dependency loading definitions to match the recently released Dlopen module by The Forge
  • Fix import of modules from the import wizard which stopped installing from the Bazaar in a recent update
  • Hide overflowing text when world description is large in the popover tooltip of a package list (clone world for example)

November 1st 2020

  • Another huge update, this time bringing you the new Bazaar’s User Interface with tons of quality of life features.
    • Too many features to list all of the changes, but you can view all available packages on the Bazaar and search for them by name, description, author, system compatibility, language, category, you can search for multiple terms in a ‘Match all’ or ‘Match any’.
    • Supports The League’s Manifest+ specification for displaying package cover images
    • Sort packages by Most Popular, Latest releases or Alphabetically
    • Allow installation of worlds into custom paths
    • A mass updater tool allows to visualize available updates and execute them all sequentially
  • Add support for coreVersion query parameter to the Bazaar API to limit results for compatibility with a specific version
  • Add backend support for installing packages from manifest or ZIP url.
  • Fix game description editor toolbar to look better on dark themes

November 9th 2020

  • One more gigantic update (74 commits!). The Game Manager is now done and available to all Story Teller tiers and higher! phew!!!
    • You can now enable the Game Manager to have each of your worlds made available into their own Forge Game with its own unique URL, players and configurations.
    • If you have more than one license to your account, you should be able to open multiple games simultaneously
    • The Foundry setup page is now made obsolete and is inaccessible
    • A game’s title and description will automatically sync with the world and the descriptions will be sanitized and converted from/to html<->markdown as necessary
    • Hides the “Return to setup” buttons from within Foundry’s interface
    • Adds a new + button for creating new worlds when the game manager is enabled, with a system selection screen tied with the Bazaar
    • Ability to set a default Foundry version and override it per game (use with caution)
    • Adds the ability to disable all modules in a game
    • Adds the ability to reset all user access keys in a game
  • Game Configuration page now shows the last accessed world of a foundry server, or the linked world for a game when game manager is enabled
  • Bazaar: Add the ability to install from a manifest URL directly
  • Add support for displaying and installing protected packages (Cubicle7 officially licensed content) as well as returning the list of owned content to Foundry
  • Add support for also installing the protected packages from the Bazaar interface directly by launching a Foundry instance in setup mode for the sole purpose of validating and installing the bought content
  • Added a display of the user’s Patreon pledges from the My Account page
  • Added a first iteration of support for premium Forge packages in the Bazaar, tied to specific creator Patreon and pledges, and integrate it with the Foundry premium package system
  • Added Miska’s Maps as the first Patreon-linked Premium package
  • Allow the Import Wizard to split off assets from a module even if it’s not a compendium-only module
  • Add option to the Import Wizard to disable the use of the bazaar when importing a single system or module, without requiring the user to customize the version number
  • Added tooltips to the setup tools buttons
  • Added a button in the setup tools to redirect to the bazaar for install new systems and modules
  • Automatically install a system from the Bazaar if selected during new game creation if the system was not already installed
  • Change the text fade mask method on a Bazaar package description so it doesn’t affect the text’s foreground color
  • Load more packages at once when scrolling in the Bazaar (30 at a time instead of 10 at a time)
  • Add support for automatic install of dependency modules when installing a package from the Bazaar
  • Fix an issue in the Bazaar where it would show all updates as having had errors if we do a mass update of systems before doing it for modules without reloading the page
  • Bazaar: support the new url field for Manifest+ media as we transition out of using link
  • Fix an issue with the worlds and modules not being visible in the export and clone dialogs if a world had its description set to null instead of empty string
  • Fix improbable issue where if multiple Foundry versions are tagged as ‘stable’ in the database and the currently selected version for a game is invalid, then the Forge should auto select the latest version between those marked as stable
  • Remove the large header of the Bazaar page so it requires less unnecessary scrolling and added help icons instead
  • Added access to the Bazaar for non logged in users and display it in the navigation bar
  • Bazaar API: changed the update field into updates, and added a created field to return the creation time of a package
  • Updated the Community Wiki link to point to the new Wiki

November 10th 2020

  • Fix the display of the wrong estimate for the maximum upload limit for Story Teller in the subscription manager (thanks Oshy)
  • Update the plans page to mark the Game Manager as an available feature
  • Improve some wording in the plans and Game Manager pages
  • Make a bazaar package with no footer (system selection for new game) appear shorter to compensate
  • Sanitize a package’s description before displaying it in the Bazaar
  • Fix installing a package dependency if only the package name is specified
  • Change the way a package’s cover appears in the Bazaar so it takes the full space reserved for it
  • If a package is installed in the wrong directory somehow and is therefore invalid, consider it as an orphan file.
1 Like

November 10th 2020 (part 2)

  • Fix issue when creating a new game with the Game Manager that caused scene thumbnails to fail being generated
  • Fix a security concern with the “export world” option that could export the wrong directory (post-mortem: was never attempted by anyone)
  • Change the “Purchase” button for Patreon-related premium content into a “Unlock” button instead. Added tooltip with instructions on how to unlock the patreon content
1 Like

November 10th 2020 (part 3)

  • Added the ability to select multiple assets in the Assets Library at the same time by holding Shift and selecting two assets, which will select anything in between the two

November 11th 2020

  • Fix issue that could cause a Game’s world.json to be corrupted if using the Game Manager and the account is over the quota limit
  • Fix issue with the package optimizer of the bazaar updater failing to consider a world having missing database files.

November 13th 2020

  • And yet another big feature gets added : The User Manager!
    • Automatically creates users in Foundry to match the invited users in a game
    • Auto login users when opening the game
    • Automatically add and remove players when a user is invited or leaves/is kicked from a game
    • Automatically update a player’s name and role when they get modified in The Forge
    • Add the ability for GMs to join the game as another player
    • Hide the old existing world users from the players list automatically and restore them when the user manager is disabled
  • Make the User Manager feature option available on managed games
  • Allow the ‘reset all access keys’ to function even when the server is already running by leveraging the User Management architecture
  • Make sure that a game always has at least one GM
  • Redirect /players endpoint to the Forge’s players configuration interface
  • Fix signing into The Forge redirecting back to API URLs when visiting the Bazaar before signing in
  • Hide the “Return to Setup” button instead of removing it in case a module expects that button to exist in the DOM (Combat Utility Belt for example)
  • Replace The Forge module’s ASCII Art welcome banner with the image logo
  • Fix module installing not appearing in Foundry’s setup page when an admin access key is set
  • Fix a bug where deleting a large game in the game manager would delete it but not refresh the view to remove it from the list
  • Fix inconsistent dialog title for the export world/export compendium table tools
  • Fix issue that prevented installing protected content via their manifest URL
  • Fix the ‘patreon link’ in My Account page being empty for some users, by falling back on displaying the user’s profile page URL if they have no Patreon username set.
  • Display all currently entitled tiers for Patreon pledges if a user is entitled to more than one tier from the same creator
  • Hide the “Show pledges” button if user has not pledged to any Patreon creator
  • Discover a Patreon’s creator tiers and consider a creator as pledging to all of their own tiers (To allow Miska to install his own premium modules on The Forge)
  • Add the ability for the GM to edit the display name of the players
  • Add the ability to set roles for the players in a game
  • Add the ability for players to see the full player list and change their own display name per game
  • Fix the “Logout” and “Return to setup” buttons from the Escape menu in Foundry to match the changes to the settings sidebar
  • Add the “install modules and systems” button in the table tools to redirect to the Bazaar
  • Add display of a player’s role in the card popover
  • Make the Bazaar’s “Update all” feature work for both systems and modules at the same time and show icons next to each item to differentiate them
  • Fix bug where the “Update all” info banner wasn’t visible when a single package was available for update
  • Fix visual bug in the “Update all” where some lines were not visible due to the scrollbar not going all the way to the bottom
  • Fix the player’s list being unreadable in dark themes
  • Do not consider a custom install of a protected module as always needing an update
  • Verify quota limits before installing packages to avoid going over the limit

November 14th 2020

  • User Manager: Added a system to map Forge players with Foundry users in order to retain a user’s settings and permissions
  • Fix a bug when turning the User Manager off prevented correctly reverting the users if the old user had a name matching a Forge player.
  • Fix an issue with the user manager where the temporary Player user that is created, could become a GM if a new player is invited to the game at the same time
  • Fix a bug where users generated by the User Manager could have an invalid ID when a user is invited into an offline game
  • Fix a bug where the game owner loses the ability to change user’s names or roles if they demote themselves from the Gamemaster role.
  • Too many to list all the small changes and fixes to bugs discovered during the extensive testing while working on improving the user management issues discovered from yesterday’s release.
  • Fix issue installing a protected package from its manifest URL via the bazaar interface
  • Fix issue tracking user activity for GMs that created their games during the early days of The Forge

November 16th 2020

  • Fix non responding page or error when trying to join or leave a game from a different region than the user’s account setting
  • Fix issue clicking on a user’s role to change it which caused it to switch the view to a different game.
  • Revert an unintended change that introduced a server side memory leak in the proxy
1 Like

November 20th 2020

  • Optimize the optimizer! New package releases will be optimized for use in the Bazaar faster and become available to install more quickly.
  • Migrate links to core foundry icons used by modules’ and systems’ compendium packs, into using the CDN as well.
  • Automatically convert base64 encoded scene thumbnail images (and other entities) in compendiums of Bazaar packages to files that are uploaded to the CDN, further reducing the compendium file’s size and optimizing access to the thumbnails as well.
  • Add file deduplication support for Bazaar packages, reducing storage size needed by 4x and improving performance with kernel-side caching of similar files across different package versions.
  • Add support for securing Forge Premium content from predictable URL patterns
  • Add support for a separate assets path for Premium Bazaar packages and its media files for public display
  • Add support for automatically redirecting missing Data files to Bazaar content if a package has assets that aren’t included in its module folder
  • Add backend support for browsing the assets of a Bazaar module/system via the FilePicker API
  • Fix issue of file browser showing a non existing folder when browsing with an asset that comes from a different user’s library
  • Improve support for browsing a folder in the Foundry File Picker without requiring a trailing /
  • Correctly return files in the file browser that match the extensions list requested by Foundry
  • Add protection against using the File browser API with wildcard support for discovering Premium Bazaar content
  • Stop reuse an existing running game for installing protected content from the Bazaar when the Game Manager is enabled, in preparation for a 0.7.8 API change.

November 20th 2020 (part 2)

  • Automatically create a user’s game after they subscribe, without them needing to go to the “My Foundry” page first
  • Fix a bug creating a new blank game by pressing the Enter key
  • Automatically install the game’s system if installed, when installing a world from the Bazaar
  • Fix possibly returning the wrong game data when creating a new game via the API
  • Fix a bug in the Bazaar deduplication algorithm

November 20th 2020 (part 3)

  • Busy day for someone theoretically on vacation! Still doing the Bazaar migration, Probably a couple more hours before it’s done and the updater is re-enabled.
  • Change the default Display Name of a newly created account to match the chosen username instead of the user’s name.
  • Fix the “Create Game” button in the game manager tab when no games exist, which was disabled
  • Fix the package list within Foundry’s setup page bypassing the Bazaar and returning the list from Foundry itself
  • Add a “Launch My Foundry” button at the top of the game configuration page to match the layout when the game manager is enabled
  • Automatically enable the user manager for new games being created, which have a single user, and auto assign the game owner to that user (such as when creating a game from the Bazaar).
  • When using the User Manager, if a player has no display name, default to using their role’s name instead of displaying “null” as the player name.
  • When installing a new game from the bazaar with the game manager enabled, display the newly created game rather than the disable non-game-manager server if it had been last idle into a game with the same world name.
1 Like

November 22nd 2020

  • Default the Foundry file browser to the Assets Library folder
  • Add a [Bazaar] pseudo folder in My Assets Library to browse the assets of your installed packages and get the CDN-backed URL for the modules and their content.
  • Fixes an issue with the new Bazaar optimization update which broke the CSS files of recently updates modules
  • Add a protection against an external library related bug which seems to happen once in a blue moon but can cause games to become inaccessible until manual intervention.
  • World and Module Exports will now download directly without opening a new window temporarily
  • Improve the layout of the “create game” section in the game manager tab when no games exist
  • Fix the font used in the “Social Links” in the page footer and hide the bullet points
  • Fix an issue with exposing the manifest for premium content through the Bazaar API
  • Add a new query parameter for the Bazaar API to return the package information and manifest in a single query
  • Fix issue with the “last updated” field for all the Bazaar packages being updated every day by mistake
  • Add the ability to return the full description of a package in preparation for an upcoming Bazaar UI update
  • Fix bug where uninstalled modules through the Bazaar UI was not updating the internal state of which modules are installed and which aren’t
  • Updated the contest info banner as the contest is about to end :scream:
1 Like

November 22nd 2020 (Part 2)

  • Fix issue where games with the user manager disabled can get their Foundry user roles set to None, preventing access to their world.
  • Remove the muted class on the user manager text in the configure players side panel, making it visible for those with the Darkly theme.
1 Like

November 23rd 2020

  • Work around a Foundry bug with the CORS loading mechanism for invalid URLs that prevented scenes from loading
  • Fix the annoying 1 pixel shift of a Bazaar package’s description when hovering on the name/author line (Thanks @lordzeel and @akrigline)
  • Change the way a world/system package looks when hovered in the game creation dialog
  • When browsing the bazaar assets from within Foundry, redirect to the correct folder for premium content
  • Fix a race condition between the Forge API and the Foundry init hook when the User Manager is enabled which could cause an error to happen early when opening a game
  • Add server side protection to prevent adding an update to a Bazaar update if network issues prevent synchronization of data for the new package between all regions.
  • Remove the manifest and download urls from the module.json for Premium modules during package optimization.
  • Added baileywiki’s Premium maps to the Bazaar for baileywiki’s Patreon supporters.
1 Like

November 30th 2020

  • Added support for the new amazing Explorer Mode for non Foundry license owners to try Foundry with a time limited temporary license.
  • Automatically idle games when installing modules from the Bazaar and warn the user about the need to restart a game if it’s in use and could not be idled automatically.
  • Fix a long standing and rare race condition that could happen when idling or stopping a Foundry instance at the same as the process is requested to start.
  • Remove mention in the “Add License” dialog of the story teller features as being not yet supported
  • Automatically enable the User Manager on worlds where non GM players have a name of “Player 1”, “Player 2”, etc…
  • Fix assets library search failing if the search term had an upper case character
  • Remove an unused API call during custom manifest install
  • Prevent auto idling of a game 30 seconds after it was last accessed to prevent a possible boot loop issue with websocket auto reconnections
  • Be more mindful of when to trigger an FVTT start procedure and automatically destroy the previous instance if it already exists. Should fix issues where Foundry locks up by restarting it automatically.