diff --git a/CHANGELOG_YOJO.md b/CHANGELOG_YOJO.md index ff6ab1c5a3..c178b16b02 100644 --- a/CHANGELOG_YOJO.md +++ b/CHANGELOG_YOJO.md @@ -1,3 +1,22 @@ +## 1.2.2 +Cherrypick 4.13.0 +Misskey 2024.10.1 + +### Release Date +2024-12-27 + +### General +- + +### Client +- Fix: ノート詳細画面でリアクション出来ない [#584](https://github.com/yojo-art/cherrypick/pull/584) +- Fix: タイムラインオプションで表示有無選択の選択肢を修正 [#590](https://github.com/yojo-art/cherrypick/pull/590) +- Fix: MFMチートシートが表示できない不具合を修正 [#592](https://github.com/yojo-art/cherrypick/pull/592) +- Fix: 引用や返信のノートすべてに翻訳ボタンが表示される [#598](https://github.com/yojo-art/cherrypick/pull/598) + +### Server +- Fix:`api/ap/fetch-outbox`でリノートしか取得されないのを修正 [#588](https://github.com/yojo-art/cherrypick/pull/588) + ## 1.2.1 Cherrypick 4.13.0 Misskey 2024.10.1 diff --git a/package.json b/package.json index ba05f139e1..3839989a4a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yojo-art", - "version": "1.2.1", + "version": "1.2.2", "basedMisskeyVersion": "2024.10.1", "basedCherrypickVersion": "4.13.0", "codename": "nasubi", diff --git a/packages/backend/src/core/activitypub/models/ApOutboxFetchService.ts b/packages/backend/src/core/activitypub/models/ApOutboxFetchService.ts index 8fc4dff1a7..e108da6011 100644 --- a/packages/backend/src/core/activitypub/models/ApOutboxFetchService.ts +++ b/packages/backend/src/core/activitypub/models/ApOutboxFetchService.ts @@ -66,7 +66,6 @@ export class ApOutboxFetchService implements OnModuleInit { this.apLoggerService = this.moduleRef.get('ApLoggerService'); this.logger = this.apLoggerService.logger; } - /** * outboxから投稿を取得します */ @@ -85,14 +84,19 @@ export class ApOutboxFetchService implements OnModuleInit { const cache = await this.redisClient.get(`${outboxUrl}--next`); let next: string | IOrderedCollectionPage; - if (!cache) { + if (cache) { + next = cache; + } else { // Resolve to (Ordered)Collection Object const outbox = await Resolver.resolveOrderedCollection(outboxUrl); if (!outbox.first) throw new IdentifiableError('a723c2df-0250-4091-b5fc-e3a7b36c7b61', 'outbox first page not exist'); next = outbox.first; - } else next = cache; + } - let created = 0; + let current = { + created: 0, + breaked: false, + }; for (let page = 0; page < pagelimit; page++) { const collection = (typeof(next) === 'string' ? await Resolver.resolveOrderedCollectionPage(next) : next); @@ -101,10 +105,13 @@ export class ApOutboxFetchService implements OnModuleInit { const activityes = (collection.orderedItems ?? collection.items); if (!activityes) throw new IdentifiableError('2a05bb06-f38c-4854-af6f-7fd5e87c98ee', 'item is unavailable'); - created = await this.fetchObjects(user, activityes, includeAnnounce, created); - if (createLimit <= created) break;//次ページ見て一件だけしか取れないのは微妙 - if (!collection.next) break; + do { + current = await this.fetchObjects(user, activityes, includeAnnounce, current.created); + page++; + } + while (!current.breaked && page < pagelimit); + if (!collection.next) break; next = collection.next; await this.redisClient.set(`${outboxUrl}--next`, `${next}`, 'EX', 60 * 15);//15min } @@ -112,9 +119,12 @@ export class ApOutboxFetchService implements OnModuleInit { } @bindThis - private async fetchObjects(user: MiRemoteUser, activityes: any[], includeAnnounce:boolean, created: number): Promise { + private async fetchObjects(user: MiRemoteUser, activityes: any[], includeAnnounce:boolean, created: number): Promise<{ + created: number; + breaked: boolean; + }> { for (const activity of activityes) { - if (createLimit < created) return created; + if (createLimit < created) return { created: created, breaked: true }; try { if (activity.actor !== user.uri) throw new IdentifiableError('bde7c204-5441-4a87-9b7e-f81e8d05788a'); if (activity.type === 'Announce' && includeAnnounce) { @@ -177,7 +187,7 @@ export class ApOutboxFetchService implements OnModuleInit { } } else if (isCreate(activity)) { if (typeof(activity.object) !== 'string') { - if (!isNote(activity)) continue; + if (!isNote(activity.object)) continue; } const fetch = await this.apNoteService.fetchNote(activity.object); if (fetch) continue; @@ -190,11 +200,11 @@ export class ApOutboxFetchService implements OnModuleInit { } else { this.logger.error(`fetchError:${activity.id}`); this.logger.error(`${err}`); - continue; } + continue; } created ++; } - return created; + return { created: created, breaked: false }; } } diff --git a/packages/cherrypick-js/package.json b/packages/cherrypick-js/package.json index 1d2ea63b1c..bd407f027b 100644 --- a/packages/cherrypick-js/package.json +++ b/packages/cherrypick-js/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "cherrypick-js", - "version": "1.2.1", + "version": "1.2.2", "basedMisskeyVersion": "2024.10.1", "basedCherrypickVersion": "4.13.0", "description": "yojo-art SDK for JavaScript", diff --git a/packages/frontend-embed/src/boot.ts b/packages/frontend-embed/src/boot.ts index 3421f43c3c..0c6ab28159 100644 --- a/packages/frontend-embed/src/boot.ts +++ b/packages/frontend-embed/src/boot.ts @@ -23,7 +23,7 @@ import { serverMetadata } from '@/server-metadata.js'; import { postMessageToParentWindow, setIframeId } from '@/post-message.js'; import { serverContext } from '@/server-context.js'; -console.log('CherryPick Embed'); +console.log('yojo-art Embed'); //#region Embedパラメータの取得・パース const params = new URLSearchParams(location.search); diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 432cb1080a..58ee3b77e5 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -27,7 +27,7 @@ import { createMainRouter } from '@/router/definition.js'; import { popup } from '@/os.js'; export async function common(createVue: () => App) { - console.info(`CherryPick v${version}`); + console.info(`yojo-art v${version}`); if (_DEV_) { console.warn('Development mode!!!'); diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 1a43490640..e6f4452afa 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -201,7 +201,7 @@ SPDX-License-Identifier: AGPL-3.0-only - @@ -29,7 +29,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.tsx.translatedFrom({ x: translation.sourceLang }) }}:
- { os.popupMenu(await getNoteClipMenu({ note: note.value, isDeleted, currentClip: currentClip?.value }), clipButton.value).then(focus); } -const isForeignLanguage: boolean = note.value.text != null && (() => { +const isForeignLanguage: boolean = (note.value.text != null || note.value.poll != null) && (() => { const targetLang = (miLocalStorage.getItem('lang') ?? navigator.language).slice(0, 2); - const postLang = detectLanguage(note.value.text); - const choicesLang = note.value.poll?.choices.map((choice) => choice.text).join(' ') ?? ''; - const pollLang = detectLanguage(choicesLang); - return postLang !== '' && (postLang !== targetLang || pollLang !== targetLang); + if (note.value.text) { + const postLang = detectLanguage(note.value.text); + if (postLang !== '' && postLang !== targetLang) return true; + } + if (note.value.poll) { + const foreignLang = note.value.poll.choices + .map((choice) => detectLanguage(choice.text)) + .filter((lang) => lang !== targetLang).length; + if (0 < foreignLang) return true; + } + return false; })(); if (defaultStore.state.useAutoTranslate && instance.translatorAvailable && $i.policies.canUseTranslator && $i.policies.canUseAutoTranslate && !isLong && (note.value.cw == null || showContent.value) && note.value.text && isForeignLanguage) translate(); @@ -474,6 +481,15 @@ async function translate(): Promise { collapsed.value = false; translating.value = true; + if (note.value.text == null) { + translating.value = false; + translation.value = { + sourceLang: '', + text: '', + }; + return; + } + vibrate(defaultStore.state.vibrateSystem ? 5 : []); if (props.mock) { diff --git a/packages/frontend/src/pages/admin/index.vue b/packages/frontend/src/pages/admin/index.vue index ed88e10534..cf7415514f 100644 --- a/packages/frontend/src/pages/admin/index.vue +++ b/packages/frontend/src/pages/admin/index.vue @@ -70,7 +70,7 @@ const noInquiryUrl = computed(() => isEmpty(instance.inquiryUrl)); const thereIsUnresolvedAbuseReport = ref(false); const currentPage = computed(() => router.currentRef.value.child); const updateAvailable = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); misskeyApi('admin/abuse-user-reports', { state: 'unresolved', @@ -81,11 +81,11 @@ misskeyApi('admin/abuse-user-reports', { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { updateAvailable.value = true; } }); diff --git a/packages/frontend/src/pages/mfc-cheat-sheet.vue b/packages/frontend/src/pages/mfc-cheat-sheet.vue index 23bf1face2..f9edc90619 100644 --- a/packages/frontend/src/pages/mfc-cheat-sheet.vue +++ b/packages/frontend/src/pages/mfc-cheat-sheet.vue @@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.mentionDescription }}

- +
@@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.hashtagDescription }}

- +
@@ -35,7 +35,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.urlDescription }}

