commit
a52bbc7c8d
6 changed files with 26 additions and 12 deletions
|
@ -12,6 +12,14 @@
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## 13.10.2
|
||||||
|
|
||||||
|
### Server
|
||||||
|
- 絵文字を編集すると保存できないことがある問題を修正
|
||||||
|
|
||||||
|
### Client
|
||||||
|
- ドライブファイルのメニューが正常に動作しない問題を修正
|
||||||
|
|
||||||
## 13.10.1
|
## 13.10.1
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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),
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue