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

misskey update (2024.3.1) #1

Merged
merged 82 commits into from
Mar 5, 2024
Merged
Changes from 1 commit
Commits
Show all changes
82 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
98934b6
fix type
syuilo Feb 29, 2024
9d0fc96
fix test
syuilo 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
f704891
fix: emoji colorization
acid-chicken Mar 1, 2024
114d331
chore(client): 絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 (#13487)
tamaina Mar 2, 2024
32690f5
fix(frontend): ピン留め or 履歴に表示されるカスタム絵文字がサーバから削除されるとリアクションが出来なくなる (#13486)
samunohito Mar 2, 2024
ecc5dec
New Crowdin updates (#13489)
syuilo Mar 2, 2024
21e3a91
Update CHANGELOG.md
samunohito Mar 2, 2024
b83cbc6
Update CHANGELOG.md
samunohito Mar 2, 2024
2744cbd
fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
tamaina Mar 2, 2024
3afdafe
2024.3.1
syuilo Mar 2, 2024
78ff90f
Merge pull request #13493 from misskey-dev/develop
syuilo Mar 2, 2024
5c14e89
Merge branch 'monster' into master
jbblily Mar 5, 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
Prev Previous commit
Next Next commit
fix: 古いキャッシュを使うのを修正 (misskey-dev#13453)
tamaina authored Feb 25, 2024
commit 2c6f25b710b4f8095458fe88ddd56e6c6a41d006
4 changes: 1 addition & 3 deletions packages/backend/src/core/AccountMoveService.ts
Original file line number Diff line number Diff line change
@@ -20,7 +20,6 @@ import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js';
import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { CacheService } from '@/core/CacheService.js';
import { ProxyAccountService } from '@/core/ProxyAccountService.js';
import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
import { MetaService } from '@/core/MetaService.js';
@@ -60,7 +59,6 @@ export class AccountMoveService {
private instanceChart: InstanceChart,
private metaService: MetaService,
private relayService: RelayService,
private cacheService: CacheService,
private queueService: QueueService,
) {
}
@@ -84,7 +82,7 @@ export class AccountMoveService {
Object.assign(src, update);

// Update cache
this.cacheService.uriPersonCache.set(srcUri, src);
this.globalEventService.publishInternalEvent('localUserUpdated', src);

const srcPerson = await this.apRendererService.renderPerson(src);
const updateAct = this.apRendererService.addContext(this.apRendererService.renderUpdate(srcPerson, src));
4 changes: 3 additions & 1 deletion packages/backend/src/core/CacheService.ts
Original file line number Diff line number Diff line change
@@ -129,10 +129,12 @@ export class CacheService implements OnApplicationShutdown {
switch (type) {
case 'userChangeSuspendedState':
case 'userChangeDeletedState':
case 'remoteUserUpdated': {
case 'remoteUserUpdated':
case 'localUserUpdated': {
const user = await this.usersRepository.findOneBy({ id: body.id });
if (user == null) {
this.userByIdCache.delete(body.id);
this.localUserByIdCache.delete(body.id);
for (const [k, v] of this.uriPersonCache.cache.entries()) {
if (v.value?.id === body.id) {
this.uriPersonCache.delete(k);
1 change: 1 addition & 0 deletions packages/backend/src/core/GlobalEventService.ts
Original file line number Diff line number Diff line change
@@ -212,6 +212,7 @@ export interface InternalEventTypes {
userChangeDeletedState: { id: MiUser['id']; isDeleted: MiUser['isDeleted']; };
userTokenRegenerated: { id: MiUser['id']; oldToken: string; newToken: string; };
remoteUserUpdated: { id: MiUser['id']; };
localUserUpdated: { id: MiUser['id']; };
follow: { followerId: MiUser['id']; followeeId: MiUser['id']; };
unfollow: { followerId: MiUser['id']; followeeId: MiUser['id']; };
blockingCreated: { blockerId: MiUser['id']; blockeeId: MiUser['id']; };
27 changes: 9 additions & 18 deletions packages/backend/src/core/UserFollowingService.ts
Original file line number Diff line number Diff line change
@@ -101,33 +101,24 @@ export class UserFollowingService implements OnModuleInit {
this.queueService.deliver(followee, content, follower.inbox, false);
}

/**
* ThinUserでなくともユーザーの情報が最新でない場合はこちらを使うべき
*/
@bindThis
public async followByThinUser(
public async follow(
_follower: ThinUser,
_followee: ThinUser,
options: Parameters<typeof this.follow>[2] = {},
) {
const [follower, followee] = await Promise.all([
this.usersRepository.findOneByOrFail({ id: _follower.id }),
this.usersRepository.findOneByOrFail({ id: _followee.id }),
]) as [MiLocalUser | MiRemoteUser, MiLocalUser | MiRemoteUser];

await this.follow(follower, followee, options);
}

@bindThis
public async follow(
follower: MiLocalUser | MiRemoteUser,
followee: MiLocalUser | MiRemoteUser,
{ requestId, silent = false, withReplies }: {
requestId?: string,
silent?: boolean,
withReplies?: boolean,
} = {},
): Promise<void> {
/**
* 必ず最新のユーザー情報を取得する
*/
const [follower, followee] = await Promise.all([
this.usersRepository.findOneByOrFail({ id: _follower.id }),
this.usersRepository.findOneByOrFail({ id: _followee.id }),
]) as [MiLocalUser | MiRemoteUser, MiLocalUser | MiRemoteUser];

if (this.userEntityService.isRemoteUser(follower) && this.userEntityService.isRemoteUser(followee)) {
// What?
throw new Error('Remote user cannot follow remote user.');
8 changes: 8 additions & 0 deletions packages/backend/src/misc/cache.ts
Original file line number Diff line number Diff line change
@@ -187,6 +187,10 @@ export class RedisSingleCache<T> {
// TODO: メモリ節約のためあまり参照されないキーを定期的に削除できるようにする?

export class MemoryKVCache<T> {
/**
* データを持つマップ
* @deprecated これを直接操作するべきではない
*/
public cache: Map<string, { date: number; value: T; }>;
private lifetime: number;
private gcIntervalHandle: NodeJS.Timeout;
@@ -201,6 +205,10 @@ export class MemoryKVCache<T> {
}

@bindThis
/**
* Mapにキャッシュをセットします
* @deprecated これを直接呼び出すべきではない。InternalEventなどで変更を全てのプロセス/マシンに通知するべき
*/
public set(key: string, value: T): void {
this.cache.set(key, {
date: Date.now(),
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@ export class RelationshipProcessorService {
@bindThis
public async processFollow(job: Bull.Job<RelationshipJobData>): Promise<string> {
this.logger.info(`${job.data.from.id} is trying to follow ${job.data.to.id} ${job.data.withReplies ? "with replies" : "without replies"}`);
await this.userFollowingService.followByThinUser(job.data.from, job.data.to, {
await this.userFollowingService.follow(job.data.from, job.data.to, {
requestId: job.data.requestId,
silent: job.data.silent,
withReplies: job.data.withReplies,
Original file line number Diff line number Diff line change
@@ -71,7 +71,7 @@ export const paramDef = {
type: 'object',
properties: {
userId: { type: 'string', format: 'misskey:id' },
withReplies: { type: 'boolean' }
withReplies: { type: 'boolean' },
},
required: ['userId'],
} as const;
6 changes: 3 additions & 3 deletions packages/backend/src/server/api/endpoints/i/update.ts
Original file line number Diff line number Diff line change
@@ -456,9 +456,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
this.hashtagService.updateUsertags(user, tags);
//#endregion

if (Object.keys(updates).length > 0) await this.usersRepository.update(user.id, updates);
if (Object.keys(updates).includes('alsoKnownAs')) {
this.cacheService.uriPersonCache.set(this.userEntityService.genLocalUserUri(user.id), { ...user, ...updates });
if (Object.keys(updates).length > 0) {
await this.usersRepository.update(user.id, updates);
this.globalEventService.publishInternalEvent('localUserUpdated', { id: user.id });
}

await this.userProfilesRepository.update(user.id, {