Server update changelog

December 1st 2020

  • Fix some API calls to manage games possibly returning the wrong JSON data due to how internal system API calls were handled
  • Fix the missing warning about the server needing a restart when a game is in session and a package is installed in the bazaar
  • Redirect requests to the correct region when using API requests with an Access Key or an OAuth Bearer Token, when the API related to the user’s Data
  • Fix Bazaar optimized content when it refers to assets from other modules or systems (Dragon Festival world for example, which uses dnd5e and dn5eja assets)
  • Fix missing assets discovery during optimization of packages when the asset path is urlencoded
  • Ensure the scenes thumbnails directory is always created when installing worlds from the Bazaar even if original Data didn’t contain the directory
  • Prevent uploads to the [Bazaar] pseudo directory from within the File Picker.
  • Change the behavior of the /game/idle API endpoint when the game slug is not specified, to only idle the game if it was online.
  • Added Atropos Batllemaps to the Bazaar’s list of Patreon-linked Premium content

December 7th 2020

  • Fix issue with the “Return to setup” button not working anymore from the join screen (Fixed on December 2nd after it was reported an API change broke the feature)
  • Major infrastructure change for enhanced security and performance:
    • Added docker support where each Foundry instance is isolated from the rest of the system (deployment will be progressive).
    • Trying out Foundry under Node 14.x for performance and stability
    • Fine tuned load balancer configuration to improve performance during peak hour load
  • Fix issue where Foundry would not have the license file pre-configured when you add your full license while in Explorer Mode
  • Tweak the text of the explorer mode activation dialog
  • Add a workaround for a potential database read-concern issue causing the “No suitable server found” error that appears rarely to some users.
  • Fix the wrong redirection to the “configure players” screen on User-manager enabled games, for a GM who isn’t the game owner.
  • Override the ‘configure players’ button redirection from the client side to avoid doing two requests to get to the correct final URL.

December 13th 2020

  • Assets library now distributed over 49 worldwide locations! :partying_face: (update count in region change dialog)
  • Speed up game boot time from idle dramatically by dropping support for automatically re-linking all Bazaar modules when downgrading from Foundry 0.6.4+ to an earlier version
  • Remove the forced 1 second delay to redirect to Foundry after boot that was caused by a bug in Foundry 0.7.5
  • Add a button to delete a user’s content if worlds exist and their subscription was cancelled
  • Allow installs of json manifest even if the URL points to a file with the wrong mimetype
  • Show more verbose error messages if encountering an error installing a package from manifest
  • Fix a display bug and show error details when encountering an error deleting an asset
  • Fix impossible issue trying to browse or delete an asset which has a null byte character in its name
  • Display the exact server side error when failing to upload an asset
  • Fix error that occured when uploading a zero-sized asset file
  • Fix issues with the server-side Docker deployment for Foundry
  • Kubernetes cluster upgrade and firewall restriction on services

December 14th 2020

  • Fix Foundry server crashing on load for unusually large or corrupted worlds by doubling RAM limitations on the containers and configuring node’s heap options to make efficient use of RAM and Swap.
  • Fix import wizard failing to import a world from zip where the world is in the root directory of the zip file
  • Fix a server side crash during zip extraction when an uploaded zip archive contains absolute paths, as the path rejection error was left uncaught.

December 16th 2020

  • Change jQuery library dependency from code.jquery.com to cdnjs.cloudflare.com CDN due to the former having some issues loading for some people
  • Fix an issue where the Forge service config file wasn’t taken into account with the new containerized applications
  • Include the Forge module in the /stream endpoint to allow automatic idling of those sessions as well.

December 19th 2020

  • Report error when Foundry fails to start instead of showing an “error communicating” error
  • Fix issue with detecting the correct latest version of a module when the manifest url doesn’t match the URL in the manifest itself
  • Ensure the data directory is always purged when a new Explorer Mode is enabled, in case some files were left over after a change of user region.
  • Fix issue installing premium modules when the game had a Foundry world configured as last launched
  • Clarify the “Unknown system error -122” error from Foundry when installing premium modules to say that it’s a data exceeded error
  • Show link to the forums for information on how to install premium modules when an error occurs

