Server update changelog

August 30th 2020

  • Fix a configuration issue when the user sets a custom game url ending with a reserved slug (such as “forums”) redirecting to the subservice instead of the user’s game.
  • Make the info notice about Paypal authorization into an info banner (blue) instead of a warning (yellow)
  • Add ability to delete a game’s url in the “My Foundry” page to have a new url generated.
  • Automatically remove whitespace from the start and end of the API key to be more resilient to copy pastes
  • Sanitize package manifest data before storing it in the database to fix an issue with the bazaar updater being broken due to the use of reserved db keys in its manifest.
  • Add to the Bazaar API the systems and languages supported by a package
  • Add option to pretty up any API response
  • Misc server side improvements

September 1st 2020

  • Import Wizard: Show a more detailed error message when parsing an invalid module.json or system.json
  • Added an information banner on the Assets Library page about the upcoming UI revamp
  • Fix a typo about a payment being “perceived” when it should say “collected” (literal French translation does not work well in English)
  • Improve the error message shown when attempting to link a Patreon account which is already linked to another Forge account
  • Add a “Trial” indicator to the Checkout button when creating a new subscription to make it clearer to new users that the Trial is available.
  • Improve wording of the mandate text to authorize credit card charges
  • Add a new system to switch existing finalized invoices from charging a credit card (if it failed) to charging a Paypal account, and vice versa.
  • Automatically retry payment of the last failed invoice when the user updates their payment methods.
  • Prevent upgrades of a subscription plan while the last invoice is unpaid, which was allowing users to bypass the account lock for failed payments without paying the actual invoice.
  • Correctly compare floating point version numbers of Bazaar packages, instead of using semantic versioning comparisons (0.09 < 0.1, even if 9 > 1), which allows to return the correct latest version of some packages

September 7th 2020

  • Phase 2 of the new assets library revamp is in place
    • Complete redesign of the assets library backend to allow new cool features (in future updates)
    • Optimized mass upload of files from the Assets Library page
    • Addition of Kubernetes backed upload and download micro-services for assets management
    • (About 51 commits (features and fixes) over 1 month of work that would be too long and confusing to list/explain)

September 8th 2020

  • Phase 3 of the new assets library revamp is now in place
  • Added multi-file upload support to the import wizard
  • Added support for renaming and moving files and folders in the assets library
  • Added support for deleting multiple files and folders through the API (no way to do it via the UI yet)
  • Fix a bug with single file uploads not returning the new file URL which affected Foundry module compatiblity (such as with VTTA-Tokenizer)
  • Display the upload and import errors in the console when errors occured in the import wizard.
  • Change the assets library manager so that clicking “open in new tab” on a folder or in the path header, will actually work
  • Fix issue where import errors were not correctly being showed in red in the progress bar during multi file uploads.
  • Fix an issue where it would say “Analyzing ZIP file” when a folder was actually selected
  • Fix issue with worlds in the Bazaar that could have a packs folder in the zip but no actual packs in the world.json, which could prevent the user from creating world compendiums.
  • data: URLs are not counted as “missing assets” anymore when importing a world
  • Fix a CORS related issue that could happen when using the API server in one region while having the user’s region set to a different one (such as after changing region but without reloading the page)

September 9th 2020

  • Fix support for players accessing wildcard tokens from someone else’s assets library in a game
  • Add the filename to the assets rename dialog, and automatically select the filename without the extension.

September 14th 2020

  • Add link to the Foundry knowledge base to the Help menu
  • Bazaar: Fix the display of a package’s author when the manifest uses an authors field with an empty name alongside the author field (midi-qol for example)
  • Bazaar: Prioritize installing the latest version of a module as returned by their manifest, rather than based on version number. Fixes issue in the Bazaar with modules that use incorrect semantic versioning (version 0.9 being smaller than 0.10 for example)
  • Assets library: Add a workaround for a server provider bug which caused some asset files to be deleted when uploading multiple versions of the same file simultaneously.

September 17th 2020

  • Update the Foundry logo used on the site
  • Optimize tokens in Bazaar modules that use wildcard tokens, in order to use the CDN network
  • Add a temporary workaround to the assets library proxy DNS issues that impacted users today at 1AM until the new DNS records are propagated for everyone.

September 17th 2020 (Part 2)

  • Import wizard: Show current system/module/world being imported in the progress bar
  • Import wizard: Detect compendium-only modules and move their assets to the asset library, and migrate the module compendiums (allows it to use minimal Data storage space)
  • Import wizard: Fix issue where importing a single module or system zip file would cause it to install the zip itself even if the package is available in the Bazaar
  • Forge Module: return a status and message field in the FilePicker.upload API response
  • Shared Compendium: Add a Monsters and Monster Features compendium to the generated shared compendiums.

September 18th 2020

  • Add support for Ultrawide resolution for the main site, wasting less spaces on the sides
  • Fix issue with importing a compendium module which doesn’t include any assets (bug introduced in the update from September 17th)
  • Second attempt at mitigating issue of S3 storage provider which could report an asset file was uploaded correctly when it actually had failed to upload.
  • Removed obsolete code that handled the seamless transition from the old asset library design to the new design.

September 20th 2020

  • Add a latency test to the Assets Library servers from the Region change screen
  • Fix issue with the bazaar updater which caused newly created packages from not appearing in the list right away
  • Fix a possible issue where uploading a file would work but report that it failed
  • Fix the automatic redirection of data files to the assets library failing when the filename has a special character, like , for example.
  • Slightly decrease the amount of bandwidth used when browsing the assets library.

September 21st 2020

  • Complete rewrite of the Assets Library browser :partying_face:
    • A new and dynamic UI that is faster to use and more convenient
    • Show image thumbnails within the browser itself and remove the hover
    • Add a sidepanel on file click with more options
    • Add multi file selection and deletion
    • Add file and folder move with drag&drop support
    • Optimize the display of files and folder by loading content as you scroll
    • Optimize the loading of images by only fetching the images as they are being displayed
  • Fix the import wizard not mapping files to their assets library url when the filename has a comma (,) in it.
  • Add link to the Forge subreddit in the social links in the page footer
  • Fix an issue with renaming of assets not updating the file correctly on the CDN
  • Fix an issue with the CDN not updating the thumbnail of an image after it gets updated.
  • Show a more meaningful error to the user when a rename fails

September 26th 2020

  • Improve performance of the new assets library UI by lazy loading the sidebar content until the asset is clicked
  • Automatically stop playing a video/audio when dismissing the sidebar preview of an asset
  • Calculate taxes for Paypal users based on their IP location when billing address doesn’t match
  • Correctly mark accounts as unpaid when using paypal and a payment is declined
  • Fix another memory leak in the websocket proxy
1 Like

September 28th 2020

  • Sort folders and files in assets library based on locale sort order rather than ASCII order
  • Add checks for stripe webhooks for the use case of deleted customer accounts
  • Add support for new FVTT <-> Forge VTT Service Provider API and configuration

October 2nd 2020

  • Added Miska’s Maps Premium battlemaps to the Bazaar (only available to those with access to the files from his Patreon)
  • Automatically detect relative imports from one module to another package to allow them to function with the CDN transparently
  • Add support for server side OAuth2 allowing other sites to authenticate or link with the user’s Forge account
  • Fix the “Deny” button on the Patreon Sign In page that didn’t return back to the site.
  • Improve API keys security by restricting the ability to generate new API Keys to the admin permission only
  • Improve the visual rendering of the error page when a user tries to access a private game while logged out or without being invited to it
  • Fix an issue where a failed paypal charge that was manually paid would not cancel automatic retries and may lock the account when it fails to pay again (due to a check against double payments)
  • Bazaar: Use a module or system’s minimumCoreVersion instead of the foundryvtt API response for determining the package’s compatibility with the user’s selected version

October 3rd 2020

  • Implement a fix to the CORS bug in Foundry 0.6.6 via the Forge module
  • Disable Foundry’s auto-retry of missing assets from the assets library with a CORS workaround, to improve load times when files are missing (unnecessary with Forge assets)
  • Add user ID to profile API to be OAuth conformant
  • Add the ability to list and delete Foundry’s log files from the setup page

October 4th 2020

  • Add link and mention to the LFG category to player’s dashboard when they have not been invited to any game
  • Update the Terms of Service to prohibit the use of tools to prevent server idling and disallow account sharing
  • Use an alternative method of detecting when the Foundry instance has become ready to accept new connection, possibly improving the reliability of launching games.

