Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@casual-simulation/aux-vm

Package Overview
Dependencies
Maintainers
0
Versions
476
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@casual-simulation/aux-vm - npm Package Versions

1
48

0.9.39

Diff

Changelog

Source

V0.9.39

Date: 09/19/2019

Changes:

  • Improvements
    • Added support for accepting payments via Stripe.
      • To get started with Stripe, first register for an account on their website.
      • Second, copy your publishable key from the stripe dashboard and add it to the channel's config file in the stripe.publishableKey tag.
      • Third, make a new channel. This will be the "processing" channel which will contain all the information actually needed to charge users for payments. And contain the code to actually complete a charge.
        • In this channel, add your Stripe secret key to the config file in the stripe.secretKey tag.
      • At this point, you are all setup to accept payments. Use the following functions:
        • player.checkout(options): Starts the checkout process for the user. Accepts an object with the following properties:
          • productId: The ID of the product that is being purchased. This is a value that you make up to distinguish different products from each other so you know what to charge.
          • title: The title message that should appear in the checkout box.
          • description: The description message that should appear in the checkout box.
          • processingChannel: The channel that payment processing should happen on. This is the channel you made from step 3.
          • requestBillingAddress: Whether to request billing address information with the purchase.
          • paymentRequest: Optional values for the "payment request" that gives users the option to use Apple Pay or their saved credit card information to checkout. It's an object that takes the following properties:
            • country: The two-letter country code of your Stripe account.
            • currency: The three letter currency code. For example, "usd" is for United States Dollars.
            • total: The label and amount for the total. An object that has the following properties:
              • label: The label that should be shown for the total.
              • amount: The amount that should be charged in the currency's smallest unit. (cents, etc.)
        • server.finishCheckout(options): Finishes the checkout process by actually charging the user for the product. Takes an object with the following properties:
          • token: The token that was produced from the onCheckout() call in the processing channel.
          • amount: The amount that should be charged in the currency's smallest unit.
          • currency: The three character currency code.
          • description: The description that should be included in the receipt.
          • extra: Extra data that should be sent to the onPaymentSuccessful() or onPaymentFailed() actions.
      • Additionally, the following actions have been added:
        • onCheckout(): This action is called on both the normal channel and the processing channel when the user submits a payment option to pay for the product/service. that is an object with the following properties:
          • token: The Stripe token that was created to represent the payment details. In the processing channel, this token can be passed to server.finishCheckout() to complete the payment process.
          • productId: The ID of the product that is being purchased. This is useful to determine which product is being bought and which price to charge.
          • user: (Processing channel only) Info about the user that is currently purchasing the item. It is an object containing the following properties:
            • username: The username of the user. (Shared for every tab & device that the user is logged into)
            • device: The device ID of the user. (Shared for every tab on a single device that the user is logged into)
            • session: The session ID of the user. (Unique to a single tab)
        • onPaymentSuccessful(): This action is called on the processing channel when payment has been accepted after server.finishCheckout() has completed. that is an object with the following properties:
          • bot: The bot that was created for the order.
          • charge: The info about the charge that the Stripe API returned. (Direct result from /api/charges/create)
          • extra: The extra info that was included in the server.finishCheckout() call.
        • onPaymentFailed(): This action is called on the processing channel when payment has failed after server.finishCheckout() was called. that is an object with the following properties:
          • bot: The bot that was created for the error.
          • error: The error object.
          • extra: The extra info that was included in the server.finishCheckout() call.
    • Added the ability to send commands directly to users from the server via the remote(command, target) function.
      • For example, calling remote(player.toast("hi!"), { username: 'test' }) will send a toast message with "hi!" to all sessions that the user "test" has open.
      • This is useful for giving the user feedback after finishing the checkout process.
      • Currently, only player commands like player.toast() or player.goToURL() work. Shouts and whispers are not supported yet.
kallyngowdyyeti
published 0.9.32 •

Changelog

Source

V0.9.32

Date: 9/10/2019

