diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 146c914615be..18254b3ccd78 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -14,7 +14,7 @@ "build-storybook": "build -- build-storybook" }, "dependencies": { - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@hookform/resolvers": "^2.8.10", "@masknet/backup-format": "workspace:*", "@masknet/icons": "workspace:*", diff --git a/packages/mask/package.json b/packages/mask/package.json index 035e8d79141f..b84f047b75a0 100644 --- a/packages/mask/package.json +++ b/packages/mask/package.json @@ -5,7 +5,7 @@ "scripts": {}, "dependencies": { "@balancer-labs/sor": "^1.0.0", - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@dimensiondev/mask-wallet-core": "0.1.0-20211013082857-eb62e5f", "@dimensiondev/metamask-extension-provider": "3.0.6-20210519045409-1835d4d", "@dimensiondev/secp256k1-webcrypto": "1.0.0-20220412114204-be816df", diff --git a/packages/mask/src/components/InjectedComponents/SetupGuide.tsx b/packages/mask/src/components/InjectedComponents/SetupGuide.tsx index 743bd28718e3..b6930ab04e8a 100644 --- a/packages/mask/src/components/InjectedComponents/SetupGuide.tsx +++ b/packages/mask/src/components/InjectedComponents/SetupGuide.tsx @@ -84,11 +84,7 @@ function SetupGuideUI(props: SetupGuideUIProps) { const handler = (val: IdentityResolved) => { if (username === '' && val.identifier) setUsername(val.identifier.userId) } - ui.collecting.identityProvider?.recognized.addListener(handler) - - return () => { - ui.collecting.identityProvider?.recognized.removeListener(handler) - } + return ui.collecting.identityProvider?.recognized.addListener(handler) }, [username]) useEffect(() => { diff --git a/packages/mask/src/plugin-infra/host.ts b/packages/mask/src/plugin-infra/host.ts index e3c2d1f1e1c8..a2896190c9c5 100644 --- a/packages/mask/src/plugin-infra/host.ts +++ b/packages/mask/src/plugin-infra/host.ts @@ -15,10 +15,10 @@ export function createPluginHost( isEnabled: Services.Settings.getPluginMinimalModeEnabled, events: new Emitter(), } - const removeListener = MaskMessages.events.pluginMinimalModeChanged.on(([id, val]) => - minimalMode.events.emit(val ? 'enabled' : 'disabled', id), + MaskMessages.events.pluginMinimalModeChanged.on( + ([id, val]) => minimalMode.events.emit(val ? 'enabled' : 'disabled', id), + { signal }, ) - signal?.addEventListener('abort', removeListener) return { signal, diff --git a/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts b/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts index 5338cd8b5151..b4295364235c 100644 --- a/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts +++ b/packages/mask/src/social-network-adaptor/facebook.com/collecting/identity.ts @@ -20,15 +20,10 @@ function resolveLastRecognizedIdentityFacebookInner(ref: ValueRef getProfileIdentifierAtFacebook(x, false)) - const watcher = new MutationObserverWatcher(self) + new MutationObserverWatcher(self) .addListener('onAdd', (e) => assign(e.value)) .addListener('onChange', (e) => assign(e.newValue)) - .startWatch({ - childList: true, - subtree: true, - characterData: true, - }) - signal.addEventListener('abort', () => watcher.stopWatch()) + .startWatch({ childList: true, subtree: true, characterData: true }, signal) function assign(i: IdentityResolved) { if (i.identifier) ref.value = i } @@ -68,19 +63,18 @@ function resolveCurrentVisitingIdentityInner( } const createWatcher = (selector: LiveSelector) => { - const watcher = new MutationObserverWatcher(selector) + new MutationObserverWatcher(selector) .addListener('onAdd', () => assign()) .addListener('onChange', () => assign()) - .startWatch({ - childList: true, - subtree: true, - attributes: true, - }) - window.addEventListener('locationchange', assign) - cancel.addEventListener('abort', () => { - window.removeEventListener('locationchange', assign) - watcher.stopWatch() - }) + .startWatch( + { + childList: true, + subtree: true, + attributes: true, + }, + cancel, + ) + window.addEventListener('locationchange', assign, { signal: cancel }) } assign() diff --git a/packages/mask/src/social-network-adaptor/instagram.com/collecting/identity.ts b/packages/mask/src/social-network-adaptor/instagram.com/collecting/identity.ts index f0278c50562f..f8b5961d2d8f 100644 --- a/packages/mask/src/social-network-adaptor/instagram.com/collecting/identity.ts +++ b/packages/mask/src/social-network-adaptor/instagram.com/collecting/identity.ts @@ -28,21 +28,20 @@ function resolveCurrentVisitingIdentityInner( } } const createWatcher = (selector: LiveSelector) => { - const watcher = new MutationObserverWatcher(selector) + new MutationObserverWatcher(selector) .addListener('onAdd', () => assign()) .addListener('onChange', () => assign()) - .startWatch({ - childList: true, - subtree: true, - attributes: true, - attributeFilter: ['src', 'content'], - }) + .startWatch( + { + childList: true, + subtree: true, + attributes: true, + attributeFilter: ['src', 'content'], + }, + cancel, + ) - window.addEventListener('locationchange', assign) - cancel.addEventListener('abort', () => { - window.removeEventListener('locationchange', assign) - watcher.stopWatch() - }) + window.addEventListener('locationchange', assign, { signal: cancel }) } assign() diff --git a/packages/mask/src/social-network-adaptor/instagram.com/injection/Entry.tsx b/packages/mask/src/social-network-adaptor/instagram.com/injection/Entry.tsx index f817252195cc..a77edfa74b52 100644 --- a/packages/mask/src/social-network-adaptor/instagram.com/injection/Entry.tsx +++ b/packages/mask/src/social-network-adaptor/instagram.com/injection/Entry.tsx @@ -14,15 +14,16 @@ const appearsWith = '[data-testid="new-post-button"]' export function Entry() { const [display, setDisplay] = useState(!!document.querySelector(appearsWith)) useEffect(() => { + const abortController = new AbortController() + const watch = new MutationObserverWatcher( new LiveSelector().querySelector(appearsWith).enableSingleMode(), - ).startWatch({ - childList: true, - subtree: true, - }) - watch.on('onAdd', () => setDisplay(true)) - watch.on('onRemove', () => setDisplay(false)) - return () => watch.stopWatch() + ).startWatch({ childList: true, subtree: true }, abortController.signal) + + watch.addListener('onAdd', () => setDisplay(true), { signal: abortController.signal }) + watch.addListener('onRemove', () => setDisplay(false), { signal: abortController.signal }) + + return () => abortController.abort() }) if (!display) return null return ( diff --git a/packages/mask/src/social-network-adaptor/minds.com/customization/custom.ts b/packages/mask/src/social-network-adaptor/minds.com/customization/custom.ts index 46f2e15ef256..06ffa6a859f7 100644 --- a/packages/mask/src/social-network-adaptor/minds.com/customization/custom.ts +++ b/packages/mask/src/social-network-adaptor/minds.com/customization/custom.ts @@ -29,14 +29,16 @@ export function startWatchThemeColor(signal: AbortSignal) { backgroundColorRef.value = currentTheme.value === 'light' ? 'rgb(244, 244 ,245)' : 'rgb(26, 32, 37)' } - const watcher = new MutationObserverWatcher(themeListItemSelector()) + new MutationObserverWatcher(themeListItemSelector()) .addListener('onAdd', updateThemeColor) .addListener('onChange', updateThemeColor) - .startWatch({ - childList: true, - subtree: true, - }) - signal.addEventListener('abort', () => watcher.stopWatch()) + .startWatch( + { + childList: true, + subtree: true, + }, + signal, + ) } export function useThemeMindsVariant(baseTheme: Theme) { diff --git a/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts b/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts index d04e71b26bc5..e1c0da43237b 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts @@ -31,20 +31,6 @@ function recognizeDesktop() { return { watcher, collect } } -function recognizeMobile() { - const collect = () => { - const avatar = searchSelfAvatarSelector().evaluate()?.getAttribute('src') ?? '' - const handle = searchSelfHandleSelector().evaluate()?.textContent?.trim()?.replace(/^@/, '') - const nickname = searchSelfNicknameSelector().evaluate()?.textContent?.trim() ?? '' - - return { handle, nickname, avatar } - } - - const watcher = new MutationObserverWatcher(searchSelfHandleSelector()) - - return { watcher, collect } -} - function resolveLastRecognizedIdentityInner( ref: Next.CollectingCapabilities.IdentityResolveProvider['recognized'], cancel: AbortSignal, @@ -68,21 +54,20 @@ function resolveLastRecognizedIdentityInner( } const createWatcher = (selector: LiveSelector) => { - const watcher = new MutationObserverWatcher(selector) + new MutationObserverWatcher(selector) .addListener('onAdd', () => assign()) .addListener('onChange', () => assign()) - .startWatch({ - childList: true, - subtree: true, - attributes: true, - attributeFilter: ['src'], - }) - - window.addEventListener('locationchange', assign) - cancel.addEventListener('abort', () => { - window.removeEventListener('locationchange', assign) - watcher.stopWatch() - }) + .startWatch( + { + childList: true, + subtree: true, + attributes: true, + attributeFilter: ['src'], + }, + cancel, + ) + + window.addEventListener('locationchange', assign, { signal: cancel }) } assign() @@ -142,21 +127,20 @@ function resolveCurrentVisitingIdentityInner( }) } const createWatcher = (selector: LiveSelector) => { - const watcher = new MutationObserverWatcher(selector) + new MutationObserverWatcher(selector) .addListener('onAdd', () => assign()) .addListener('onChange', () => assign()) - .startWatch({ - childList: true, - subtree: true, - attributes: true, - attributeFilter: ['src', 'content'], - }) - - window.addEventListener('locationchange', assign) - cancel.addEventListener('abort', () => { - window.removeEventListener('locationchange', assign) - watcher.stopWatch() - }) + .startWatch( + { + childList: true, + subtree: true, + attributes: true, + attributeFilter: ['src', 'content'], + }, + cancel, + ) + + window.addEventListener('locationchange', assign, { signal: cancel }) } assign() diff --git a/packages/mask/src/social-network-adaptor/twitter.com/collecting/post.ts b/packages/mask/src/social-network-adaptor/twitter.com/collecting/post.ts index ac416a160697..851ab4cc2bdb 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/collecting/post.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/collecting/post.ts @@ -79,7 +79,7 @@ function registerPostCollectorInner( }, (info: PostInfo) => info.author.getCurrentValue(), ) - const watcher = new IntervalWatcher(postsContentSelector()) + new IntervalWatcher(postsContentSelector()) .useForeach((node, _, proxy) => { const tweetNode = getTweetNode(node) if (!tweetNode) return @@ -93,10 +93,7 @@ function registerPostCollectorInner( const handleChanged: EventListener, 'currentChanged'> = (e) => { actionsElementProxy!.realCurrent = getPostActionsNode(e.new) || null } - proxy.on('currentChanged', handleChanged) - unwatchPostNodeChange = () => { - proxy.off('currentChanged', handleChanged) - } + unwatchPostNodeChange = proxy.on('currentChanged', handleChanged) } const info = twitterShared.utils.createPostContext({ comments: undefined, @@ -137,8 +134,7 @@ function registerPostCollectorInner( const tweetId = postIdParser(tweetNode) return `${parentTweetId}/${tweetId}` }) - watcher.startWatch(250) - cancel.addEventListener('abort', () => watcher.stopWatch()) + .startWatch(250, cancel) } export const PostProviderTwitter: Next.CollectingCapabilities.PostsProvider = { diff --git a/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts b/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts index 2fc6a0e3b3f7..c4b4462ad37e 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts @@ -9,7 +9,6 @@ import { fromRGB, getBackgroundColor, getForegroundColor, isDark, shade, toRGB } import { isMobileTwitter } from '../utils/isMobile' import { composeAnchorSelector, composeAnchorTextSelector, headingTextSelector } from '../utils/selector' import twitterColorSchema from './twitter-color-schema.json' -import { noop } from 'lodash-unified' import { parseColor } from '@masknet/theme' const themeColorRef = new ValueRef('rgb(29, 161, 242)') @@ -36,30 +35,17 @@ export function startWatchThemeColor(signal: AbortSignal) { if (textColor) textColorRef.value = textColor if (backgroundColor) backgroundColorRef.value = backgroundColor } - const watcher = new MutationObserverWatcher(composeAnchorSelector()) + new MutationObserverWatcher(composeAnchorSelector()) .addListener('onAdd', updateThemeColor) .addListener('onChange', updateThemeColor) - .startWatch({ - childList: true, - subtree: true, - }) - const unwatchAnchor = () => watcher.stopWatch() - let unwatchHeadingText = noop + .startWatch({ childList: true, subtree: true }, signal) if (isMobileTwitter) { - const headingWatcher = new MutationObserverWatcher(headingTextSelector()) + new MutationObserverWatcher(headingTextSelector()) .addListener('onAdd', updateThemeColor) .addListener('onChange', updateThemeColor) - .startWatch({ - childList: true, - subtree: true, - }) - unwatchHeadingText = () => headingWatcher.stopWatch() + .startWatch({ childList: true, subtree: true }, signal) } - signal.addEventListener('abort', () => { - unwatchAnchor() - unwatchHeadingText() - }) } export function useThemeTwitterVariant(baseTheme: Theme) { const primaryColor = useValueRef(themeColorRef) diff --git a/packages/mask/src/social-network/defaults/inject/CommentBox.tsx b/packages/mask/src/social-network/defaults/inject/CommentBox.tsx index 1361d2815851..9d615b897c96 100644 --- a/packages/mask/src/social-network/defaults/inject/CommentBox.tsx +++ b/packages/mask/src/social-network/defaults/inject/CommentBox.tsx @@ -4,7 +4,6 @@ import { DOMProxy, MutationObserverWatcher } from '@dimensiondev/holoflows-kit' import { CommentBox, CommentBoxProps } from '../../../components/InjectedComponents/CommentBox' import { createReactRootShadowed } from '../../../utils/shadow-root/renderInShadowRoot' import { makeStyles } from '@masknet/theme' -import { noop } from 'lodash-unified' import { MaskMessages } from '../../../utils/messages' import { startWatch } from '../../../utils/watcher' @@ -42,7 +41,7 @@ export const injectCommentBoxDefaultFactory = function ( return }) return (signal: AbortSignal, current: PostInfo) => { - if (!current.comment?.commentBoxSelector) return noop + if (!current.comment?.commentBoxSelector) return const commentBoxWatcher = new MutationObserverWatcher( current.comment.commentBoxSelector.clone(), document.body, @@ -59,6 +58,5 @@ export const injectCommentBoxDefaultFactory = function ( return root.destroy }) startWatch(commentBoxWatcher, signal) - return () => commentBoxWatcher.stopWatch() } } diff --git a/packages/mask/src/social-network/defaults/inject/Comments.tsx b/packages/mask/src/social-network/defaults/inject/Comments.tsx index 060b112eeb21..93b1aa8d34ab 100644 --- a/packages/mask/src/social-network/defaults/inject/Comments.tsx +++ b/packages/mask/src/social-network/defaults/inject/Comments.tsx @@ -4,7 +4,6 @@ import { MutationObserverWatcher, ValueRef } from '@dimensiondev/holoflows-kit' import { createReactRootShadowed } from '../../../utils/shadow-root/renderInShadowRoot' import { PostComment, PostCommentProps } from '../../../components/InjectedComponents/PostComments' import { makeStyles } from '@masknet/theme' -import { noop } from 'lodash-unified' import { collectNodeText } from '../../../utils' import { startWatch } from '../../../utils/watcher' @@ -27,7 +26,7 @@ export function injectPostCommentsDefault( }) return function injectPostComments(signal: AbortSignal, current: PostInfo) { const selector = current.comment?.commentsSelector - if (!selector) return noop + if (!selector) return const commentWatcher = new MutationObserverWatcher(selector, document.body).useForeach( (commentNode, key, meta) => { const commentRef = new ValueRef(collectNodeText(commentNode)) @@ -52,7 +51,5 @@ export function injectPostCommentsDefault( }, ) startWatch(commentWatcher, signal) - - return () => commentWatcher.stopWatch() } } diff --git a/packages/mask/src/social-network/ui.ts b/packages/mask/src/social-network/ui.ts index 83763e94d3ad..63cdcf357d48 100644 --- a/packages/mask/src/social-network/ui.ts +++ b/packages/mask/src/social-network/ui.ts @@ -1,5 +1,4 @@ import '../utils/debug/general' -import '../utils/debug/ui' import Services from '../extension/service' import { Flags, InMemoryStorages, PersistentStorages } from '../../shared' import type { SocialNetworkUI } from './types' diff --git a/packages/mask/src/utils/debug/index.ts b/packages/mask/src/utils/debug/index.ts index 17cc05360743..94c91d0739e8 100644 --- a/packages/mask/src/utils/debug/index.ts +++ b/packages/mask/src/utils/debug/index.ts @@ -1,2 +1 @@ export * from './general' -export * from './ui' diff --git a/packages/mask/src/utils/debug/ui.ts b/packages/mask/src/utils/debug/ui.ts deleted file mode 100644 index 196831b807fe..000000000000 --- a/packages/mask/src/utils/debug/ui.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { LiveSelector, Watcher, DOMProxy } from '@dimensiondev/holoflows-kit' - -if (typeof window === 'object' && process.env.NODE_ENV === 'development') { - LiveSelector.enhanceDebugger() - Watcher.enhanceDebugger() - DOMProxy.enhanceDebugger() -} diff --git a/packages/mask/src/utils/watcher.ts b/packages/mask/src/utils/watcher.ts index ecf789e15640..6c11591b0940 100644 --- a/packages/mask/src/utils/watcher.ts +++ b/packages/mask/src/utils/watcher.ts @@ -6,7 +6,6 @@ export function startWatch afterShadowRootInit: { mode: 'closed' }, beforeShadowRootInit: { mode: 'closed' }, }) - .startWatch({ subtree: true, childList: true }) - signal.addEventListener('abort', () => watcher.stopWatch()) + .startWatch({ subtree: true, childList: true }, signal) return watcher } diff --git a/packages/plugin-infra/package.json b/packages/plugin-infra/package.json index 15f6f0c1e329..532c74adddff 100644 --- a/packages/plugin-infra/package.json +++ b/packages/plugin-infra/package.json @@ -56,7 +56,7 @@ "types": "./dist/entry.d.ts", "scripts": {}, "dependencies": { - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@masknet/encryption": "workspace:*", "@masknet/shared-base": "workspace:*", "@masknet/shared-base-ui": "workspace:*", diff --git a/packages/shared-base-ui/package.json b/packages/shared-base-ui/package.json index 2427728465c3..04243e4cdf02 100644 --- a/packages/shared-base-ui/package.json +++ b/packages/shared-base-ui/package.json @@ -10,7 +10,7 @@ }, "sideEffect": false, "dependencies": { - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@masknet/shared-base": "workspace:*", "@types/use-subscription": "^1.0.0", "@types/uuid": "^8.3.4", diff --git a/packages/shared-base/package.json b/packages/shared-base/package.json index b7027e137e0a..4a3e26946509 100644 --- a/packages/shared-base/package.json +++ b/packages/shared-base/package.json @@ -10,7 +10,7 @@ }, "sideEffect": false, "dependencies": { - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@masknet/public-api": "workspace:*", "@masknet/typed-message": "workspace:*", "@msgpack/msgpack": "^2.7.2", diff --git a/packages/shared/package.json b/packages/shared/package.json index 19b61a2cfd4c..80887c4ed89a 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -8,7 +8,7 @@ } }, "dependencies": { - "@dimensiondev/holoflows-kit": "^0.9.0-20210902104757-7c3d0d0", + "@dimensiondev/holoflows-kit": "^0.9.0-20220520093249-0870919", "@masknet/icons": "workspace:*", "@masknet/plugin-infra": "workspace:*", "@masknet/shared-base": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f46b9daf052..e325fead8747 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -150,7 +150,7 @@ importers: packages/dashboard: specifiers: '@babel/core': ^7.17.12 - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@hookform/resolvers': ^2.8.10 '@masknet/backup-format': workspace:* '@masknet/icons': workspace:* @@ -206,7 +206,7 @@ importers: webpack: ^5.72.1 zod: ^3.16.0 dependencies: - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919 '@hookform/resolvers': 2.8.10_react-hook-form@7.31.1 '@masknet/backup-format': link:../backup-format '@masknet/icons': link:../icons @@ -319,7 +319,7 @@ importers: packages/mask: specifiers: '@balancer-labs/sor': ^1.0.0 - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@dimensiondev/mask-wallet-core': 0.1.0-20211013082857-eb62e5f '@dimensiondev/metamask-extension-provider': 3.0.6-20210519045409-1835d4d '@dimensiondev/secp256k1-webcrypto': 1.0.0-20220412114204-be816df @@ -466,7 +466,7 @@ importers: zod: 3.16.0 dependencies: '@balancer-labs/sor': 1.0.0 - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0_5owzivba7saavwcb3imbrcsadu + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919_5owzivba7saavwcb3imbrcsadu '@dimensiondev/mask-wallet-core': 0.1.0-20211013082857-eb62e5f_protobufjs@6.11.2 '@dimensiondev/metamask-extension-provider': 3.0.6-20210519045409-1835d4d '@dimensiondev/secp256k1-webcrypto': 1.0.0-20220412114204-be816df @@ -630,7 +630,7 @@ importers: packages/plugin-infra: specifiers: - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@masknet/encryption': workspace:* '@masknet/shared-base': workspace:* '@masknet/shared-base-ui': workspace:* @@ -645,7 +645,7 @@ importers: unstated-next: ^1.1.0 use-subscription: 1.6.0 dependencies: - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919 '@masknet/encryption': link:../encryption '@masknet/shared-base': link:../shared-base '@masknet/shared-base-ui': link:../shared-base-ui @@ -1063,7 +1063,7 @@ importers: packages/shared: specifiers: - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@masknet/icons': workspace:* '@masknet/plugin-infra': workspace:* '@masknet/shared-base': workspace:* @@ -1083,7 +1083,7 @@ importers: urlcat: ^2.0.4 use-subscription: 1.6.0 dependencies: - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919 '@masknet/icons': link:../icons '@masknet/plugin-infra': link:../plugin-infra '@masknet/shared-base': link:../shared-base @@ -1106,7 +1106,7 @@ importers: packages/shared-base: specifiers: - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@masknet/public-api': workspace:* '@masknet/typed-message': workspace:* '@msgpack/msgpack': ^2.7.2 @@ -1129,7 +1129,7 @@ importers: typeson-registry: ^3.0.0 z-schema: ^5.0.3 dependencies: - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919 '@masknet/public-api': link:../public-api '@masknet/typed-message': link:../typed-message '@msgpack/msgpack': 2.7.2 @@ -1155,7 +1155,7 @@ importers: packages/shared-base-ui: specifiers: - '@dimensiondev/holoflows-kit': ^0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': ^0.9.0-20220520093249-0870919 '@masknet/shared-base': workspace:* '@types/use-subscription': ^1.0.0 '@types/uuid': ^8.3.4 @@ -1163,7 +1163,7 @@ importers: use-subscription: 1.6.0 uuid: ^8.3.2 dependencies: - '@dimensiondev/holoflows-kit': 0.9.0-20210902104757-7c3d0d0 + '@dimensiondev/holoflows-kit': 0.9.0-20220520093249-0870919 '@masknet/shared-base': link:../shared-base '@types/use-subscription': 1.0.0 '@types/uuid': 8.3.4 @@ -4713,34 +4713,32 @@ packages: eslint: 8.15.0 dev: true - /@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0: - resolution: {integrity: sha512-Vk22WLOTW20OECTHdLGulGmDsTFguURQYB9Oq8S+eDVrmWHCxKD/N+4OU5uCFrWCkqjl/n7vec3fVWUSunpBeA==, tarball: download/@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0/bce56871014284e7863fc97177b316aec94f6dfddf627312e690958400e958e8} + /@dimensiondev/holoflows-kit/0.9.0-20220520093249-0870919: + resolution: {integrity: sha512-T1qxi14bTzTnKtLJ52xbgKjJv0X5hClAU6avoCfriUqbGJZ1mMvBv3VusdfesNwwOhgXzxGBrTDSOSwJlUg9+g==, tarball: download/@dimensiondev/holoflows-kit/0.9.0-20220520093249-0870919/e5aea45ad486fa8fd5027339b1398d9604ed4230a07a5ea9a7f6f22a038fddbc} peerDependencies: webextension-polyfill: '*' peerDependenciesMeta: webextension-polyfill: optional: true dependencies: - '@servie/events': 1.0.0 + '@servie/events': 3.0.0 event-iterator: 2.0.0 - jsx-jsonml-devtools-renderer: 1.4.3 lodash-es: 4.17.21 - tslib: 2.3.1 + tslib: 2.4.0 dev: false - /@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0_5owzivba7saavwcb3imbrcsadu: - resolution: {integrity: sha512-Vk22WLOTW20OECTHdLGulGmDsTFguURQYB9Oq8S+eDVrmWHCxKD/N+4OU5uCFrWCkqjl/n7vec3fVWUSunpBeA==, tarball: download/@dimensiondev/holoflows-kit/0.9.0-20210902104757-7c3d0d0/bce56871014284e7863fc97177b316aec94f6dfddf627312e690958400e958e8} + /@dimensiondev/holoflows-kit/0.9.0-20220520093249-0870919_5owzivba7saavwcb3imbrcsadu: + resolution: {integrity: sha512-T1qxi14bTzTnKtLJ52xbgKjJv0X5hClAU6avoCfriUqbGJZ1mMvBv3VusdfesNwwOhgXzxGBrTDSOSwJlUg9+g==, tarball: download/@dimensiondev/holoflows-kit/0.9.0-20220520093249-0870919/e5aea45ad486fa8fd5027339b1398d9604ed4230a07a5ea9a7f6f22a038fddbc} peerDependencies: webextension-polyfill: '*' peerDependenciesMeta: webextension-polyfill: optional: true dependencies: - '@servie/events': 1.0.0 + '@servie/events': 3.0.0 event-iterator: 2.0.0 - jsx-jsonml-devtools-renderer: 1.4.3 lodash-es: 4.17.21 - tslib: 2.3.1 + tslib: 2.4.0 webextension-polyfill: 0.9.0 dev: false @@ -7038,10 +7036,6 @@ packages: picomatch: 2.3.1 dev: true - /@servie/events/1.0.0: - resolution: {integrity: sha512-sBSO19KzdrJCM3gdx6eIxV8M9Gxfgg6iDQmH5TIAGaUu+X9VDdsINXJOnoiZ1Kx3TrHdH4bt5UVglkjsEGBcvw==} - dev: false - /@servie/events/3.0.0: resolution: {integrity: sha512-Zd79bWhTuG8NvPgSiOcivorJIDg+goMw76TIqYTIR5ua5HOEkS29fmIh2VVSeDeabNF6z8ceTwzB0pSh/BhXyw==} dev: false @@ -11395,7 +11389,7 @@ packages: dev: true /array-uniq/1.0.3: - resolution: {integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=} + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} /array-unique/0.3.2: @@ -20863,12 +20857,6 @@ packages: object.assign: 4.1.2 dev: true - /jsx-jsonml-devtools-renderer/1.4.3: - resolution: {integrity: sha512-U1Ayx2VUF6plTLrQkNnJAg8UInToPseWqugxYTKEyaWG8G83Vqpx8BpyW9MObK1kPHdtMkevKfLi+PVwqp5Rtw==} - dependencies: - csstype: 3.0.11 - dev: false - /junk/3.1.0: resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} engines: {node: '>=8'}