December 21st 2020

  • In invoice preview, show British users the GBP currency as a reference instead of euros.
  • Fix Yukon province code from YU to YT, which prevented Yukon subscriptions from working

December 24th 2020

  • Fix issue preventing some custom manifest urls from installing when the url didn’t end in .json
  • Improve the ‘My Account’ page to display better on smaller screens (thanks @bmarian)
  • Change the Forge logo in the page header to be more festive :slight_smile: :santa:

December 26th 2020

  • Whaaaatt??? For realz? Yep! Added a 10% off sale for Boxing Week (Backend + frontend support)!
  • Added support for viewing pending invoice items and account balance during invoice preview when user has credits to their account (contest winners, gift cards)

[Part 2]

  • Add a database-backed system for service announcements and the ability to dismiss them on a per user session basis.

January 1st 2021

  • Happy new year everyone!
  • Revert Germany VAT rates to the standard 19% rates
  • Boxing Week sale coupon has expired (will apply to anyone who subscribed during the Boxing Week)
  • Revert the christmas logo to the regular logo
  • Fix an issue with subscriptions for Paypal users where unpaid invoices didn’t stop finalizing future invoices from being generated for delinquent accounts.

January 8th 2021

  • Rename “Extra Data” on the site to “Extra Game Data” to avoid some possible confusion for users wanting to increase their Assets
  • Improve Foundry orchestrator to avoid a possible race condition and remove risk of infinite loop in case of slow process boot up
  • Fix a rare error that could happen when proxying websocket data on a stopped instance after it gets auto started.

January 12th 2021

  • Automatically redirect FilePicker.browse API to browsing the assets library when a module tries to browse for files in a non existing folder from the Data or user sources.
  • Improve idle game detection by resetting inactivity timer when server side events occur (chat message is created, token is moved, actor is updated, active scene is changed, etc…) to prevent inaccurately detecting an inactive tab that is observing a game only.
  • Lower game inactivity threshold to 1 hour when user is alone and no other players are connected to the game
  • Lower game inactivity threshold to 2 hours as server activity + local activity should handle all use cases now and be more than enough for everyone.
  • Handle use case of a paypal using account paying for an invoice through the stripe hosted portal, so the subscription status gets correctly updated. Also improves subscription status handling in general for the paypal use case.
  • In case of error contacting S3 storage, retry after a short delay to improve access to assets when S3 backend is having network issues.

January 15th 2021

  • Implement a new scheduler for Foundry instances to better utilize server resources
  • Add loop and thumbnail fields to the media array returned by the Bazaar API (required for the Foundry Hub project which uses it)
  • Add automatic retry of failed Paypal payments, and an improve concurrent handling of payments
  • Added basis for automated machine provisioning
  • Upgrade node dependency library for security purposes

January 17th & January 18th 2021

  • Added a cluster autoscaler algorithm and server setup automation
  • Improve scheduler to optimize machine usage to improve cluster scale down operations
  • Various misc fixes to the forge admin interface and server configurations

January 22nd 2021

  • Vastly improve assets rename operations for European and Asian regions
  • Retain filters, sort order, search query, etc… when refreshing the Bazaar page
  • Add option to select the core foundry language in the game configuration page. (When not using Game Manager at the moment)
  • Fix a display bug in the Bazaar where the world listing would not show if there was a search for packages of a specific language
  • Fix issue for some modules browsing files in the assets library using the wildcard option
  • Improve auto detection of browsing in non existent user data folders and falling back to the assets library
  • Do not bypass the file picker’s data source when the Forge module is loaded in a self hosted environment
  • Improve the autoscaler and schedulers to adapt capacity based on dynamic server RAM usage needs
  • Updated SSL certificates for the Forge website and A/V relay servers

