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

@liveblocks/react

Package Overview
Dependencies
Maintainers
5
Versions
419
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@liveblocks/react - npm Package Compare versions

Comparing version 2.9.1 to 2.9.2-emails1

dist/chunk-2WZXFCH3.js

6

dist/index.js

@@ -70,3 +70,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkB4ZHLBDSjs = require('./chunk-B4ZHLBDS.js');
var _chunk2WZXFCH3js = require('./chunk-2WZXFCH3.js');

@@ -76,3 +76,3 @@ // src/index.ts

var _client = require('@liveblocks/client');
_core.detectDupes.call(void 0, _chunkB4ZHLBDSjs.PKG_NAME, _chunkB4ZHLBDSjs.PKG_VERSION, _chunkB4ZHLBDSjs.PKG_FORMAT);
_core.detectDupes.call(void 0, _chunk2WZXFCH3js.PKG_NAME, _chunk2WZXFCH3js.PKG_VERSION, _chunk2WZXFCH3js.PKG_FORMAT);

@@ -145,3 +145,3 @@

exports.ClientContext = _chunkB4ZHLBDSjs.ClientContext; exports.ClientSideSuspense = _chunkB4ZHLBDSjs.ClientSideSuspense; exports.CreateThreadError = _chunkB4ZHLBDSjs.CreateThreadError; exports.LiveblocksProvider = _chunkB4ZHLBDSjs.LiveblocksProvider; exports.RoomContext = _chunkB4ZHLBDSjs.RoomContext; exports.RoomProvider = _chunkB4ZHLBDSjs._RoomProvider; exports.createLiveblocksContext = _chunkB4ZHLBDSjs.createLiveblocksContext; exports.createRoomContext = _chunkB4ZHLBDSjs.createRoomContext; exports.getUmbrellaStoreForClient = _chunkB4ZHLBDSjs.getUmbrellaStoreForClient; exports.selectThreads = _chunkB4ZHLBDSjs.selectThreads; exports.shallow = _client.shallow; exports.useAddReaction = _chunkB4ZHLBDSjs._useAddReaction; exports.useAttachmentUrl = _chunkB4ZHLBDSjs.useAttachmentUrl; exports.useBatch = _chunkB4ZHLBDSjs.useBatch; exports.useBroadcastEvent = _chunkB4ZHLBDSjs._useBroadcastEvent; exports.useCanRedo = _chunkB4ZHLBDSjs.useCanRedo; exports.useCanUndo = _chunkB4ZHLBDSjs.useCanUndo; exports.useClient = _chunkB4ZHLBDSjs.useClient; exports.useCommentsErrorListener = _chunkB4ZHLBDSjs.useCommentsErrorListener; exports.useCreateComment = _chunkB4ZHLBDSjs.useCreateComment; exports.useCreateThread = _chunkB4ZHLBDSjs._useCreateThread; exports.useDeleteAllInboxNotifications = _chunkB4ZHLBDSjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkB4ZHLBDSjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkB4ZHLBDSjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkB4ZHLBDSjs._useDeleteThread; exports.useEditComment = _chunkB4ZHLBDSjs.useEditComment; exports.useEditThreadMetadata = _chunkB4ZHLBDSjs._useEditThreadMetadata; exports.useErrorListener = _chunkB4ZHLBDSjs.useErrorListener; exports.useEventListener = _chunkB4ZHLBDSjs._useEventListener; exports.useHistory = _chunkB4ZHLBDSjs.useHistory; exports.useHistoryVersionData = _chunkB4ZHLBDSjs.useHistoryVersionData; exports.useHistoryVersions = _chunkB4ZHLBDSjs._useHistoryVersions; exports.useInboxNotificationThread = _chunkB4ZHLBDSjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkB4ZHLBDSjs.useInboxNotifications; exports.useIsInsideRoom = _chunkB4ZHLBDSjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkB4ZHLBDSjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkB4ZHLBDSjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkB4ZHLBDSjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkB4ZHLBDSjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkB4ZHLBDSjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkB4ZHLBDSjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkB4ZHLBDSjs._useMutation; exports.useMyPresence = _chunkB4ZHLBDSjs._useMyPresence; exports.useOther = _chunkB4ZHLBDSjs._useOther; exports.useOthers = _chunkB4ZHLBDSjs._useOthers; exports.useOthersConnectionIds = _chunkB4ZHLBDSjs.useOthersConnectionIds; exports.useOthersListener = _chunkB4ZHLBDSjs._useOthersListener; exports.useOthersMapped = _chunkB4ZHLBDSjs._useOthersMapped; exports.useRedo = _chunkB4ZHLBDSjs.useRedo; exports.useRemoveReaction = _chunkB4ZHLBDSjs.useRemoveReaction; exports.useRoom = _chunkB4ZHLBDSjs._useRoom; exports.useRoomInfo = _chunkB4ZHLBDSjs.useRoomInfo; exports.useRoomNotificationSettings = _chunkB4ZHLBDSjs.useRoomNotificationSettings; exports.useSelf = _chunkB4ZHLBDSjs._useSelf; exports.useStatus = _chunkB4ZHLBDSjs.useStatus; exports.useStorage = _chunkB4ZHLBDSjs._useStorage; exports.useStorageRoot = _chunkB4ZHLBDSjs._useStorageRoot; exports.useStorageStatus = _chunkB4ZHLBDSjs.useStorageStatus; exports.useThreadSubscription = _chunkB4ZHLBDSjs.useThreadSubscription; exports.useThreads = _chunkB4ZHLBDSjs._useThreads; exports.useUndo = _chunkB4ZHLBDSjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkB4ZHLBDSjs.useUnreadInboxNotificationsCount; exports.useUpdateMyPresence = _chunkB4ZHLBDSjs._useUpdateMyPresence; exports.useUpdateRoomNotificationSettings = _chunkB4ZHLBDSjs.useUpdateRoomNotificationSettings; exports.useUser = _chunkB4ZHLBDSjs._useUser; exports.useUserThreads_experimental = _chunkB4ZHLBDSjs._useUserThreads_experimental;
exports.ClientContext = _chunk2WZXFCH3js.ClientContext; exports.ClientSideSuspense = _chunk2WZXFCH3js.ClientSideSuspense; exports.CreateThreadError = _chunk2WZXFCH3js.CreateThreadError; exports.LiveblocksProvider = _chunk2WZXFCH3js.LiveblocksProvider; exports.RoomContext = _chunk2WZXFCH3js.RoomContext; exports.RoomProvider = _chunk2WZXFCH3js._RoomProvider; exports.createLiveblocksContext = _chunk2WZXFCH3js.createLiveblocksContext; exports.createRoomContext = _chunk2WZXFCH3js.createRoomContext; exports.getUmbrellaStoreForClient = _chunk2WZXFCH3js.getUmbrellaStoreForClient; exports.selectThreads = _chunk2WZXFCH3js.selectThreads; exports.shallow = _client.shallow; exports.useAddReaction = _chunk2WZXFCH3js._useAddReaction; exports.useAttachmentUrl = _chunk2WZXFCH3js.useAttachmentUrl; exports.useBatch = _chunk2WZXFCH3js.useBatch; exports.useBroadcastEvent = _chunk2WZXFCH3js._useBroadcastEvent; exports.useCanRedo = _chunk2WZXFCH3js.useCanRedo; exports.useCanUndo = _chunk2WZXFCH3js.useCanUndo; exports.useClient = _chunk2WZXFCH3js.useClient; exports.useCommentsErrorListener = _chunk2WZXFCH3js.useCommentsErrorListener; exports.useCreateComment = _chunk2WZXFCH3js.useCreateComment; exports.useCreateThread = _chunk2WZXFCH3js._useCreateThread; exports.useDeleteAllInboxNotifications = _chunk2WZXFCH3js.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunk2WZXFCH3js.useDeleteComment; exports.useDeleteInboxNotification = _chunk2WZXFCH3js.useDeleteInboxNotification; exports.useDeleteThread = _chunk2WZXFCH3js._useDeleteThread; exports.useEditComment = _chunk2WZXFCH3js.useEditComment; exports.useEditThreadMetadata = _chunk2WZXFCH3js._useEditThreadMetadata; exports.useErrorListener = _chunk2WZXFCH3js.useErrorListener; exports.useEventListener = _chunk2WZXFCH3js._useEventListener; exports.useHistory = _chunk2WZXFCH3js.useHistory; exports.useHistoryVersionData = _chunk2WZXFCH3js.useHistoryVersionData; exports.useHistoryVersions = _chunk2WZXFCH3js._useHistoryVersions; exports.useInboxNotificationThread = _chunk2WZXFCH3js._useInboxNotificationThread; exports.useInboxNotifications = _chunk2WZXFCH3js.useInboxNotifications; exports.useIsInsideRoom = _chunk2WZXFCH3js._useIsInsideRoom; exports.useLostConnectionListener = _chunk2WZXFCH3js.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunk2WZXFCH3js.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunk2WZXFCH3js.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunk2WZXFCH3js.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunk2WZXFCH3js.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunk2WZXFCH3js.useMarkThreadAsUnresolved; exports.useMutation = _chunk2WZXFCH3js._useMutation; exports.useMyPresence = _chunk2WZXFCH3js._useMyPresence; exports.useOther = _chunk2WZXFCH3js._useOther; exports.useOthers = _chunk2WZXFCH3js._useOthers; exports.useOthersConnectionIds = _chunk2WZXFCH3js.useOthersConnectionIds; exports.useOthersListener = _chunk2WZXFCH3js._useOthersListener; exports.useOthersMapped = _chunk2WZXFCH3js._useOthersMapped; exports.useRedo = _chunk2WZXFCH3js.useRedo; exports.useRemoveReaction = _chunk2WZXFCH3js.useRemoveReaction; exports.useRoom = _chunk2WZXFCH3js._useRoom; exports.useRoomInfo = _chunk2WZXFCH3js.useRoomInfo; exports.useRoomNotificationSettings = _chunk2WZXFCH3js.useRoomNotificationSettings; exports.useSelf = _chunk2WZXFCH3js._useSelf; exports.useStatus = _chunk2WZXFCH3js.useStatus; exports.useStorage = _chunk2WZXFCH3js._useStorage; exports.useStorageRoot = _chunk2WZXFCH3js._useStorageRoot; exports.useStorageStatus = _chunk2WZXFCH3js.useStorageStatus; exports.useThreadSubscription = _chunk2WZXFCH3js.useThreadSubscription; exports.useThreads = _chunk2WZXFCH3js._useThreads; exports.useUndo = _chunk2WZXFCH3js.useUndo; exports.useUnreadInboxNotificationsCount = _chunk2WZXFCH3js.useUnreadInboxNotificationsCount; exports.useUpdateMyPresence = _chunk2WZXFCH3js._useUpdateMyPresence; exports.useUpdateRoomNotificationSettings = _chunk2WZXFCH3js.useUpdateRoomNotificationSettings; exports.useUser = _chunk2WZXFCH3js._useUser; exports.useUserThreads_experimental = _chunk2WZXFCH3js._useUserThreads_experimental;
//# sourceMappingURL=index.js.map

@@ -63,3 +63,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkB4ZHLBDSjs = require('./chunk-B4ZHLBDS.js');
var _chunk2WZXFCH3js = require('./chunk-2WZXFCH3.js');

@@ -69,3 +69,3 @@ // src/suspense.ts

var _client = require('@liveblocks/client');
_core.detectDupes.call(void 0, _chunkB4ZHLBDSjs.PKG_NAME, _chunkB4ZHLBDSjs.PKG_VERSION, _chunkB4ZHLBDSjs.PKG_FORMAT);
_core.detectDupes.call(void 0, _chunk2WZXFCH3js.PKG_NAME, _chunk2WZXFCH3js.PKG_VERSION, _chunk2WZXFCH3js.PKG_FORMAT);

@@ -131,3 +131,3 @@

exports.ClientContext = _chunkB4ZHLBDSjs.ClientContext; exports.ClientSideSuspense = _chunkB4ZHLBDSjs.ClientSideSuspense; exports.LiveblocksProvider = _chunkB4ZHLBDSjs.LiveblocksProvider; exports.RoomContext = _chunkB4ZHLBDSjs.RoomContext; exports.RoomProvider = _chunkB4ZHLBDSjs._RoomProvider; exports.shallow = _client.shallow; exports.useAddReaction = _chunkB4ZHLBDSjs._useAddReaction; exports.useAttachmentUrl = _chunkB4ZHLBDSjs.useAttachmentUrlSuspense; exports.useBatch = _chunkB4ZHLBDSjs.useBatch; exports.useBroadcastEvent = _chunkB4ZHLBDSjs._useBroadcastEvent; exports.useCanRedo = _chunkB4ZHLBDSjs.useCanRedo; exports.useCanUndo = _chunkB4ZHLBDSjs.useCanUndo; exports.useClient = _chunkB4ZHLBDSjs.useClient; exports.useCreateComment = _chunkB4ZHLBDSjs.useCreateComment; exports.useCreateThread = _chunkB4ZHLBDSjs._useCreateThread; exports.useDeleteAllInboxNotifications = _chunkB4ZHLBDSjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkB4ZHLBDSjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkB4ZHLBDSjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkB4ZHLBDSjs._useDeleteThread; exports.useEditComment = _chunkB4ZHLBDSjs.useEditComment; exports.useEditThreadMetadata = _chunkB4ZHLBDSjs._useEditThreadMetadata; exports.useErrorListener = _chunkB4ZHLBDSjs.useErrorListener; exports.useEventListener = _chunkB4ZHLBDSjs._useEventListener; exports.useHistory = _chunkB4ZHLBDSjs.useHistory; exports.useHistoryVersions = _chunkB4ZHLBDSjs._useHistoryVersionsSuspense; exports.useInboxNotificationThread = _chunkB4ZHLBDSjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkB4ZHLBDSjs.useInboxNotificationsSuspense; exports.useIsInsideRoom = _chunkB4ZHLBDSjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkB4ZHLBDSjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkB4ZHLBDSjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkB4ZHLBDSjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkB4ZHLBDSjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkB4ZHLBDSjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkB4ZHLBDSjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkB4ZHLBDSjs._useMutation; exports.useMyPresence = _chunkB4ZHLBDSjs._useMyPresence; exports.useOther = _chunkB4ZHLBDSjs._useOtherSuspense; exports.useOthers = _chunkB4ZHLBDSjs._useOthersSuspense; exports.useOthersConnectionIds = _chunkB4ZHLBDSjs.useOthersConnectionIdsSuspense; exports.useOthersListener = _chunkB4ZHLBDSjs._useOthersListener; exports.useOthersMapped = _chunkB4ZHLBDSjs._useOthersMappedSuspense; exports.useRedo = _chunkB4ZHLBDSjs.useRedo; exports.useRemoveReaction = _chunkB4ZHLBDSjs.useRemoveReaction; exports.useRoom = _chunkB4ZHLBDSjs._useRoom; exports.useRoomInfo = _chunkB4ZHLBDSjs.useRoomInfoSuspense; exports.useRoomNotificationSettings = _chunkB4ZHLBDSjs.useRoomNotificationSettings; exports.useSelf = _chunkB4ZHLBDSjs._useSelfSuspense; exports.useStatus = _chunkB4ZHLBDSjs.useStatus; exports.useStorage = _chunkB4ZHLBDSjs._useStorageSuspense; exports.useStorageRoot = _chunkB4ZHLBDSjs._useStorageRoot; exports.useStorageStatus = _chunkB4ZHLBDSjs.useStorageStatusSuspense; exports.useThreadSubscription = _chunkB4ZHLBDSjs.useThreadSubscription; exports.useThreads = _chunkB4ZHLBDSjs._useThreadsSuspense; exports.useUndo = _chunkB4ZHLBDSjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkB4ZHLBDSjs.useUnreadInboxNotificationsCountSuspense; exports.useUpdateMyPresence = _chunkB4ZHLBDSjs._useUpdateMyPresence; exports.useUpdateRoomNotificationSettings = _chunkB4ZHLBDSjs.useUpdateRoomNotificationSettings; exports.useUser = _chunkB4ZHLBDSjs._useUserSuspense; exports.useUserThreads_experimental = _chunkB4ZHLBDSjs._useUserThreadsSuspense_experimental;
exports.ClientContext = _chunk2WZXFCH3js.ClientContext; exports.ClientSideSuspense = _chunk2WZXFCH3js.ClientSideSuspense; exports.LiveblocksProvider = _chunk2WZXFCH3js.LiveblocksProvider; exports.RoomContext = _chunk2WZXFCH3js.RoomContext; exports.RoomProvider = _chunk2WZXFCH3js._RoomProvider; exports.shallow = _client.shallow; exports.useAddReaction = _chunk2WZXFCH3js._useAddReaction; exports.useAttachmentUrl = _chunk2WZXFCH3js.useAttachmentUrlSuspense; exports.useBatch = _chunk2WZXFCH3js.useBatch; exports.useBroadcastEvent = _chunk2WZXFCH3js._useBroadcastEvent; exports.useCanRedo = _chunk2WZXFCH3js.useCanRedo; exports.useCanUndo = _chunk2WZXFCH3js.useCanUndo; exports.useClient = _chunk2WZXFCH3js.useClient; exports.useCreateComment = _chunk2WZXFCH3js.useCreateComment; exports.useCreateThread = _chunk2WZXFCH3js._useCreateThread; exports.useDeleteAllInboxNotifications = _chunk2WZXFCH3js.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunk2WZXFCH3js.useDeleteComment; exports.useDeleteInboxNotification = _chunk2WZXFCH3js.useDeleteInboxNotification; exports.useDeleteThread = _chunk2WZXFCH3js._useDeleteThread; exports.useEditComment = _chunk2WZXFCH3js.useEditComment; exports.useEditThreadMetadata = _chunk2WZXFCH3js._useEditThreadMetadata; exports.useErrorListener = _chunk2WZXFCH3js.useErrorListener; exports.useEventListener = _chunk2WZXFCH3js._useEventListener; exports.useHistory = _chunk2WZXFCH3js.useHistory; exports.useHistoryVersions = _chunk2WZXFCH3js._useHistoryVersionsSuspense; exports.useInboxNotificationThread = _chunk2WZXFCH3js._useInboxNotificationThread; exports.useInboxNotifications = _chunk2WZXFCH3js.useInboxNotificationsSuspense; exports.useIsInsideRoom = _chunk2WZXFCH3js._useIsInsideRoom; exports.useLostConnectionListener = _chunk2WZXFCH3js.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunk2WZXFCH3js.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunk2WZXFCH3js.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunk2WZXFCH3js.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunk2WZXFCH3js.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunk2WZXFCH3js.useMarkThreadAsUnresolved; exports.useMutation = _chunk2WZXFCH3js._useMutation; exports.useMyPresence = _chunk2WZXFCH3js._useMyPresence; exports.useOther = _chunk2WZXFCH3js._useOtherSuspense; exports.useOthers = _chunk2WZXFCH3js._useOthersSuspense; exports.useOthersConnectionIds = _chunk2WZXFCH3js.useOthersConnectionIdsSuspense; exports.useOthersListener = _chunk2WZXFCH3js._useOthersListener; exports.useOthersMapped = _chunk2WZXFCH3js._useOthersMappedSuspense; exports.useRedo = _chunk2WZXFCH3js.useRedo; exports.useRemoveReaction = _chunk2WZXFCH3js.useRemoveReaction; exports.useRoom = _chunk2WZXFCH3js._useRoom; exports.useRoomInfo = _chunk2WZXFCH3js.useRoomInfoSuspense; exports.useRoomNotificationSettings = _chunk2WZXFCH3js.useRoomNotificationSettings; exports.useSelf = _chunk2WZXFCH3js._useSelfSuspense; exports.useStatus = _chunk2WZXFCH3js.useStatus; exports.useStorage = _chunk2WZXFCH3js._useStorageSuspense; exports.useStorageRoot = _chunk2WZXFCH3js._useStorageRoot; exports.useStorageStatus = _chunk2WZXFCH3js.useStorageStatusSuspense; exports.useThreadSubscription = _chunk2WZXFCH3js.useThreadSubscription; exports.useThreads = _chunk2WZXFCH3js._useThreadsSuspense; exports.useUndo = _chunk2WZXFCH3js.useUndo; exports.useUnreadInboxNotificationsCount = _chunk2WZXFCH3js.useUnreadInboxNotificationsCountSuspense; exports.useUpdateMyPresence = _chunk2WZXFCH3js._useUpdateMyPresence; exports.useUpdateRoomNotificationSettings = _chunk2WZXFCH3js.useUpdateRoomNotificationSettings; exports.useUser = _chunk2WZXFCH3js._useUserSuspense; exports.useUserThreads_experimental = _chunk2WZXFCH3js._useUserThreadsSuspense_experimental;
//# sourceMappingURL=suspense.js.map
{
"name": "@liveblocks/react",
"version": "2.9.1",
"version": "2.9.2-emails1",
"description": "A set of React hooks and providers to use Liveblocks declaratively. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.",

@@ -52,4 +52,4 @@ "license": "Apache-2.0",

"dependencies": {
"@liveblocks/client": "2.9.1",
"@liveblocks/core": "2.9.1",
"@liveblocks/client": "2.9.2-emails1",
"@liveblocks/core": "2.9.2-emails1",
"use-sync-external-store": "^1.2.2"

@@ -56,0 +56,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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