Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: v2024.3.0-kakurega.1.31.1 #132

Merged
merged 98 commits into from
Mar 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
0b636d1
fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (#13387)
anatawa12 Feb 18, 2024
1b1046b
fix: syuilo/misskey時代から使用してるサーバーが改変したバージョンだと誤判定される問題 (DB migrationで修正…
anatawa12 Feb 18, 2024
034f472
Fix(frontend): オートコンプリートが出るべき状況で出ないことがあるのを修正 (#13376)
1Step621 Feb 18, 2024
9be3890
Fix Changelog
kakkokari-gtyih Feb 19, 2024
ddd7b26
enhance(frontend): ノート作成画面の添付メニューのdividerの位置を"添付取り消し"の上にする (#13409)
Sayamame-beans Feb 20, 2024
39c4e3a
fix(frontend): チャートのラベルが消えている問題を修正 (#13416)
zyoshoka Feb 20, 2024
f18a31c
fix(frontend): 画面表示後最初の音声再生が爆音になることがある問題を修正 (#13379)
zyoshoka Feb 20, 2024
bbbb167
refactor(frontend): 不必要なconsole.logを除去・抑制 (#13400)
kakkokari-gtyih Feb 21, 2024
750d262
refactor(backend): `ReactionService.prototype.convertLegacyReactions`…
okayurisotto Feb 21, 2024
ae27085
fix: Bump sharp to 0.33.2 (#13391)
tamaina Feb 21, 2024
fb0eb5a
:art:
syuilo Feb 21, 2024
e10ce72
fix: MkUserPopupが表示されてる状態でv-user-previewがついた要素がdetachされるとMkUserPopupが…
anatawa12 Feb 21, 2024
b36e6b1
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)
anatawa12 Feb 21, 2024
26c8b53
enhance: サーバーごとにモデレーションノートを残せるように
syuilo Feb 22, 2024
2bd9f05
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Feb 22, 2024
4d6fab0
refactor: Refactor NoteReadService.read (#13429)
tamaina Feb 22, 2024
bf5952f
flash/update で部分的に変更できるようにする (#13396)
FineArchs Feb 22, 2024
d20542c
enhance: `meta`をSSR HTMLに埋め込む (#13436)
kakkokari-gtyih Feb 23, 2024
080a3c2
fix: SSR時のmetaをエスケープするように (#13440)
kakkokari-gtyih Feb 23, 2024
64953fa
refactor(backend): `Array.prototype.filter`での非null確認では`isNotNull`関数を使…
okayurisotto Feb 23, 2024
30fe072
fix(test): Chromaticが落ちているのを一部修正? (#13435)
kakkokari-gtyih Feb 23, 2024
a85fcca
Fix(frontend): 絵文字オートコンプリートの優先順位がおかしいのを修正 (#13423)
1Step621 Feb 23, 2024
b8d8b35
fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (#13407)
tamaina Feb 23, 2024
a861f91
fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (#11498) (#13340)
okayurisotto Feb 23, 2024
600d91b
enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)
tamaina Feb 23, 2024
d834232
enhance(games): 抜けている翻訳を追加・スタイル共通化 (#13434)
kakkokari-gtyih Feb 23, 2024
c0156b7
enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する…
tamaina Feb 23, 2024
e3dd3f6
Enhance(frontend): リアクションピッカーを調整 (#13354)
1Step621 Feb 24, 2024
41747b6
refactor
syuilo Feb 24, 2024
792168f
fix(frontend): `userActivation`がない環境において不具合が生じる問題を修正 (#13451)
zyoshoka Feb 24, 2024
2c6f25b
fix: 古いキャッシュを使うのを修正 (#13453)
tamaina Feb 25, 2024
dd48366
admin/emoji/updateの必須項目を減らす 等 (#13449)
FineArchs Feb 25, 2024
0a0af68
test(frontend): Chromaticテストが落ちるのを修正 (#13448)
zyoshoka Feb 25, 2024
0fb7b98
fix(backend): fix incorrect schemas (#13458)
zyoshoka Feb 26, 2024
f906ad6
Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (#13463)
zawa-ch Feb 27, 2024
0d47877
enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (#13468)
zyoshoka Feb 28, 2024
b7d9d16
refactor(backend): ノートのエクスポート処理でStreams APIを使うように (#13465)
okayurisotto Feb 28, 2024
664aeb3
fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 (#13425)
zyoshoka Feb 28, 2024
29350c9
refactor(frontend): `os.ts`周りのリファクタリング (#13186)
zyoshoka Feb 28, 2024
5f43c2f
enhance(backend): 通知がミュート・凍結を考慮するようにする (#13412)
tai-cha Feb 28, 2024
797bb49
Update CHANGELOG.md
syuilo Feb 29, 2024
920c3be
update deps
syuilo Feb 29, 2024
285087d
feat: 時限ノート機能 (#129)
hideki0403 Feb 29, 2024
98934b6
fix type
syuilo Feb 29, 2024
d0a299d
fix: ノート通知のユーザー名が表示されていなかった問題を修正
hideki0403 Feb 29, 2024
9d0fc96
fix test
syuilo Feb 29, 2024
379f929
update: ドキュメントを更新
hideki0403 Feb 29, 2024
fcf7a90
release: v1.31.0
hideki0403 Feb 29, 2024
96125c3
ci: add job name
hideki0403 Feb 29, 2024
ec18991
Update scroll.test.ts
syuilo Feb 29, 2024
39d6af1
enhance: 通知の履歴をリセットできるように (#13335)
kakkokari-gtyih Feb 29, 2024
16f16e6
fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (#13477)
zyoshoka Feb 29, 2024
1205d30
Update CHANGELOG.md
syuilo Feb 29, 2024
6365805
New Crowdin updates (#13359)
syuilo Feb 29, 2024
7565f7b
fix(client): use colorizeEmoji when unicodeEmojisMap.get
tamaina Feb 29, 2024
b9bcced
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
tamaina Feb 29, 2024
26d4c5f
メンションの最大数をロールごとに設定可能にする (#13343)
yuriha-chan Feb 29, 2024
01f55a9
Update CHANGELOG.md
syuilo Feb 29, 2024
bc30dc6
refactor: remove export of unicodeEmojisMap
tamaina Feb 29, 2024
593358e
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
tamaina Feb 29, 2024
a744066
fix packedRoleCondFormulaValueAssignedRoleSchema
syuilo Mar 1, 2024
59f80c0
New Crowdin updates (#13478)
syuilo Mar 1, 2024
b55b77c
update pnpm
syuilo Mar 1, 2024
033d71e
update deps
syuilo Mar 1, 2024
14a3af6
update deps
syuilo Mar 1, 2024
2f31606
update deps
syuilo Mar 1, 2024
16440d6
Update CHANGELOG.md
syuilo Mar 1, 2024
5befd66
Update CHANGELOG.md
syuilo Mar 1, 2024
ca63994
format
syuilo Mar 1, 2024
5904d98
Update packages/backend/test/e2e/mute.ts
syuilo Mar 1, 2024
6158ef1
format
syuilo Mar 1, 2024
4c6fc15
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Mar 1, 2024
d1bf432
add missing license headers
syuilo Mar 1, 2024
eb60460
enhance: 禁止ワードチェック強化 (#27)
tamaina Mar 1, 2024
ba9d47f
2024.3.0
syuilo Mar 1, 2024
fe5efd9
New translations ja-jp.yml (Chinese Traditional) (#13480)
syuilo Mar 1, 2024
7e706ea
Merge pull request #13447 from misskey-dev/develop
syuilo Mar 1, 2024
30c3238
Merge tag '2024.3.0' into dev-kakurega
hideki0403 Mar 1, 2024
852d163
Merge branch 'dev-kakurega' of https://github.com/hideki0403/misskey.…
hideki0403 Mar 1, 2024
7144d16
Revert "spec(backend/NoteCreateService): ローカルユーザーがまだ誰もフォローしていないリモートユー…
hideki0403 Mar 1, 2024
70d4182
Revert "enhance: スパムを弾いた時のログレベルをerrorからinfoに変更"
hideki0403 Mar 1, 2024
afb5c02
Revert "fix: スパムメッセージを弾いたときにinbox queueがリトライしようとするのを修正"
hideki0403 Mar 1, 2024
39f5531
Revert "enhance: コントロールパネルのモデレーションからスパムブロックの設定を変更できるように"
hideki0403 Mar 1, 2024
62564a1
Revert "spec(backend/NoteCreateService): ローカルユーザーがまだ誰もフォローしていないリモートユー…
hideki0403 Mar 1, 2024
2f5d081
chore: remove unused codes
hideki0403 Mar 1, 2024
84fd335
fix: duplicated import
hideki0403 Mar 1, 2024
752e4ea
chore: update types
hideki0403 Mar 1, 2024
a4a41f7
Merge branch 'master-kakurega' into dev-kakurega
hideki0403 Mar 1, 2024
17bae60
update: types
hideki0403 Mar 1, 2024
5a9cd6f
add: revert migration of BlockMentionsFromUnfamiliarRemoteUsers
hideki0403 Mar 1, 2024
043f328
add: デフォルトのリポジトリURLを隠れ家のものに変更
hideki0403 Mar 1, 2024
4c87d9f
revert: スパム対策を消したのを戻す
hideki0403 Mar 1, 2024
ee1cf99
Reapply "enhance: コントロールパネルのモデレーションからスパムブロックの設定を変更できるように"
hideki0403 Mar 1, 2024
e7764e6
refactor: スパム対策関連のリファクタリング
hideki0403 Mar 1, 2024
91d8d03
update: types
hideki0403 Mar 1, 2024
6fdf30b
fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (#13486)
samunohito Mar 2, 2024
e81e341
release: v1.31.1
hideki0403 Mar 2, 2024
390c784
Merge branch 'master-kakurega' into dev-kakurega
hideki0403 Mar 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@

-->

## 202x.x.x (unreleased)

### General
-

### Client
- Fix: 絵文字関係の不具合を修正 (#13485)
- 履歴に残っている or ピン留めされた絵文字がコントロールパネルより削除されていた際にリアクションデッキが表示できなくなる
- Unicode絵文字が履歴に残っている or ピン留めされているとリアクションデッキが表示できなくなる

### Server
-

## 2024.3.0

### General
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "2024.3.0-kakurega.1.31.0",
"version": "2024.3.0-kakurega.1.31.1",
"codename": "nasubi",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkAutocomplete.vue
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ const emojiDb = computed(() => {
unicodeEmojiDB.push({
emoji: emoji,
name: k,
aliasOf: getEmojiName(emoji)!,
aliasOf: getEmojiName(emoji),
url: char2path(emoji),
});
}
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkEmojiPicker.section.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ const shown = ref(!!props.initialShown);
function computeButtonTitle(ev: MouseEvent): void {
const elm = ev.target as HTMLElement;
const emoji = elm.dataset.emoji as string;
elm.title = getEmojiName(emoji) ?? emoji;
elm.title = getEmojiName(emoji);
}

function nestedChosen(emoji: any, ev: MouseEvent) {
Expand Down
13 changes: 8 additions & 5 deletions packages/frontend/src/components/MkEmojiPicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ watch(q, () => {
searchResultUnicode.value = Array.from(searchUnicode());
});

function canReact(emoji: Misskey.entities.EmojiSimple | UnicodeEmojiDef): boolean {
function canReact(emoji: Misskey.entities.EmojiSimple | UnicodeEmojiDef | string): boolean {
return !props.targetNote || checkReactionPermissions($i!, props.targetNote, emoji);
}

Expand All @@ -378,19 +378,22 @@ function getKey(emoji: string | Misskey.entities.EmojiSimple | UnicodeEmojiDef):
return typeof emoji === 'string' ? emoji : 'char' in emoji ? emoji.char : `:${emoji.name}:`;
}

function getDef(emoji: string) {
function getDef(emoji: string): string | Misskey.entities.EmojiSimple | UnicodeEmojiDef {
if (emoji.includes(':')) {
return customEmojisMap.get(emoji.replace(/:/g, ''))!;
// カスタム絵文字が存在する場合はその情報を持つオブジェクトを返し、
// サーバの管理画面から削除された等で情報が見つからない場合は名前の文字列をそのまま返しておく(undefinedを返すとエラーになるため)
const name = emoji.replaceAll(':', '');
return customEmojisMap.get(name) ?? emoji;
} else {
return getUnicodeEmoji(emoji)!;
return getUnicodeEmoji(emoji);
}
}

/** @see MkEmojiPicker.section.vue */
function computeButtonTitle(ev: MouseEvent): void {
const elm = ev.target as HTMLElement;
const emoji = elm.dataset.emoji as string;
elm.title = getEmojiName(emoji) ?? emoji;
elm.title = getEmojiName(emoji);
}

function chosen(emoji: any, ev?: MouseEvent) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ function getReactionName(reaction: string): string {
if (trimLocal.startsWith(':')) {
return trimLocal;
}
return getEmojiName(reaction) ?? reaction;
return getEmojiName(reaction);
}
</script>

Expand Down
5 changes: 2 additions & 3 deletions packages/frontend/src/components/global/MkEmoji.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only

<script lang="ts" setup>
import { computed, inject } from 'vue';
import { char2twemojiFilePath, char2fluentEmojiFilePath } from '@/scripts/emoji-base.js';
import { char2fluentEmojiFilePath, char2twemojiFilePath } from '@/scripts/emoji-base.js';
import { defaultStore } from '@/store.js';
import { colorizeEmoji, getEmojiName } from '@/scripts/emojilist.js';
import * as os from '@/os.js';
Expand All @@ -34,8 +34,7 @@ const colorizedNativeEmoji = computed(() => colorizeEmoji(props.emoji));

// Searching from an array with 2000 items for every emoji felt like too energy-consuming, so I decided to do it lazily on pointerenter
function computeTitle(event: PointerEvent): void {
const title = getEmojiName(props.emoji as string) ?? props.emoji as string;
(event.target as HTMLElement).title = title;
(event.target as HTMLElement).title = getEmojiName(props.emoji);
}

function onClick(ev: MouseEvent) {
Expand Down
10 changes: 5 additions & 5 deletions packages/frontend/src/scripts/check-reaction-permissions.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import * as Misskey from 'misskey-js';
import { UnicodeEmojiDef } from './emojilist.js';

export function checkReactionPermissions(me: Misskey.entities.MeDetailed, note: Misskey.entities.Note, emoji: Misskey.entities.EmojiSimple | UnicodeEmojiDef): boolean {
if ('char' in emoji) return true; // UnicodeEmojiDefなら常にリアクション可能
export function checkReactionPermissions(me: Misskey.entities.MeDetailed, note: Misskey.entities.Note, emoji: Misskey.entities.EmojiSimple | UnicodeEmojiDef | string): boolean {
if (typeof emoji === 'string') return true; // UnicodeEmojiDefにも無い絵文字であれば文字列で来る。Unicode絵文字であることには変わりないので常にリアクション可能とする;
if ('char' in emoji) return true; // UnicodeEmojiDefなら常にリアクション可能

emoji = emoji as Misskey.entities.EmojiSimple;
const roleIdsThatCanBeUsedThisEmojiAsReaction = emoji.roleIdsThatCanBeUsedThisEmojiAsReaction ?? [];
return !(emoji.localOnly && note.user.host !== me.host)
const roleIdsThatCanBeUsedThisEmojiAsReaction = emoji.roleIdsThatCanBeUsedThisEmojiAsReaction ?? [];
return !(emoji.localOnly && note.user.host !== me.host)
&& !(emoji.isSensitive && (note.reactionAcceptance === 'nonSensitiveOnly' || note.reactionAcceptance === 'nonSensitiveOnlyForLocalLikeOnlyForRemote'))
&& (roleIdsThatCanBeUsedThisEmojiAsReaction.length === 0 || me.roles.some(role => roleIdsThatCanBeUsedThisEmojiAsReaction.includes(role.id)));
}
20 changes: 14 additions & 6 deletions packages/frontend/src/scripts/emojilist.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,29 @@ for (let i = 0; i < emojilist.length; i++) {

export const emojiCharByCategory = _charGroupByCategory;

export function getUnicodeEmoji(char: string): UnicodeEmojiDef | null {
export function getUnicodeEmoji(char: string): UnicodeEmojiDef | string {
// Colorize it because emojilist.json assumes that
return unicodeEmojisMap.get(colorizeEmoji(char)) ?? null;
return unicodeEmojisMap.get(colorizeEmoji(char))
// カラースタイル絵文字がjsonに無い場合はテキストスタイル絵文字にフォールバックする
?? unicodeEmojisMap.get(char)
// それでも見つからない場合はそのまま返す(絵文字情報がjsonに無い場合、このフォールバックが無いとレンダリングに失敗する)
?? char;
}

export function getEmojiName(char: string): string | null {
export function getEmojiName(char: string): string {
// Colorize it because emojilist.json assumes that
const idx = _indexByChar.get(colorizeEmoji(char));
if (idx == null) {
return null;
const idx = _indexByChar.get(colorizeEmoji(char)) ?? _indexByChar.get(char);
if (idx === undefined) {
// 絵文字情報がjsonに無い場合は名前の取得が出来ないのでそのまま返すしか無い
return char;
} else {
return emojilist[idx].name;
}
}

/**
* テキストスタイル絵文字(U+260Eなどの1文字で表現される絵文字)をカラースタイル絵文字に変換します(VS16:U+FE0Fを付与)。
*/
export function colorizeEmoji(char: string) {
return char.length === 1 ? `${char}\uFE0F` : char;
}
Expand Down
Loading