![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
cookiesync
Advanced tools
Readme
a lightweight module to sync JS objects in realtime across tabs / windows of a browser COOKIE FALLBACK VERSION.
npm i -S cookiesync
import cookiesync from 'cookiesync'
/** Create an action that will trigger a sync to other tabs. */
const action = (userID, first, last) => ({ userID, first, last })
/** Create a handler that will run on all tabs that did not trigger the sync. */
const handler = (value, old, url) => {
console.info(`Another tab at url ${url} switched user from "${old.first} ${old.last}" to "${value.first} ${value.last}".`)
// do something with value.userID
}
/** Create a synchronizer. cookiesync supports N number of synchronizers for different things across your app. */
const usersync = cookiesync('user', action, handler)
/** Start synchronizing. */
usersync.start()
/** IE / Edge do not support local storage across multiple tabs. cookiesync will automatically fallback to a cookie polling mechanism here. You don't need to do anything else. */
if(usersync.isFallback)
console.warn('browser doesnt support local storage synchronization, falling back to cookie synchronization.')
/** Trigger an action that will get handled on other tabs. */
usersync.trigger(1, 'jimmy', 'john')
setTimeout(() => {
/** Trigger another action in 5 seconds. */
usersync.trigger(2, 'jane', 'wonka')
}, 5000)
setTimeout(() => {
/** If its still running, stop syncing in 10 seconds. */
if(usersync.isRunning)
usersync.stop()
}, 10000)
cookiesync(key: string, action: (...args) => payload, handler: payload => {}, [opts: Object]): { start, stop, trigger, isRunning, isFallback }
opts
name | type | default | description |
---|---|---|---|
tracing | boolean | false | toggles tracing for debugging purposes |
logger | Object | console | the logger object to trace to |
loglevel | string | 'info' | the log level to use when tracing (error , warn , info , trace ) |
IE / Edge fallback props for cookiesync
name | type | default | description |
---|---|---|---|
pollFrequency | number | 3000 | the number in milliseconds that should be used for cookie polling |
idLength | number | 8 | the number of characters to use for tracking the current instance (tab) |
path | string | '/' | The path to use for cookies |
secure | boolean | false | Whether to set the secure flag on cookies or not (not recommended) |
httpOnly | boolean | false | Whether to set the http only flag on cookies or not |
FAQs
a lightweight module to sync JS objects in realtime across tabs / windows of a browser.
The npm package cookiesync receives a total of 313 weekly downloads. As such, cookiesync popularity was classified as not popular.
We found that cookiesync demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.