October 8th 2020

  • Recreate the game card and game setup UI using the Vue.js framework for a more reactive UI
  • Added a new set of APIs for accessing information about the user’s game information
  • Limit the player’s usage to 10 users in the popover on a game for a better UX for large campaigns
  • Add a markdown rich editor with preview for the game description setup
  • Improve visually the dropdown selectors for public/private and FVTT version in the setup page
  • Sanitize html in a game description to prevent malicious from doing remote code injection attacks
  • Third attempt at fixing the http-proxy memory leak with websockets
  • Added service announcement notification about the Forge Contest

October 8th 2020 (Part 2)

  • Fix “Access Game” redirecting to wrong URL in the new updated UI from this morning’s update
  • Reduce Ireland’s tax rate from 23% to 21% due to COVID relief
  • Show the most accurate tax rate in a subscription’s preview when billing country doesn’t match IP country and doesn’t match credit card bank country (when payment method is already set)
  • Update user’s geo location for tax purposes when billing address changes
  • Include the taxes in the Paypal authorization when creating/upgrading a subscription to prevent voiding it once the invoice is finalized
  • Settle a Paypal authorization charge instead of voiding it if the final amount turned out to be smaller than the authorized amount.

October 12th 2020

  • Added Facebook link to social links section in page footer
  • Fix user’s email address removing subaddresses when sanitizing the input
  • Hide overflowing description from a game card and add horizontal scrollbars automatically when necessary
  • Add support for “Blocked” package updates in the Bazaar in preparation for Foundry 0.7.4 release

October 19th 2020

  • Major update to the user interface for both the main dashboard page as well as the “My Foundry” page. With a total of 44 commits, many of them massive, the best way to see what changed is to give the new UI a try and see it for yourself.
  • Add the ability to set games as favorites, so they appear at the top of your dashboard, regardless of their last access date.
  • Add the ability to clone an existing world with a new tool button in the My Foundry page
  • Add a new UI to configure/list the players who were invited to your game, see the non-cropped list with their avatar and game time
  • Add the ability to kick a player from a game they were invited to.
  • Move the games list page, game card, game setup page, game configuration form, delete content dialogs, and create shared compendiums, to using Vue.js for a more reactive UI.
    • Game List: Allow setting/unsetting a game as favorite and dynamically shuffle the dashboard based on new sorting algorithm
    • Delete content dialog: Disable the delete button until the correct confirmation code is entered
    • Delete content dialog: Crop long game/system/module descriptions so the hover popover doesn’t fill the entire screen
    • Create shared compendium: Warn and prevent creating a compendium if one with the same name already exists, to prevent overwriting it
    • Create shared compendium: Disable submit button until a valid name has been entered
    • Game Card: Correctly line up the status indicator icon for a game with the text surrounding it
    • Game Setup: Remove the vertical game card preview from the game setup page and move the table tool buttons to the top of the page as a horizontal toolbar
    • Game Setup: Remove the dropdown button for exporting worlds/modules and create modal dialogs for a less crowded selection of the worlds/modules.
    • Game Setup: You can now start/stop a server and see the change immediately without reloading the page
    • Game Setup: Use a tabbed view of games and add placeholder toggle for the game management features
    • Game Configuration: Show which fields were modified, add a button to reset changes, add a save settings button which uses the new API to do the changes without reloading the page
  • Add a one second delay after Foundry reports being usable to work around a bug in 0.7.x which causes it to ignore the first requests it receives right after startup
  • When accessing the forums link from the navigation bar, auto login users instead of requiring the one additional step of clicking ‘login’ within the forums page
  • Fix issue where a user could log into the forums, logout of the forge but remain logged in the forums.
  • Fix issue where a forum account was automatically being created if a user changes their profile information, without ever having logged into the forums first.
  • Added new API endpoints for querying and configuring games
  • Fix broken tooltip on the game status indicator
  • Fix game stop API not returning the operation status in the response
  • Fix the “New Folder” button in the Assets Library not working anymore after being opened once and dismissed
  • Add a third system to check against potential double payments when using PayPal due to possible simultaneous Stripe webhooks by limiting the number of invoices getting paid by the same user to one per minute