1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2024-11-28 06:48:36 +09:00

Merge remote-branch 'misskey/develop'

This commit is contained in:
NoriDev 2023-09-01 16:02:41 +09:00
commit 050a90fe17
3 changed files with 5 additions and 22 deletions

View File

@ -28,6 +28,8 @@
- メニューのスイッチの動作を改善 - メニューのスイッチの動作を改善
- 絵文字ピッカーの検索の表示件数を100件に増加 - 絵文字ピッカーの検索の表示件数を100件に増加
- 投稿フォームのプレビューの表示状態を記憶するように - 投稿フォームのプレビューの表示状態を記憶するように
- ノート詳細ページ読み込み時のパフォーマンスを改善
- AiScriptからMisskeyサーバーAPIを呼び出す際の制限を撤廃
- Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように - Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように
- Enhance: 自分が押したリアクションのデザインを改善 - Enhance: 自分が押したリアクションのデザインを改善
- Enhance: ノート検索にローカルのみ検索可能なオプションの追加 - Enhance: ノート検索にローカルのみ検索可能なオプションの追加

View File

@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div> </div>
<div class="_margin"> <div class="_margin">
<MkButton v-if="!showNext && hasNext" :class="$style.loadNext" @click="showNext = true"><i class="ti ti-chevron-up"></i></MkButton> <MkButton v-if="!showNext" :class="$style.loadNext" @click="showNext = true"><i class="ti ti-chevron-up"></i></MkButton>
<div class="_margin _gaps_s"> <div class="_margin _gaps_s">
<MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/> <MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/>
<MkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note"/> <MkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note"/>
@ -28,7 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkA> </MkA>
</div> </div>
</div> </div>
<MkButton v-if="!showPrev && hasPrev" :class="$style.loadPrev" @click="showPrev = true"><i class="ti ti-chevron-down"></i></MkButton> <MkButton v-if="!showPrev" :class="$style.loadPrev" @click="showPrev = true"><i class="ti ti-chevron-down"></i></MkButton>
</div> </div>
<div v-if="showPrev" class="_margin"> <div v-if="showPrev" class="_margin">
@ -63,8 +63,6 @@ const props = defineProps<{
let note = $ref<null | misskey.entities.Note>(); let note = $ref<null | misskey.entities.Note>();
let clips = $ref(); let clips = $ref();
let hasPrev = $ref(false);
let hasNext = $ref(false);
let showPrev = $ref(false); let showPrev = $ref(false);
let showNext = $ref(false); let showNext = $ref(false);
let error = $ref(); let error = $ref();
@ -89,8 +87,6 @@ const nextPagination = {
}; };
function fetchNote() { function fetchNote() {
hasPrev = false;
hasNext = false;
showPrev = false; showPrev = false;
showNext = false; showNext = false;
note = null; note = null;
@ -102,20 +98,8 @@ function fetchNote() {
os.api('notes/clips', { os.api('notes/clips', {
noteId: note.id, noteId: note.id,
}), }),
os.api('users/notes', { ]).then(([_clips]) => {
userId: note.userId,
untilId: note.id,
limit: 1,
}),
os.api('users/notes', {
userId: note.userId,
sinceId: note.id,
limit: 1,
}),
]).then(([_clips, prev, next]) => {
clips = _clips; clips = _clips;
hasPrev = prev.length !== 0;
hasNext = next.length !== 0;
}); });
}).catch(err => { }).catch(err => {
error = err; error = err;

View File

@ -13,7 +13,6 @@ import { customEmojis } from '@/custom-emojis';
import { lang } from '@/config'; import { lang } from '@/config';
export function createAiScriptEnv(opts) { export function createAiScriptEnv(opts) {
let apiRequests = 0;
const table = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; const table = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
const randomString = Array.from(crypto.getRandomValues(new Uint32Array(32))) const randomString = Array.from(crypto.getRandomValues(new Uint32Array(32)))
.map(v => table[v % table.length]) .map(v => table[v % table.length])
@ -46,8 +45,6 @@ export function createAiScriptEnv(opts) {
// バグがあればundefinedもあり得るため念のため // バグがあればundefinedもあり得るため念のため
if (typeof token.value !== 'string') throw new Error('invalid token'); if (typeof token.value !== 'string') throw new Error('invalid token');
} }
apiRequests++;
if (apiRequests > 16) return values.NULL;
const res = await os.api(ep.value, utils.valToJs(param), token ? token.value : miLocalStorage.getItem(`aiscriptSecure:${opts.storageKey}:${randomString}:accessToken`) ?? (opts.token ?? null)); const res = await os.api(ep.value, utils.valToJs(param), token ? token.value : miLocalStorage.getItem(`aiscriptSecure:${opts.storageKey}:${randomString}:accessToken`) ?? (opts.token ?? null));
return utils.jsToVal(res); return utils.jsToVal(res);
}), }),