Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@casual-simulation/aux-vm-browser
Advanced tools
A set of utilities required to securely run an AUX in a web browser.
A set of utilities required to run an AUX in a web browser.
npm install @casual-simulation/aux-vm-browser
WorkerEntry.js
file to your Webpack config:entry: {
vm: path.resolve(
__dirname,
'node_modules',
'@casual-simulation',
'aux-vm-browser',
'html',
'WorkerEntry.js'
),
},
iframe_host.html
file to your webpack config via the HtmlWebpackPlugin
:new HtmlWebpackPlugin({
chunks: ['vm'],
template: path.resolve(
__dirname,
'node_modules',
'@casual-simulation',
'aux-vm-browser',
'html',
'iframe_host.html'
),
title: 'AUX VM',
filename: 'aux-vm-iframe.html',
}),
aux-vm-iframe.html
is available at the root path of the site.import { BotManager, AuxVMImpl } from '@casual-simulation/aux-vm-browser';
import { AuxUser } from '@casual-simulation/aux-vm';
start();
async function start() {
// The user that we want the program to act as.
// In a real-world scenario we would not hardcode these values
// and we would store the token in a secure location.
const user: AuxUser = {
id: 'myUserId', // The Unique ID of this user session.
username: 'myUsername', // The unique username of the user.
name: 'myName', // The common name of the user.
token: 'mySecretToken', // The user password.
isGuest: false, // Whether the user should be treated as a guest.
};
// The ID of the channel that should be loaded.
// The ID can have the following forms:
// - 'channelId' - This will load 'channelId' from the current host (taken from navigator).
// - 'https://example.com/*/channelId' - This will load 'channelId' from example.com over https
const id = 'channelId';
const config = {
isBuilder: false,
isPlayer: false,
};
const partitions = BotManager.createPartitions(id, user, config);
// Create a file manager.
// This represents an in-browser AUX simulation.
const sim = new BotManager(
user,
id,
config,
new AuxVMImpl(user, {
config,
partitions,
})
);
// Initialize the simulation.
// This will setup a web worker and pipe
// events between the worker and main thread.
await sim.init();
// Listen for the sync state to change to "synced".
// When we're synced we know we have the most up to date data
// and we can communicate our changes to the server.
// Note that this will not fire if we are not allowed to connect.
// This may happen if we are not authenticated/authorized.
sim.connection.syncStateChanged.subscribe((synced) => {
if (synced) {
console.log("We're synced!");
// TODO: Update THE UI
} else {
console.log('No longer synced.');
// TODO: Update the UI
}
});
}
V3.3.15
<video>
HTML custom app elements.
autoplay
attribute to automatically play video from a track.LivekitManager
where media permissions for the camera and microphone were not requested before joining a room. Resulting in silent fails for Google Chrome users. The joinRoom
method now includes a preliminary step to check and request these permissions, ensuring a smoother user experience.FAQs
A set of utilities required to securely run an AUX in a web browser.
The npm package @casual-simulation/aux-vm-browser receives a total of 69 weekly downloads. As such, @casual-simulation/aux-vm-browser popularity was classified as not popular.
We found that @casual-simulation/aux-vm-browser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.