Merge pull request #10388 from misskey-dev/develop

Release: 13.10.2
This commit is contained in:
syuilo 2023-03-22 18:47:10 +09:00 committed by GitHub
commit a52bbc7c8d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 12 deletions

View file

@ -12,6 +12,14 @@
--> -->
## 13.10.2
### Server
- 絵文字を編集すると保存できないことがある問題を修正
### Client
- ドライブファイルのメニューが正常に動作しない問題を修正
## 13.10.1 ## 13.10.1
### Client ### Client

View file

@ -978,6 +978,9 @@ license: "Lizenz"
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?" unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
myClips: "Meine Clips" myClips: "Meine Clips"
drivecleaner: "Drive-Reiniger" drivecleaner: "Drive-Reiniger"
retryAllQueuesNow: "Sofort Warteschlangen erneut ausführen"
retryAllQueuesConfirmTitle: "Wirklich erneut versuchen?"
retryAllQueuesConfirmText: "Dies wird zu einer temporären Erhöhung der Serverlast führen."
_achievements: _achievements:
earnedAt: "Freigeschaltet am" earnedAt: "Freigeschaltet am"
_types: _types:

View file

@ -978,6 +978,9 @@ license: "License"
unfavoriteConfirm: "Really remove from favorites?" unfavoriteConfirm: "Really remove from favorites?"
myClips: "My clips" myClips: "My clips"
drivecleaner: "Drive Cleaner" drivecleaner: "Drive Cleaner"
retryAllQueuesNow: "Retry running all queues"
retryAllQueuesConfirmTitle: "Really retry all?"
retryAllQueuesConfirmText: "This will temporarily increase the server load."
_achievements: _achievements:
earnedAt: "Unlocked at" earnedAt: "Unlocked at"
_types: _types:

View file

@ -1,6 +1,6 @@
{ {
"name": "misskey", "name": "misskey",
"version": "13.10.1", "version": "13.10.2",
"codename": "nasubi", "codename": "nasubi",
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common'; import { Inject, Injectable } from '@nestjs/common';
import { DataSource } from 'typeorm'; import { DataSource, IsNull } from 'typeorm';
import { Endpoint } from '@/server/api/endpoint-base.js'; import { Endpoint } from '@/server/api/endpoint-base.js';
import type { EmojisRepository } from '@/models/index.js'; import type { EmojisRepository } from '@/models/index.js';
import { DI } from '@/di-symbols.js'; import { DI } from '@/di-symbols.js';
@ -19,9 +19,9 @@ export const meta = {
code: 'NO_SUCH_EMOJI', code: 'NO_SUCH_EMOJI',
id: '684dec9d-a8c2-4364-9aa8-456c49cb1dc8', id: '684dec9d-a8c2-4364-9aa8-456c49cb1dc8',
}, },
alreadyexistsemoji: { sameNameEmojiExists: {
message: 'Emoji already exists', message: 'Emoji that have same name already exists.',
code: 'EMOJI_ALREADY_EXISTS', code: 'SAME_NAME_EMOJI_EXISTS',
id: '7180fe9d-1ee3-bff9-647d-fe9896d2ffb8', id: '7180fe9d-1ee3-bff9-647d-fe9896d2ffb8',
}, },
}, },
@ -62,9 +62,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
) { ) {
super(meta, paramDef, async (ps, me) => { super(meta, paramDef, async (ps, me) => {
const emoji = await this.emojisRepository.findOneBy({ id: ps.id }); const emoji = await this.emojisRepository.findOneBy({ id: ps.id });
const emojiname = await this.emojisRepository.findOneBy({ name: ps.name }); const sameNameEmoji = await this.emojisRepository.findOneBy({ name: ps.name, host: IsNull() });
if (emoji == null) throw new ApiError(meta.errors.noSuchEmoji); if (emoji == null) throw new ApiError(meta.errors.noSuchEmoji);
if (emojiname != null && emojiname.id !== ps.id) throw new ApiError(meta.errors.alreadyexistsemoji); if (sameNameEmoji != null && sameNameEmoji.id !== ps.id) throw new ApiError(meta.errors.sameNameEmojiExists);
await this.emojisRepository.update(emoji.id, { await this.emojisRepository.update(emoji.id, {
updatedAt: new Date(), updatedAt: new Date(),
name: ps.name, name: ps.name,

View file

@ -64,19 +64,19 @@ export function getDriveFileMenu(file: Misskey.entities.DriveFile) {
return [{ return [{
text: i18n.ts.rename, text: i18n.ts.rename,
icon: 'ti ti-forms', icon: 'ti ti-forms',
action: rename, action: () => rename(file),
}, { }, {
text: file.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive, text: file.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive,
icon: file.isSensitive ? 'ti ti-eye' : 'ti ti-eye-off', icon: file.isSensitive ? 'ti ti-eye' : 'ti ti-eye-off',
action: toggleSensitive, action: () => toggleSensitive(file),
}, { }, {
text: i18n.ts.describeFile, text: i18n.ts.describeFile,
icon: 'ti ti-text-caption', icon: 'ti ti-text-caption',
action: describe, action: () => describe(file),
}, null, { }, null, {
text: i18n.ts.copyUrl, text: i18n.ts.copyUrl,
icon: 'ti ti-link', icon: 'ti ti-link',
action: copyUrl, action: () => copyUrl(file),
}, { }, {
type: 'a', type: 'a',
href: file.url, href: file.url,
@ -88,6 +88,6 @@ export function getDriveFileMenu(file: Misskey.entities.DriveFile) {
text: i18n.ts.delete, text: i18n.ts.delete,
icon: 'ti ti-trash', icon: 'ti ti-trash',
danger: true, danger: true,
action: deleteFile, action: () => deleteFile(file),
}]; }];
} }