forked from woem.men/forkey
fix(cdn-caching): 自分のリアクションが表示されない問題を修正 (MisskeyIO#851)
This commit is contained in:
parent
5073467f1d
commit
8b17ab77b4
13 changed files with 103 additions and 71 deletions
|
@ -15,7 +15,7 @@ class AntennaChannel extends Channel {
|
|||
public static readonly requireCredential = true as const;
|
||||
public static readonly kind = 'read:account';
|
||||
private antennaId: string;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private noteEntityService: NoteEntityService,
|
||||
|
@ -30,7 +30,7 @@ class AntennaChannel extends Channel {
|
|||
@bindThis
|
||||
public async init(params: any) {
|
||||
this.antennaId = params.antennaId as string;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Subscribe stream
|
||||
this.subscriber.on(`antennaStream:${this.antennaId}`, this.onEvent);
|
||||
|
@ -51,9 +51,13 @@ class AntennaChannel extends Channel {
|
|||
|
||||
if (this.isNoteMutedOrBlocked(note)) return;
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -15,7 +15,7 @@ class ChannelChannel extends Channel {
|
|||
public static readonly shouldShare = false;
|
||||
public static readonly requireCredential = false as const;
|
||||
private channelId: string;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private noteEntityService: NoteEntityService,
|
||||
|
@ -30,7 +30,7 @@ class ChannelChannel extends Channel {
|
|||
@bindThis
|
||||
public async init(params: any) {
|
||||
this.channelId = params.channelId as string;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Subscribe stream
|
||||
this.subscriber.on('notesStream', this.onNote);
|
||||
|
@ -57,9 +57,13 @@ class ChannelChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -18,7 +18,7 @@ class GlobalTimelineChannel extends Channel {
|
|||
public static readonly requireCredential = false as const;
|
||||
private withRenotes: boolean;
|
||||
private withFiles: boolean;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private metaService: MetaService,
|
||||
|
@ -39,7 +39,7 @@ class GlobalTimelineChannel extends Channel {
|
|||
|
||||
this.withRenotes = params.withRenotes ?? true;
|
||||
this.withFiles = params.withFiles ?? false;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Subscribe events
|
||||
this.subscriber.on('notesStream', this.onNote);
|
||||
|
@ -87,9 +87,13 @@ class GlobalTimelineChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -17,7 +17,7 @@ class HomeTimelineChannel extends Channel {
|
|||
public static readonly kind = 'read:account';
|
||||
private withRenotes: boolean;
|
||||
private withFiles: boolean;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private noteEntityService: NoteEntityService,
|
||||
|
@ -33,7 +33,7 @@ class HomeTimelineChannel extends Channel {
|
|||
public async init(params: any) {
|
||||
this.withRenotes = params.withRenotes ?? true;
|
||||
this.withFiles = params.withFiles ?? false;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
this.subscriber.on('notesStream', this.onNote);
|
||||
}
|
||||
|
@ -91,9 +91,13 @@ class HomeTimelineChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -20,7 +20,7 @@ class HybridTimelineChannel extends Channel {
|
|||
private withRenotes: boolean;
|
||||
private withReplies: boolean;
|
||||
private withFiles: boolean;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private metaService: MetaService,
|
||||
|
@ -42,7 +42,7 @@ class HybridTimelineChannel extends Channel {
|
|||
this.withRenotes = params.withRenotes ?? true;
|
||||
this.withReplies = params.withReplies ?? false;
|
||||
this.withFiles = params.withFiles ?? false;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Subscribe events
|
||||
this.subscriber.on('notesStream', this.onNote);
|
||||
|
@ -105,9 +105,13 @@ class HybridTimelineChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -19,7 +19,7 @@ class LocalTimelineChannel extends Channel {
|
|||
private withRenotes: boolean;
|
||||
private withReplies: boolean;
|
||||
private withFiles: boolean;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private metaService: MetaService,
|
||||
|
@ -41,7 +41,7 @@ class LocalTimelineChannel extends Channel {
|
|||
this.withRenotes = params.withRenotes ?? true;
|
||||
this.withReplies = params.withReplies ?? false;
|
||||
this.withFiles = params.withFiles ?? false;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Subscribe events
|
||||
this.subscriber.on('notesStream', this.onNote);
|
||||
|
@ -90,9 +90,13 @@ class LocalTimelineChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -16,7 +16,7 @@ class RoleTimelineChannel extends Channel {
|
|||
public static readonly shouldShare = false;
|
||||
public static readonly requireCredential = false as const;
|
||||
private roleId: string;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private noteEntityService: NoteEntityService,
|
||||
|
@ -32,7 +32,7 @@ class RoleTimelineChannel extends Channel {
|
|||
@bindThis
|
||||
public async init(params: any) {
|
||||
this.roleId = params.roleId as string;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
this.subscriber.on(`roleTimelineStream:${this.roleId}`, this.onEvent);
|
||||
}
|
||||
|
@ -73,9 +73,13 @@ class RoleTimelineChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -21,7 +21,7 @@ class UserListChannel extends Channel {
|
|||
private listUsersClock: NodeJS.Timeout;
|
||||
private withFiles: boolean;
|
||||
private withRenotes: boolean;
|
||||
private idOnly: boolean;
|
||||
private minimize: boolean;
|
||||
|
||||
constructor(
|
||||
private userListsRepository: UserListsRepository,
|
||||
|
@ -41,7 +41,7 @@ class UserListChannel extends Channel {
|
|||
this.listId = params.listId as string;
|
||||
this.withFiles = params.withFiles ?? false;
|
||||
this.withRenotes = params.withRenotes ?? true;
|
||||
this.idOnly = params.idOnly ?? false;
|
||||
this.minimize = params.minimize ?? false;
|
||||
|
||||
// Check existence and owner
|
||||
const listExist = await this.userListsRepository.exists({
|
||||
|
@ -130,9 +130,13 @@ class UserListChannel extends Channel {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.idOnly && ['public', 'home'].includes(note.visibility)) {
|
||||
const idOnlyNote = { id: note.id };
|
||||
this.send('note', idOnlyNote);
|
||||
if (this.minimize && ['public', 'home'].includes(note.visibility)) {
|
||||
this.send('note', {
|
||||
id: note.id, myReaction: note.myReaction,
|
||||
poll: note.poll ? { choices: note.poll.choices } : undefined,
|
||||
reply: note.reply ? { myReaction: note.reply.myReaction } : undefined,
|
||||
renote: note.renote ? { myReaction: note.renote.myReaction } : undefined,
|
||||
});
|
||||
} else {
|
||||
this.connection.cacheNote(note);
|
||||
this.send('note', note);
|
||||
|
|
|
@ -400,7 +400,7 @@ export const waitFire = async <C extends keyof misskey.Channels>(user: UserToken
|
|||
if (timer) clearTimeout(timer);
|
||||
res(true);
|
||||
}
|
||||
}, { ...params, idOnly: false });
|
||||
}, { ...params, minimize: false });
|
||||
} catch (e) {
|
||||
rej(e);
|
||||
}
|
||||
|
|
|
@ -18,12 +18,12 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { computed, watch, onUnmounted, provide, shallowRef } from 'vue';
|
||||
import { time as gtagTime } from 'vue-gtag';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import MkNotes from '@/components/MkNotes.vue';
|
||||
import MkPullToRefresh from '@/components/MkPullToRefresh.vue';
|
||||
import { useStream } from '@/stream.js';
|
||||
import * as sound from '@/scripts/sound.js';
|
||||
import { deepMerge } from '@/scripts/merge.js';
|
||||
import { $i, iAmModerator } from '@/account.js';
|
||||
import { instance } from '@/instance.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
|
@ -76,7 +76,7 @@ async function prepend(data) {
|
|||
let note = data;
|
||||
|
||||
// チェックするプロパティはなんでも良い
|
||||
// idOnlyが有効でid以外が存在しない場合は取得する
|
||||
// minimizeが有効でid以外が存在しない場合は取得する
|
||||
if (!data.visibility) {
|
||||
const res = await window.fetch(`/notes/${data.id}.json`, {
|
||||
method: 'GET',
|
||||
|
@ -87,7 +87,7 @@ async function prepend(data) {
|
|||
},
|
||||
});
|
||||
if (!res.ok) return;
|
||||
note = await res.json();
|
||||
note = deepMerge(data, await res.json());
|
||||
}
|
||||
|
||||
tlNotesCount++;
|
||||
|
@ -108,7 +108,7 @@ async function prepend(data) {
|
|||
let connection: Misskey.ChannelConnection | null = null;
|
||||
let connection2: Misskey.ChannelConnection | null = null;
|
||||
let paginationQuery: Paging | null = null;
|
||||
const idOnly = !iAmModerator;
|
||||
const minimize = !iAmModerator;
|
||||
|
||||
const stream = useStream();
|
||||
|
||||
|
@ -117,13 +117,13 @@ function connectChannel() {
|
|||
if (props.antenna == null) return;
|
||||
connection = stream.useChannel('antenna', {
|
||||
antennaId: props.antenna,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'home') {
|
||||
connection = stream.useChannel('homeTimeline', {
|
||||
withRenotes: props.withRenotes,
|
||||
withFiles: props.onlyFiles ? true : undefined,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
connection2 = stream.useChannel('main');
|
||||
} else if (props.src === 'local') {
|
||||
|
@ -131,27 +131,27 @@ function connectChannel() {
|
|||
withRenotes: props.withRenotes,
|
||||
withReplies: props.withReplies,
|
||||
withFiles: props.onlyFiles ? true : undefined,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'media') {
|
||||
connection = stream.useChannel('hybridTimeline', {
|
||||
withRenotes: props.withRenotes,
|
||||
withReplies: props.withReplies,
|
||||
withFiles: true,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'social') {
|
||||
connection = stream.useChannel('hybridTimeline', {
|
||||
withRenotes: props.withRenotes,
|
||||
withReplies: props.withReplies,
|
||||
withFiles: props.onlyFiles ? true : undefined,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'global') {
|
||||
connection = stream.useChannel('globalTimeline', {
|
||||
withRenotes: props.withRenotes,
|
||||
withFiles: props.onlyFiles ? true : undefined,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'mentions') {
|
||||
connection = stream.useChannel('main');
|
||||
|
@ -170,19 +170,19 @@ function connectChannel() {
|
|||
withRenotes: props.withRenotes,
|
||||
withFiles: props.onlyFiles ? true : undefined,
|
||||
listId: props.list,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'channel') {
|
||||
if (props.channel == null) return;
|
||||
connection = stream.useChannel('channel', {
|
||||
channelId: props.channel,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
} else if (props.src === 'role') {
|
||||
if (props.role == null) return;
|
||||
connection = stream.useChannel('roleTimeline', {
|
||||
roleId: props.role,
|
||||
idOnly: idOnly,
|
||||
minimize: minimize,
|
||||
});
|
||||
}
|
||||
if (props.src !== 'directs' && props.src !== 'mentions') connection?.on('note', prepend);
|
||||
|
|
|
@ -22,7 +22,7 @@ export function deepMerge<X extends Record<string | number | symbol, unknown>>(v
|
|||
if (isPureObject(value) && isPureObject(def)) {
|
||||
const result = deepClone(value as Cloneable) as X;
|
||||
for (const [k, v] of Object.entries(def) as [keyof X, X[keyof X]][]) {
|
||||
if (!Object.prototype.hasOwnProperty.call(value, k) || value[k] === undefined) {
|
||||
if (!Object.hasOwn(value, k) || value[k] === undefined) {
|
||||
result[k] = v;
|
||||
} else if (isPureObject(v) && isPureObject(result[k])) {
|
||||
const child = deepClone(result[k] as Cloneable) as DeepPartial<X[keyof X] & Record<string | number | symbol, unknown>>;
|
||||
|
|
|
@ -642,7 +642,7 @@ export type Channels = {
|
|||
params: {
|
||||
withRenotes?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -654,7 +654,7 @@ export type Channels = {
|
|||
withRenotes?: boolean;
|
||||
withReplies?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -666,7 +666,7 @@ export type Channels = {
|
|||
withRenotes?: boolean;
|
||||
withReplies?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -677,7 +677,7 @@ export type Channels = {
|
|||
params: {
|
||||
withRenotes?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -689,7 +689,7 @@ export type Channels = {
|
|||
listId: string;
|
||||
withFiles?: boolean;
|
||||
withRenotes?: boolean;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -708,7 +708,7 @@ export type Channels = {
|
|||
roleTimeline: {
|
||||
params: {
|
||||
roleId: string;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -718,7 +718,7 @@ export type Channels = {
|
|||
antenna: {
|
||||
params: {
|
||||
antennaId: string;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -728,7 +728,7 @@ export type Channels = {
|
|||
channel: {
|
||||
params: {
|
||||
channelId: string;
|
||||
idOnly?: boolean;
|
||||
minimize?: boolean;
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
|
|
@ -64,7 +64,7 @@ export type Channels = {
|
|||
params: {
|
||||
withRenotes?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -76,7 +76,7 @@ export type Channels = {
|
|||
withRenotes?: boolean;
|
||||
withReplies?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -88,7 +88,7 @@ export type Channels = {
|
|||
withRenotes?: boolean;
|
||||
withReplies?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -99,7 +99,7 @@ export type Channels = {
|
|||
params: {
|
||||
withRenotes?: boolean;
|
||||
withFiles?: boolean;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -111,7 +111,7 @@ export type Channels = {
|
|||
listId: string;
|
||||
withFiles?: boolean;
|
||||
withRenotes?: boolean;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -130,7 +130,7 @@ export type Channels = {
|
|||
roleTimeline: {
|
||||
params: {
|
||||
roleId: string;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -140,7 +140,7 @@ export type Channels = {
|
|||
antenna: {
|
||||
params: {
|
||||
antennaId: string;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
@ -150,7 +150,7 @@ export type Channels = {
|
|||
channel: {
|
||||
params: {
|
||||
channelId: string;
|
||||
idOnly?: boolean,
|
||||
minimize?: boolean,
|
||||
};
|
||||
events: {
|
||||
note: (payload: Note) => void;
|
||||
|
|
Loading…
Reference in a new issue