From 3f21c17b2894bdfb643334d6ed331fc6bdb1d49c Mon Sep 17 00:00:00 2001 From: tamaina Date: Thu, 30 Dec 2021 02:38:17 +0900 Subject: [PATCH 1/3] fix pizzax (#8099) --- packages/client/src/pizzax.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/client/src/pizzax.ts b/packages/client/src/pizzax.ts index 0611599a2..fc01e92ee 100644 --- a/packages/client/src/pizzax.ts +++ b/packages/client/src/pizzax.ts @@ -10,6 +10,8 @@ type StateDef = Record = A extends readonly (infer T)[] ? T : never; +const connection = $i && stream.useChannel('main'); + export class Storage { public readonly key: string; public readonly keyForLocalStorage: string; @@ -20,8 +22,6 @@ export class Storage { public readonly state: { [K in keyof T]: T[K]['default'] }; public readonly reactiveState: { [K in keyof T]: Ref }; - private connection = stream.useChannel('main'); - constructor(key: string, def: T) { this.key = key; this.keyForLocalStorage = 'pizzax::' + key; @@ -73,7 +73,7 @@ export class Storage { }); }, 1); // streamingのuser storage updateイベントを監視して更新 - this.connection.on('registryUpdated', ({ scope, key, value }: { scope: string[], key: keyof T, value: T[typeof key]['default'] }) => { + connection?.on('registryUpdated', ({ scope, key, value }: { scope: string[], key: keyof T, value: T[typeof key]['default'] }) => { if (scope[1] !== this.key || this.state[key] === value) return; this.state[key] = value; From 6d066495b067d1f70670bbafaf89153683103504 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 30 Dec 2021 03:00:40 +0900 Subject: [PATCH 2/3] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 633995c94..a16a76abc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -87,7 +87,7 @@ Configuration files are located in [`/.github/workflows`](/.github/workflows). ## Vue Misskey uses Vue(v3) as its front-end framework. -**When creating a new component, please use the Composition API (and [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html)) instead of the Options API.** +**When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.** Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome. ## Adding MisskeyRoom items From 731ca13ef576ae19a31eb3aeda39ad7e408e4816 Mon Sep 17 00:00:00 2001 From: tamaina Date: Thu, 30 Dec 2021 03:01:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=83=BC=E3=83=97?= =?UTF-8?q?=E3=81=AE=E5=88=A4=E5=AE=9A=E3=82=92=E5=8E=B3=E5=AF=86=E3=81=AB?= =?UTF-8?q?=20(#8100)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/client/src/pizzax.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/pizzax.ts b/packages/client/src/pizzax.ts index fc01e92ee..dbbbfc228 100644 --- a/packages/client/src/pizzax.ts +++ b/packages/client/src/pizzax.ts @@ -74,7 +74,7 @@ export class Storage { }, 1); // streamingのuser storage updateイベントを監視して更新 connection?.on('registryUpdated', ({ scope, key, value }: { scope: string[], key: keyof T, value: T[typeof key]['default'] }) => { - if (scope[1] !== this.key || this.state[key] === value) return; + if (scope.length !== 2 || scope[0] !== 'client' || scope[1] !== this.key || this.state[key] === value) return; this.state[key] = value; this.reactiveState[key].value = value;