Changes:

  • Improvements
    • Changed and condensed the action tags: onDropInContext(), onAnyDropInContext(), onDropInInventory(), onAnyDropInInventory(), onDragOutOfContext(), onAnyDragOutOfContext(), onDragOutOfInventory() and onAnyDragOutOfInventory() to onBotDrop(), onAnyBotDrop(), onBotDrag(), onAnyBotDrag().
    • Setup new 1x7 player inventory layout, works with dynamic changes to width, currently not working with dynamic changes to height.
    • Changed range of aux.context.inventory.height from 0 to 1 to instead be 1 to 10 defining the default number of rows to view in the inventory on page load.
    • Added an API for the AUX Directory.
      • Stores a list of AUXes and their IP addresses to make it easy to discover AUXPlayers that share the same public IP address with you.
      • Controllable with the DIRECTORY_TOKEN_SECRET and DIRECTORY_WEBHOOK environment variables.
      • If the DIRECTORY_TOKEN_SECRET environmenv variable is not specified, then the directory API will not be enabled.
      • Make sure to use a long secure random value for the DIRECTORY_TOKEN_SECRET.
      • The DIRECTORY_WEBHOOK variable specifies the URL that updated entry information should be POSTed to.
        • The message contains a JSON object with the following data:
          • key: The key/hash that the uniquely identifies the AUX that was updated.
          • externalIpAddress: The external (public facing) IP Address that the AUX is using.
          • internalIpAddress: The internal (non-public facing) IP Address that the AUX is using.
      • The following API Endpoints have been added:
        • GET /api/directory
          • Gets a list of AUXPlayers that share the same public IP Address as you.
          • Each entry in the list contains the name of the AUXPlayer and the URL that it can be accessed at.
        • PUT /api/directory
          • Creates / Updates the entry for an AUXPlayer.
          • The request must contain the following values as a JSON object:
            • key: The unique key identifying the AUXPlayer. Recommended to use a hash of the MAC address and hostname.
            • privateIpAddress: The local network IP Address that has been assigned to the AUXPlayer.
            • publicName: The name that can be shown to other users publicly.
            • password: The password that is required to update the record. If this is the first request for the key then the password will be saved such that the record can only be updated in the future when given the same password.
  • Bug Fixes
    • Unbound aux.context.player.rotation.x and aux.context.player.rotation.y from one another to let the user only need to fill in one of the fields for player's initial rotation to work.
kallyngowdyyeti
published 0.9.31 •

Changelog

Source

V0.9.31

Date: 9/05/2019

Changes:

  • Improvements
    • Added in a mod.subtract function to removed certain tags defined by a mod.
    • Added the ending grid position to the drag and drop context actions.
    • Added the new createdBy() function that get the filter of bots that have been created by another bot.
    • Set the drag and drop actions to return more consistant variables.
    • Removed the hamburger menu icon and the menu text from the player's menu.
    • Player's menu will now open then items are added to it from an empty state.
    • Removed unneeded function from the project: getBotsInContext, getBotsInStack, getFilessAtPosition, getNeighboringBots.
  • Bug Fixes
    • Set the bot in the drag and drop actions to no longer return multiple bots.
    • Cleaned up missed text artifact on the loading popup in player.
    • Setting the initial zoom of the player in the context without setting anything for the rotation will no longer rotate the initial player.
    • Resolved issue with wall height not getting set correctly when the context the bot is on is moved vertically.
    • Fix issue with the bot returned from a drag and drop action.
    • Sheet will now remain open when deleting a bot.
    • Fixed onCombine() actions to pass the other bot as that.bot.
kallyngowdyyeti
published 0.9.30 •

Changelog

Source

V0.9.30

Date: 08/28/2019

Changes:

  • Improvements
    • Split the player inventory's resizing bar into two and placed them at the top corners of the inventory.
    • Halved the inventory's gap spacing when on moble for a larger inventory.
    • Improved the label textbox to resize to fix bot that have a high width value.
    • The drop action tags: onDropInContext(), onAnyDropInContext(), onDropInInventory() and onAnyDropInInventory() now return the previous context the bots were in before the drop.
    • Allow the context to set the player's default zoom with the tag aux.context.player.zoom and its rotation with the tags aux.context.player.rotation.x and aux.context.player.rotation.y.
    • Changed the loading popup to have improved readability and removed wanted information from the player's loading popup.
    • Added the ability to show and scan barcodes.
      • Barcodes can be shown via the player.showBarcode(code, format) function.
        • The format parameter accepts the following options:
      • The barcode scanner can be opened via the player.openBarcodeScanner() function.
        • The following barcode types can be scanned:
          • Code 128
          • Code 39
          • Code 93
          • EAN-13
          • EAN-8
          • UPC-A
          • UPC-C
          • Codeabar
        • When a barcode is scanned the onBarcodeScanned() event will be sent containing the barcode that was detected.
        • Also supports onBarcodeScannerOpened() and onBarcodeScannerClosed().
    • Added menus back to AUXPlayer.
    • Added byMod() as an additional way to query bots.
      • Convienent way to query bots by multiple tags at once.
      • Usage:
        • getBots(byMod({ "aux.color": "red", "aux.scale": 2 })) gets all the bots with aux.color set to "red" and aux.scale set to 2.
        • getBots(byMod({ "aux.color": null, "aux.label": "Hi!" })) gets all the bots without an aux.color but with aux.label set to "Hi!".
  • Bug Fixes
    • Resolved issue with new contexts adding an incorrect tag to the sheet.
    • Changed the dynamic aspect ratio to a stable one for the inventory scaling.
kallyngowdyyeti
published 0.9.29 •

Changelog

Source

V0.9.29

Date: 08/23/2019

Changes:

  • Improvements
    • Changed hasFileInInventory() function to hasBotInInventory().
    • Changed onMerge() action tag to onMod().
    • Changed aux._editingFile hidden tag to aux._editingBot.
    • Gave the player inventory an offset from the bottom of the window so that it is floating.
    • Deselecting one of 2 bots in multiselection mode will return the the sheet to single selection mode.
    • Removed the direct aux view for now.
    • Added new feature in sheet where clicking on a bot's tag will select all bots with that tag.
    • Added a code editor.
      • Loads only on desktop/laptop.
      • For the best experience, use with the full size sheet.
      • Features:
        • Syntax highlighting for action tags and formulas.
          • Normal tags don't get syntax highlighting.
        • Syntax checking.
        • Autocomplete for tags.
          • Triggered by typing # or by pressing Ctrl+Space.
        • Autocomplete for formula/action API functions.
          • Triggered by typing or by pressing Ctrl+Space.
        • Find references to API functions across actions/formulas.
          • Trigger by putting the cursor on the tag and press Shift+F12.
        • Find references to tags across actions/formulas.
          • Trigger by putting the cursor on the tag and press Shift+F12.
        • Auto formatting
          • Trigger by typing Alt+Shift+F.
        • Find & Replace
          • Open the find tool by pressing Ctrl+F.
          • Go to replace mode by toggling the arrow on the left side of the find tool.
      • Other notes
        • It is not currently possible to remove formulas using the code editor. Instead, you have to use the small tag input in the table to completely remove formulas.
    • Changed menu button text of: Channel doesn't exist. Do you want to create it? to Channel doesn't exist. Click here to create it. for better user direction.
  • Bug Fixes
    • Resolved issue of the getBot() function not working in the search bar.
    • Allow the use of a channelID made up entirely of numbers.
    • Resolved issue of setTag() not working with multiple files when fed a false or null value to set.
    • Deleting a bot when in multiselection mode will no longer close the sheet.
    • The onPointerExit() function will now execute before an onPointerEnter() function when hovering over multiple bots.
    • Fixed issue in the RemoveTags() function where providing a string with a . in its tag section failed to remove the correct tags.
    • The tag aux.context can now be set to a value type of boolean or number.
    • Increased the timeout time on the Create Channel toast message to give it more processing time so it works more consistently.
    • Fixed inconsistency between actual action tag onAnyDropInContext and what was appearing in the tag dropdown onDropAnyInContext to read correctly, and other similar cases of this.
    • Changed the tag aux.context.inventory.height to work in the context bot's tag list.
kallyngowdyyeti
published 0.9.28 •

Changelog

Source

V0.9.28

Date: 08/16/2019

Changes:

  • Improvements
    • Added the onPointerUp() action tag to fire on button release.
  • Bug Fixes
    • Resolved issue where creating a new tag on one bot, deselecting all bots and attempting to add that same tag to a different bot resulted in a warning.
    • Resolved issue stopping VR from functioning on Occulus Quest.
kallyngowdyyeti
published 0.9.27 •

Changelog

Source

V0.9.27

Date: 08/14/2019

Changes:

  • Improvements
    • Added the context to the that of the onAnyBotClicked() action tag.
    • Added the context to the that of the onKeyDown() and onKeyUp action tags.
    • Removed the trashcan area that appears when dragging a bot.
    • Added the bot and context to the that of the onPointer action tags.
    • Improved the functionality of getBots() and getBot() by adding the ability to search by multiple parameters.
      • Github Issue
      • The following functions have been added:
        • byTag(tag, value): Filters for bots that have the given tag and value.
        • inContext(context): Filters for bots that are in the given context.
        • inStack(bot, context): Filters for bots that are in the same stack as the given bot in the given context.
        • atPosition(context, x, y): Filters for bots that are at the given position in the given context.
        • neighboring(bot, context, direction): Filters for bots that are neighboring the given bot in the given context in the given direction.
        • either(filter1, filter2): Filters for bots that match either of the given filters.
        • not(filter): Filters for bots that do not match the given filter.
      • As a result, it is now possible to use getBots() like this:
        • getBots(byTag("abc", 123), byTag("name", "test"))
        • getBots(not(inContext("hello")))
        • getBots(inContext("hello"), not(inStack(this, "hello")))
        • getBots(atPosition("test", 1, 2))
        • getBots(either(byTag("abc", true), byTag("def", true)))
      • You can still use the old syntax like getBot("name", "bob").
    • Improved the server to update a tag indicating whether a user is active or not.
      • The tag is aux.user.active and is on every player bot.
      • The user frustums have been updated to use this value for detecting if a player is active or not.
    • Removed the depreciated tags: aux.context.surface.grid, aux.context.surface.defaultHeight, aux.input, aux.input.target, and aux.input.placeholder.
    • Made the text editor in sheet go all way to the bottom of the screen when the sheet is toggled to fullscreen mode.
    • Removed the event() function from action scripts.
  • Bug Fixes
    • Destroying a bot will no longer keep a mod of the bot in the selection.
    • Modballs will no longer appear as the file rendered when searching for bots.
    • Added the missing onPointerDown() tag to the tag dropdown list.
    • Fixed an issue that would cause the browser to be refreshed while in the process of Forking an AUX.
    • The player.currentChannel() function will now work in builder.
    • Fixed actions to be able to support using comments at the end of scripts.
    • When clicking off of a search for config it will no longer show a mod being selected briefly.
kallyngowdyyeti
published 0.9.26 •

Changelog

Source

V0.9.26

Date: 08/09/2019

Changes:

  • Improvements
    • Changed the "Subscribe to Channel" text to "Add Channel" in AUXPlayer.
    • Changed the "powered by CasualOS" tagline to "CasualOS ☑️".
    • Added the ability to copy/paste bots directly onto surfaces.
    • Control clicking a bot and attempting to drag it will now result in cloning the bot.
    • Removed the outline bars on the player inventory.
    • Dragging files in AUXPlayer now pulls the selected bot out of the stack.
    • Updating the aux.scale.z or {context}.z values on bots now updates the other bots in the same stack.
    • Improved the sheet to show the filter buttons for every tag namespace.
    • Added the ability to undo destroying a bot from the sheet.
    • Changed the "channel does not exist" message to include a better call to action.
    • Zooming and rotation from a player.tweenTo() call can now be canceled by user input.
  • Bug Fixes
    • The zoom value and orbital values of the player.tweenTo() function have been clamped to their set limits to avoid issues.
    • The inconsistancy of zoom number input between perspective and orthographic cameras with the tweenTo function has been fixed.
    • Fixed the create channel button to refresh the page so that the channel is properly loaded.
kallyngowdyyeti
published 0.9.25 •

Changelog

Source

V0.9.25

Date: 08/08/2019

Changes:

  • Bug Fixes
    • Fixed a spelling error in the hamburger menu.
    • Fixed an issue that would cause recursive formulas to lock-up the channel.
kallyngowdyyeti
published 0.9.24 •

Changelog

Source

V0.9.24

Date: 08/08/2019

Changes:

  • Improvements
    • Changed onPlayerContextEnter() to onPlayerEnterContext().
    • Added player.currentChannel() for users to query the channel id in player.
  • Bug Fixes
    • Dragging a mod should no longer show a change in the scale.
    • Fixed an issue that would show the wrong username if logging in as a guest.
    • Fixed the "Fork Channel" button to create the new channel.
    • Changed the "Fork Channel" and "Clear Channel" buttons to only allow admins to run them.
    • Fixed an issue that would cause the tag input boxes to not accept typing an = sign as the first character.
    • Fixed the Destroyed {bot ID} messages to not show when the bot doesn't actually get destroyed.
    • Getting the mod of a recently changed file will no longer be missing tags.
    • Fixed isse with new tag input remaining open when verifying a tag vai the enter key.
    • Fixed issue where aux.stackable being false stopped mods from being applied to the bot, mods can now be applied.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc