Merge branch 'feat-14931' of https://github.com/kakkokari-gtyih/misskey into feat-14931

This commit is contained in:
kakkokari-gtyih 2024-11-19 09:09:18 +09:00
commit 36199b6532
6 changed files with 92 additions and 8 deletions

View File

@ -2,6 +2,7 @@
### Note ### Note
- Node.js 20.xは非推奨になりました。Node.js 22.x (LTS)の利用を推奨します。 - Node.js 20.xは非推奨になりました。Node.js 22.x (LTS)の利用を推奨します。
- なお、Node.js 23.xは対応していません。
- DockerのNode.jsが22.11.0に更新されました - DockerのNode.jsが22.11.0に更新されました
### General ### General
@ -26,6 +27,7 @@
- Enhance: ノート詳細画面にロールのバッジを表示 - Enhance: ノート詳細画面にロールのバッジを表示
- Enhance: 過去に送信したフォローリクエストを確認できるように - Enhance: 過去に送信したフォローリクエストを確認できるように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/663) (Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/663)
- Enhance: サイドバーを簡単に展開・折りたたみできるように ( #14981 )
- Enhance: Blueskyの投稿埋め込みプレビューに対応 - Enhance: Blueskyの投稿埋め込みプレビューに対応
- Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正 - Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正
- Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正 - Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正
@ -45,6 +47,8 @@
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588) (Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588)
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/715) (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/715)
- Enhance: リモートユーザーの照会をオリジナルにリダイレクトするように - Enhance: リモートユーザーの照会をオリジナルにリダイレクトするように
- Fix: sharedInboxが無いActorに紐づくリモートユーザーを照会できない
- Fix: Aproving request from GtS appears with some delay
- Fix: フォロワーへのメッセージの絵文字をemojisに含めるように - Fix: フォロワーへのメッセージの絵文字をemojisに含めるように
- Fix: Nested proxy requestsを検出した際にブロックするように - Fix: Nested proxy requestsを検出した際にブロックするように
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236) [ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)

View File

@ -101,6 +101,22 @@ Be willing to comment on the good points and not just the things you want fixed
- Are there any omissions or gaps? - Are there any omissions or gaps?
- Does it check for anomalies? - Does it check for anomalies?
## Security Advisory
### For reporter
Thank you for your reporting!
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.
### For misskey-dev member
修正PRがdevelopに追従されていないとマージできないので、マージできなかったら
> Could you merge or rebase onto upstream develop branch?
などと伝える。
## Deploy ## Deploy
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment. The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
``` ```

View File

@ -6,3 +6,10 @@ This will allow us to assess the risk, and make a fix available before we add a
bug report to the GitHub repository. bug report to the GitHub repository.
Thanks for helping make Misskey safe for everyone. Thanks for helping make Misskey safe for everyone.
## When create a patch
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.

View File

@ -178,7 +178,7 @@ if (requestUrl.hostname === 'bsky.app') {
bskyHandleOrDid.value = bskyPostPageUrl[1]; bskyHandleOrDid.value = bskyPostPageUrl[1];
bskyPostRecordKey.value = bskyPostPageUrl[3]; bskyPostRecordKey.value = bskyPostPageUrl[3];
if (bskyPostExpanded.value) { if (postExpanded.value) {
openBskyEmbed(); openBskyEmbed();
} }
} }

View File

@ -100,10 +100,6 @@ function reset() {
})); }));
} }
watch(menuDisplay, async () => {
await reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true });
});
const headerActions = computed(() => []); const headerActions = computed(() => []);
const headerTabs = computed(() => []); const headerTabs = computed(() => []);

View File

@ -56,6 +56,21 @@ SPDX-License-Identifier: AGPL-3.0-only
</button> </button>
</div> </div>
</div> </div>
<button v-if="!forceIconOnly" class="_button" :class="$style.toggleButton" @click="toggleIconOnly">
<!--
<svg viewBox="0 0 16 48" :class="$style.toggleButtonShape">
<g transform="matrix(0.333333,0,0,0.222222,0.000895785,13.3333)">
<path d="M23.935,-24C37.223,-24 47.995,-7.842 47.995,12.09C47.995,34.077 47.995,62.07 47.995,84.034C47.995,93.573 45.469,102.721 40.972,109.466C36.475,116.211 30.377,120 24.018,120L23.997,120C10.743,120 -0.003,136.118 -0.003,156C-0.003,156 -0.003,156 -0.003,156L-0.003,-60L-0.003,-59.901C-0.003,-50.379 2.519,-41.248 7.007,-34.515C11.496,-27.782 17.584,-24 23.931,-24C23.932,-24 23.934,-24 23.935,-24Z" style="fill:var(--MI_THEME-navBg);"/>
</g>
</svg>
-->
<svg viewBox="0 0 16 64" :class="$style.toggleButtonShape">
<g transform="matrix(0.333333,0,0,0.222222,0.000895785,21.3333)">
<path d="M47.488,7.995C47.79,10.11 47.943,12.266 47.943,14.429C47.997,26.989 47.997,84 47.997,84C47.997,84 44.018,118.246 23.997,133.5C-0.374,152.07 -0.003,192 -0.003,192L-0.003,-96C-0.003,-96 0.151,-56.216 23.997,-37.5C40.861,-24.265 46.043,-1.243 47.488,7.995Z" style="fill:var(--MI_THEME-navBg);"/>
</g>
</svg>
<i :class="'ti ' + `ti-chevron-${ iconOnly ? 'right' : 'left' }`" style="font-size: 12px; margin-left: -8px;"></i>
</button>
</div> </div>
</template> </template>
@ -80,9 +95,11 @@ const otherMenuItemIndicated = computed(() => {
return false; return false;
}); });
const calcViewState = () => { const forceIconOnly = window.innerWidth <= 1279;
iconOnly.value = (window.innerWidth <= 1279) || (defaultStore.state.menuDisplay === 'sideIcon');
}; function calcViewState() {
iconOnly.value = forceIconOnly || (defaultStore.state.menuDisplay === 'sideIcon');
}
calcViewState(); calcViewState();
@ -92,6 +109,10 @@ watch(defaultStore.reactiveState.menuDisplay, () => {
calcViewState(); calcViewState();
}); });
function toggleIconOnly() {
defaultStore.set('menuDisplay', iconOnly.value ? 'sideFull' : 'sideIcon');
}
function openAccountMenu(ev: MouseEvent) { function openAccountMenu(ev: MouseEvent) {
openAccountMenu_({ openAccountMenu_({
withExtraOperation: true, withExtraOperation: true,
@ -133,6 +154,38 @@ function more(ev: MouseEvent) {
contain: strict; contain: strict;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
direction: rtl; //
}
.top {
direction: ltr;
}
.middle {
direction: ltr;
}
.bottom {
direction: ltr;
}
.toggleButton {
position: fixed;
bottom: 20px;
left: var(--nav-width);
z-index: 1001;
width: 16px;
height: 64px;
box-sizing: border-box;
}
.toggleButtonShape {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 16px;
height: 64px;
} }
.root:not(.iconOnly) { .root:not(.iconOnly) {
@ -363,6 +416,10 @@ function more(ev: MouseEvent) {
position: relative; position: relative;
font-size: 0.9em; font-size: 0.9em;
} }
.toggleButton {
left: var(--nav-width);
}
} }
.root.iconOnly { .root.iconOnly {
@ -563,5 +620,9 @@ function more(ev: MouseEvent) {
font-size: 10px; font-size: 10px;
} }
} }
.toggleButton {
left: var(--nav-icon-only-width);
}
} }
</style> </style>