Skip to content

Releases: casual-simulation/casualos

V0.9.17

25 Jul 22:29
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Added the ability to execute remote events on the server.
      • This lets us do all sorts of administrative tasks while keeping things secure.
      • These events are sent via scripts.
      • Depending on the action, it may only be possible to execute them in the correct channel. For example, executing admin tasks is only allowed in the admin channel to help prevent things like clickjacking.
      • The following functions are supported:
        • Admin channel only
          • server.grantRole(username, role): Grants the given role to the user account with the given username if the current player is an admin.
          • server.revokeRole(username, role): Revokes the given role from the user account with the given username if the current player is an admin.
          • server.shell(script): Runs the given shell script on the server if the current player is an admin.
    • Improved the login system to dynamically update based on changes to the admin channel.
      • This lets us do things like lock user accounts or tokens and have the system automatically handle it.
      • It even supports formulas!
      • The login system uses the following tags on bots in the admin channel:
        • aux.account.username: This tag indicates that the bot is a "user account" bot for the given username.
        • aux.account.roles: This tag indicates which roles an account should be granted.
        • aux.account.locked: This tag indicates whether the account is locked and that logging in using it should not be allowed.
        • aux.token: This tag indicates that the bot is a "token" which can be used to login to a user account.
        • aux.token.username: This tag indicates the username of the user account that the token is for.
        • aux.token.locked: This tag indicates whether the token is locked and therefore cannot be used to login to the account.
    • Improved the login system to automatically give guests the guest role.
      • This allows blocking guests via the aux.blacklist.roles tag on the channel config file.
    • Improved the channel system to only allow loading a channel if it has been created via a bot in the admin channel.
      • This lets admins control which channels are accessible.
      • The admin channel is always accessible, but only to admins. This is a safety measure to prevent people from locking themselves out.
      • To make a channel accessible, load the admin channel and create a bot with aux.channel set to the channel you want and aux.channels set to true.
      • Alternatively, load the channel you want and click the Create Channel toast that pops up. (only works if you're an admin)
    • Added the ability to view and control how many sessions are allowed.
      • Allows setting a max sessions allowed value for channels and the entire server.
      • Per-Channel settings go on the channel file in the admin channel.
        • The aux.channel.connectedSessions tag indicates how many sessions are active for the channel.
        • The aux.channel.maxSessionsAllowed tag specifies how many sessions are allowed for the channel. Admins are not affected by this setting. If this value is not set then there is no limit.
      • Global settings go on the config file in the admin channel.
        • The aux.connectedSessions tag indicates how many sessions are active for the server.
        • The aux.maxSessionsAllowed tag specifies how many sessions are allowed for the entire server. Admins are not affected by this setting. If this value is not set then there is no limit.
    • Added the ability to query the status information from the server.
      • Requests to /api/{channelId}/status will return a JSON object containing the current number of active connections for the channel.
      • Requests to /api/status will return a JSON object containing the current number of active connections for the server.
    • Changed aux.inventory.color tag to aux.context.inventory.color, and allowed the editing of the invenroty color to be done in the context bot's tags.
    • Added an aux.context.inventory.visible tag to toggle the player inventory on and off, it will default to visible.
    • Reduced width of player inventory and added a left alligned line to it's left side.
    • Gave the player inventory the ability to be set by a user set inventory context tag.
    • Added a width maximum to the player inventory.
    • Added in the onAnyBotClicked() function to fire an event when any bot in the scene has been clicked.
  • Bug Fixes
    • The player's background context color can now be set via fomula.
    • Fixed scripts to remove deleted files from queries like getBots() or getBot().
    • Fixed the login screen to hide the loading progress when the user needs to scan the token from their other device.
    • Improved the JavaScript sandbox to prevent common infinite loops.
      • Loops in JavaScript code now have an energy cost of 1 per iteration.
      • By default, each formula/action has an energy of 100,000.
      • Shouts get their own energy value set at 100,000. (for now - so it's still possible to get around the energy limit by shouting back and forth)
      • Exceeding the energy limit causes the formula/action to be terminated so that the application doesn't get locked up.
    • Corrected misspelled tag name in the tag dropdown list.
    • Fixed positioning issue with setting aux.label.anchor via an interaction.

V0.9.16

22 Jul 18:04
Compare
Choose a tag to compare

Date: 07/22/2019

Changes:

  • Improvements

    • Added ability to use the enter key on the new tag dropdown to autofill the tag.
    • The webpage's tab name will now display the channel's ID in designer and the Context name and ID in Player.
  • Bug Fixes

    • Added another Wall3D optimization with a geometry disposal.
    • Added a null check to stop an error when trying to drag specifically removed bots.
    • A mod object will no longer change it's mesh scale while being dragged.
    • Fixed an issue that would happen if a file was updated and deleted in the same script.

V0.9.15

22 Jul 18:05
Compare
Choose a tag to compare

Date: 07/18/2019

Changes:

  • Improvements
    • Selecting a tag from the tag suggestions list will now automatically add the tag on click.
    • Added a plus sign to the Make mod from selection butotn's icon.
  • Bug Fixes
    • Improved Wall3D performance, should no longer take up most memory allocation.
    • Clicking on a bot will no longer have the mereg ball appear for a second in the file count.

V0.9.14

17 Jul 20:51
0fbdbd6
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Added a login system
      • Users are first-come first-serve.
        • Upon login your device will generate a token that is used to authenticate the device for that user account.
          • Because this token is unique and secret you must use the new "Login with Another Device" feature in the side menu.
          • This will show a QR code that can be scanned after trying to login with the same username.
        • Users can be granted roles via their bot in the admin channel.
          • These roles can be used to allow or deny access to channels.
          • Users that have the admin role are allowed access to every channel. (and bypass the blacklist and whitelist)
      • The server now decides if a user is able to load an aux.
        • This means that the server checks aux.blacklist and aux.whitelist before sending the data.
        • The following tags have been added to check whether a user is allowed access based on their roles.
          • aux.whitelist.roles: Specifies the list of roles that users must have all of in order to access the channel.
          • aux.blacklist.roles: Specifies the list of roles that users must not have any of in order to access the channel.
        • By default, the admin channel is set to allow only users with the admin role.
    • The login screen now remembers which users you have logged in with previously.
      • Because tokens are saved on the device it is important to save users and only remove them if explicitly requested by the user.
    • The aux.line.style tag's wall settting will now dynamically scale with bot height and bot stacking.
    • The inventory viewport now no longer accepts panning input, it will now only zoom and rotate.
    • Added in an aux.line.style tag that changes the design of the aux.line.to line.
    • Added in a resize sheets button to set sheet's to full page width at all times.
    • Added in an aux.line.width tag that changes the width of the aux.line.to but only the wall style for now.
    • Resize the sheets button is now on the far left of the sheets buttons.
    • Added a new Make mod from selection button to the sheet's buttons.
    • Clicking off of the sheets will now always revert the selected item to an empty bot.
    • Clicking the enter key on a selected tag will automatically open up the new tag input section.
    • Clicking the escape key when the new tag input section is up will close the input section.
    • The new tag input section will now be left alligned in the sheets.
    • The tag section buttons will now appear below the bot content in the sheets.
    • Moved the sheet's Toggle Size button to the right side of the sheet.
  • Bug Fixes
    • Fixed create() to dissallow overriding aux.creator when a creator is specified.
    • The center button will no longer effect the rotation in channel designer's viewport.
    • 'Enable AR' button no longer shows up in iOS Chrome which is currently unsupported.
    • Fixed AR rendering for both AUX Designer and AUX Player.
    • Fixed the login page to redirect to Channel Designer if the user refreshes the page while on the login screen.
    • Fixed an issue that would cause player.currentContext() to be undefined if it was accessed inside onConnected().
    • Fixed the link to the aux-debug page in Channel Designer.
    • Fixed an issue where formulas which had circular dependencies would cause other tags referencing the circular tag to not update.
    • Fixed the parsing logic for filter tags to support curly quotes. (a.k.a. "Smart Quotes" that the iOS keyboard makes)
    • Adding a new tag to a bot will now automatically focus the new tag whereas before it would not focus it.
    • Fixed the file table to not interrupt the user's typing when tag value updates are processed.
  • Security Fixes
    • Updated the lodash NPM package to 4.17.14 to mitigate CVE-2018-16487.

V0.9.13

12 Jul 15:42
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Reordered the context menu list to new specifications.
    • Renamed several items in the context menu list: Open Context to Go to Context and Select Context Bot to Edit Bot.
    • Added in an aux.line.style tag that changes the design of the aux.line.to line.
  • Bug Fixes
    • The aux.context.locked will now be properly initially set via the create context popup's tick box.

V0.9.12

10 Jul 00:51
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Added a rotation option to player.tweenTo, users can now define an x and y rotation to define which way the camera views the bot.
    • New context popup opens withaux.context.locked set to false and the text has been change to Lock Context.
    • Changed aux.mod.tags to aux.mod.mergeTags.
    • Renamed aux.movable="mod" to aux.movable="cloneMod".
    • isDiff function no longer checks for aux.mod.mergeTags when determining weather a bot is a diff or not.
    • Added the aux.listening tag to disable a bot accepting shouts or whispers if it is false.
    • Removed the context_ prefix of the default generated name of new contexts.
  • Bug Fixes
    • The cube that appears on empty bot will now be properly sized.
    • The center inventory button will now appear when intended.
    • Fixed typo on the Requesting site ID text.
    • First entered letter on a new bot's label not appearing had been resolved.
    • The function onCombine should not trigger when dragging on a stack of bots but a warning message explaining this has been added it this is attempted.
    • Dragging the inventory top to change its size will no longer cause the Google Chrome mobile app to refresh the page.
    • Added in a tween override when user attempts input during a tween that will stop the tween immediately.

V0.9.11

01 Jul 17:11
4a5c095
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Added two new functions that can be used to open URLs.
      • player.goToURL(url): Redirects the user to the given URL in the same tab/window.
      • player.openURL(url): Opens the given URL in a new tab/window.
  • Bug Fixes
    • Fix actions that edit files which get destroyed to not error and cause the rest of the action to fail.

V0.9.10

30 Jun 02:41
Compare
Choose a tag to compare

Changes:

  • Bug Fixes
    • Make the sandboxed iframe fix check if the OS is iOS in addition to checking for Safari. This detects Chrome iOS and therefore applies the workaround.

V0.9.9

29 Jun 02:07
67f14d0
Compare
Choose a tag to compare

Changes:

  • Bug Fixes
    • Make our minifier output ASCII so that Safari can load the web worker from a blob. (which apparently requires ASCII)

V0.9.8

29 Jun 00:49
93f13a7
Compare
Choose a tag to compare

Changes:

  • Improvements
    • Can now click on and drag multiple files at a time, one for each VR controller.
  • Bug Fixes
    • Fixed loading on Firefox browsers.
      • Added special case for Firefox browsers to ignore the use of browser crypto since it seems to cause errors despite it being supported.
    • Always render VR controllers, even if they are not in view of the camera.
      • This makes sure that you can still see controller pointer lines and cursors even if you are holding the controller out of view.
    • Fixed loading on Safari by allowing the sandboxed iframe to do more than it should be able to.