- +
@@ -45,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.linkDescription }}

- +
@@ -55,7 +55,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.emojiDescription }}

- +
@@ -65,7 +65,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.boldDescription }}

- +
@@ -75,7 +75,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.smallDescription }}

- +
@@ -85,7 +85,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.quoteDescription }}

- +
@@ -95,7 +95,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.centerDescription }}

- +
@@ -105,7 +105,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.inlineCodeDescription }}

- +
@@ -115,7 +115,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.blockCodeDescription }}

- +
@@ -125,7 +125,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.inlineMathDescription }}

- +
@@ -135,7 +135,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.blockMathDescription }}

- +
@@ -145,7 +145,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.searchDescription }}

- +
@@ -155,7 +155,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.flipDescription }}

- +
@@ -165,7 +165,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.fontDescription }}

- +
@@ -175,7 +175,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.x2Description }}

- +
@@ -185,7 +185,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.x3Description }}

- +
@@ -195,7 +195,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.x4Description }}

- +
@@ -205,7 +205,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.blurDescription }}

- +
@@ -215,7 +215,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.jellyDescription }}

- +
@@ -225,7 +225,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.tadaDescription }}

- +
@@ -235,7 +235,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.jumpDescription }}

- +
@@ -245,7 +245,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.bounceDescription }}

- +
@@ -255,7 +255,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.spinDescription }}

- +
@@ -265,7 +265,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.shakeDescription }}

- +
@@ -275,7 +275,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.twitchDescription }}

- +
@@ -285,7 +285,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.rainbowDescription }}

- +
@@ -295,7 +295,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.sparkleDescription }}

- MFC {{ i18n.ts.sample }} + MFM {{ i18n.ts.sample }}
@@ -305,7 +305,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.fadeDescription }}

- +
@@ -315,7 +315,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.rotateDescription }}

- MFC {{ i18n.ts.sample }} + MFM {{ i18n.ts.sample }}
@@ -325,7 +325,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.positionDescription }}

- +
@@ -335,7 +335,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.scaleDescription }}

- +
@@ -345,7 +345,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.fgDescription }}

- +
@@ -355,7 +355,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.bgDescription }}

- +
@@ -365,7 +365,7 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.plainDescription }}

- MFC {{ i18n.ts.sample }} + MFM {{ i18n.ts.sample }}
@@ -375,15 +375,15 @@ SPDX-License-Identifier: AGPL-3.0-only

{{ i18n.ts._mfc.rubyDescription }}

- MFC {{ i18n.ts.sample }} + MFM {{ i18n.ts.sample }}
-
{{ i18n.ts._mfm.border }}
+
{{ i18n.ts._mfc.border }}
-

{{ i18n.ts._mfm.borderDescription }}

+

{{ i18n.ts._mfc.borderDescription }}