January 30th 2021

  • Fix Forge module error when checking for inactivity on slow connections when the world takes longer than 1 minute to load
  • Fix the Bazaar interfering with custom manifest installs when the package has been disabled on the Bazaar (such as the GURPS game aid)
  • Fix an issue with the new autoscaler unable to set up new droplets due to DigitalOcean API requests requiring pagination when listing a large number of machines
  • Backend restructuring in preparation to move to a kubernetes backed infrastructure

January 31st 2021

  • Fix an error thrown by the Forge module on load due to the activity checker being uninitialized
  • Fix an issue when enabling the user manager if a world exists with zero users in it
  • Automatically create a Gamemaster user when creating a new game from the game manager
  • Automatically associate the Game master user of a new game with the user’s account
  • Fix another autoscaling issue caused by an underlying library mishandling pagination

February 8th 2021

  • Fix issue where the explorer mode demo license could be assigned for a game after the user subscribed
  • Improve the Bazaar page loading time by limiting the returned API information to not include some large data that is unused.
  • Added a way to request via the API a more complete package information, including full html package description from the foundry site listing, and release notes link.
  • Fixed the bazaar updater not properly fetching release notes information from new releases
  • Fix issue with the bazaar package list flickering/refreshing when some actions are performed
  • Fix an issue where the page hash in the bazaar might have an invalid attribute added to it
  • Allow links within a Bazaar package description to function
  • Added more base changes needed for the upcoming full package view UI in the Bazaar
  • Added a dedicated assets/create API endpoint to be used by an upcoming Forge module update, to optimize the upload process coming from the module.
  • Autoscaler: always ensure that a region has at least one available server
  • Add a fix that hopefully handles the very rare race condition of having a Foundry instance running on a server without it being tracked by the database.
  • Handle server shutdowns more gracefully to make updates transition more smoothly to new server versions
  • Cleaned part of the code and did a lot of kubernetes integration & migration work

February 10th 2021

  • Another Bazaar update, adding selectable packages with a full page view of each package
    • Adds support for displaying more detailed information about each package
    • Adds support for displaying the full package description and screenshots/videos
    • Provides more information for Premium and Patreon exclusive packages
    • Links to the package page on the newly launched Foundry Hub
  • Implement asset upload optimizations in the Forge module
  • Switch the md5 and jszip dependency libraries to using cdnjs hosted links
  • Open links in the game descriptions and bazaar package descriptions in a new window
  • Progressive migration to the Kubernetes infrastructure

February 18th 2021

  • Huge update, with 72 total commits that finally brings a much anticipated feature to the Forge : The Bazaar marketplace is now open and ready to provide you with premium content sold directly by your favorite creators!
    • Add the ability to purchase modules and other packages directly from the Forge
    • Allow a package to have a “Pay what you want” or fixed pricing, along with or without a minimum price
    • Add the ability to gift a purchase with a custom message and claim it into another account
    • Add a new package type forge-gift-card for Gift Cards, so you can thank your GM for their hard work
    • Added a way to set roles for user accounts so selected users can have access to a creator dashboard to publish their content and view sales
    • Add a section in My Account page to see purchases and account balance
    • Download purchased content, reclaim your own gifts, buy content to give to someone, save cart for later, etc…
  • Add support in the Bazaar for having a package made available if the user supports more than a single Patreon creator (for partnerships where two creators offer the same module to their supporters)
  • Do not require people to login to see 404 error pages, and correct return the status code in the API endpoints in case of 404
  • Prevent scrolling back to the top of the page when closing a full page view of a bazaar module from the module’s section
  • Fix server side issue that was causing problems with the new 0.8.0 Foundry release.
  • Parallelize profile requests to speed up the payment manager dialog becoming ready to use
  • Do not show a black background behind screenshot/cover images of bazaar packages if the carousel has a single image in it.
  • Various miscellaneous backend fixes and improvements
1 Like