MFM {{ i18n.ts.sample }} diff --git a/packages/frontend/src/pages/timeline.vue b/packages/frontend/src/pages/timeline.vue index bf6aed63e4..02a6aaf70b 100644 --- a/packages/frontend/src/pages/timeline.vue +++ b/packages/frontend/src/pages/timeline.vue @@ -176,7 +176,7 @@ const enableSocialTimeline = ref(defaultStore.state.enableSocialTimeline); const enableGlobalTimeline = ref(defaultStore.state.enableGlobalTimeline); const enableListTimeline = ref(defaultStore.state.enableListTimeline); const enableAntennaTimeline = ref(defaultStore.state.enableAntennaTimeline); -const enableChannelTimeline = ref(defaultStore.state.enableChannelTimeline); +const enableTagTimeline = ref(defaultStore.state.enableTagTimeline); const collapseRenotes = ref(defaultStore.state.collapseRenotes); const collapseReplies = ref(defaultStore.state.collapseReplies); @@ -234,8 +234,8 @@ watch(enableAntennaTimeline, (x) => { reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true }); }); -watch(enableChannelTimeline, (x) => { - defaultStore.set('enableChannelTimeline', x); +watch(enableTagTimeline, (x) => { + defaultStore.set('enableTagTimeline', x); reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true }); }); @@ -525,9 +525,9 @@ const headerActions = computed(() => { ref: enableAntennaTimeline, }, { type: 'switch', - text: i18n.ts.channel, - icon: 'ti ti-device-tv', - ref: enableChannelTimeline, + text: i18n.ts.tags, + icon: 'ti ti-hash', + ref: enableTagTimeline, }); return displayOfTimelineChildMenu; diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue index c2083be1ba..9a80a8a106 100644 --- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue +++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue @@ -74,7 +74,7 @@ const otherMenuItemIndicated = computed(() => { return false; }); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -86,11 +86,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/frontend/src/ui/_common_/navbar.vue b/packages/frontend/src/ui/_common_/navbar.vue index b0a2349b5a..26220c4199 100644 --- a/packages/frontend/src/ui/_common_/navbar.vue +++ b/packages/frontend/src/ui/_common_/navbar.vue @@ -86,7 +86,7 @@ const otherMenuItemIndicated = computed(() => { return false; }); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -98,11 +98,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/frontend/src/ui/classic.header.vue b/packages/frontend/src/ui/classic.header.vue index 5dad914202..cc05d194b0 100644 --- a/packages/frontend/src/ui/classic.header.vue +++ b/packages/frontend/src/ui/classic.header.vue @@ -74,7 +74,7 @@ const otherNavItemIndicated = computed(() => { }); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -86,11 +86,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/frontend/src/ui/classic.sidebar.vue b/packages/frontend/src/ui/classic.sidebar.vue index 0f9f304816..9382f186d1 100644 --- a/packages/frontend/src/ui/classic.sidebar.vue +++ b/packages/frontend/src/ui/classic.sidebar.vue @@ -83,7 +83,7 @@ const el = shallowRef(); const iconOnly = ref(false); const settingsWindowed = ref(false); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -95,11 +95,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/frontend/src/ui/friendly/navbar-for-mobile.vue b/packages/frontend/src/ui/friendly/navbar-for-mobile.vue index 9abe38054e..ada3323ec8 100644 --- a/packages/frontend/src/ui/friendly/navbar-for-mobile.vue +++ b/packages/frontend/src/ui/friendly/navbar-for-mobile.vue @@ -76,7 +76,7 @@ const otherMenuItemIndicated = computed(() => { return false; }); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -88,11 +88,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/frontend/src/ui/friendly/navbar.vue b/packages/frontend/src/ui/friendly/navbar.vue index 53b0f91682..1d7ef12723 100644 --- a/packages/frontend/src/ui/friendly/navbar.vue +++ b/packages/frontend/src/ui/friendly/navbar.vue @@ -93,7 +93,7 @@ const otherMenuItemIndicated = computed(() => { return false; }); const controlPanelIndicated = ref(false); -const releasesCherryPick = ref(null); +const releasesYojoArt = ref(null); if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/abuse-user-reports', { @@ -105,11 +105,11 @@ if ($i.isAdmin ?? $i.isModerator) { misskeyApi('admin/meta') .then(meta => { - return fetch('https://api.github.com/repos/kokonect-link/cherrypick/releases') + return fetch('https://api.github.com/repos/yojo-art/cherrypick/releases') .then(res => res.json()) .then(cherryPickData => { - releasesCherryPick.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); - if ((compareVersions(version, releasesCherryPick.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesCherryPick.value[0].tag_name) < 0)) { + releasesYojoArt.value = meta.enableReceivePrerelease ? cherryPickData : cherryPickData.filter(x => !x.prerelease); + if ((compareVersions(version, releasesYojoArt.value[0].tag_name) < 0) && (compareVersions(meta.skipCherryPickVersion, releasesYojoArt.value[0].tag_name) < 0)) { controlPanelIndicated.value = true; } }); diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index b9300bb9de..aabb387dfa 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -323,7 +323,7 @@ export async function createEmptyNotification(): Promise { await globalThis.registration.showNotification( (new URL(origin)).host, { - body: `CherryPick v${_VERSION_}`, + body: `yojo-art v${_VERSION_}`, silent: true, badge: iconUrl('null'), tag: 'read_notification',