summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-09-23 12:38:20 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-09-23 12:38:20 +0900
commit8f77350089eebcf4fe07eb9fadd7cff9ea9fef11 (patch)
tree74602bd8566eb94c7538e5bfd624a32cf6dd0680 /packages
parent:art: (diff)
downloadsharkey-8f77350089eebcf4fe07eb9fadd7cff9ea9fef11.tar.gz
sharkey-8f77350089eebcf4fe07eb9fadd7cff9ea9fef11.tar.bz2
sharkey-8f77350089eebcf4fe07eb9fadd7cff9ea9fef11.zip
enhance: PWAのshort_nameを設定可能に
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/migration/1695440131671-short-name.js11
-rw-r--r--packages/backend/src/models/Meta.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/admin/meta.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-meta.ts5
-rw-r--r--packages/backend/src/server/web/ClientServerService.ts4
-rw-r--r--packages/frontend/src/pages/admin/settings.vue8
-rw-r--r--packages/misskey-js/etc/misskey-js.api.md1
-rw-r--r--packages/misskey-js/src/entities.ts1
8 files changed, 34 insertions, 2 deletions
diff --git a/packages/backend/migration/1695440131671-short-name.js b/packages/backend/migration/1695440131671-short-name.js
new file mode 100644
index 0000000000..2c37297fc1
--- /dev/null
+++ b/packages/backend/migration/1695440131671-short-name.js
@@ -0,0 +1,11 @@
+export class ShortName1695440131671 {
+ name = 'ShortName1695440131671'
+
+ async up(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "meta" ADD "shortName" character varying(64)`);
+ }
+
+ async down(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "shortName"`);
+ }
+}
diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts
index a9e116341f..e69bef8e98 100644
--- a/packages/backend/src/models/Meta.ts
+++ b/packages/backend/src/models/Meta.ts
@@ -21,6 +21,11 @@ export class MiMeta {
public name: string | null;
@Column('varchar', {
+ length: 64, nullable: true,
+ })
+ public shortName: string | null;
+
+ @Column('varchar', {
length: 1024, nullable: true,
})
public description: string | null;
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts
index fe9c134d84..c3ba07cdd0 100644
--- a/packages/backend/src/server/api/endpoints/admin/meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/meta.ts
@@ -321,6 +321,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
maintainerEmail: instance.maintainerEmail,
version: this.config.version,
name: instance.name,
+ shortName: instance.shortName,
uri: this.config.url,
description: instance.description,
langs: instance.langs,
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
index 614e0a95d7..eabf1f306c 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -44,6 +44,7 @@ export const paramDef = {
backgroundImageUrl: { type: 'string', nullable: true },
logoImageUrl: { type: 'string', nullable: true },
name: { type: 'string', nullable: true },
+ shortName: { type: 'string', nullable: true },
description: { type: 'string', nullable: true },
defaultLightTheme: { type: 'string', nullable: true },
defaultDarkTheme: { type: 'string', nullable: true },
@@ -188,6 +189,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.name = ps.name;
}
+ if (ps.shortName !== undefined) {
+ set.shortName = ps.shortName;
+ }
+
if (ps.description !== undefined) {
set.description = ps.description;
}
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts
index 7b1dd92d73..1faff24201 100644
--- a/packages/backend/src/server/web/ClientServerService.ts
+++ b/packages/backend/src/server/web/ClientServerService.ts
@@ -114,10 +114,10 @@ export class ClientServerService {
let manifest = {
// 空文字列の場合右辺を使いたいため
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- 'short_name': instance.name || 'Misskey',
+ 'short_name': instance.shortName || instance.name || this.config.host,
// 空文字列の場合右辺を使いたいため
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- 'name': instance.name || 'Misskey',
+ 'name': instance.name || this.config.host,
'start_url': '/',
'display': 'standalone',
'background_color': '#313a42',
diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue
index adcf061149..f93678d728 100644
--- a/packages/frontend/src/pages/admin/settings.vue
+++ b/packages/frontend/src/pages/admin/settings.vue
@@ -14,6 +14,11 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.instanceName }}</template>
</MkInput>
+ <MkInput v-model="shortName">
+ <template #label>{{ i18n.ts._serverSettings.shortName }} ({{ i18n.ts.optional }})</template>
+ <template #caption>{{ i18n.ts._serverSettings.shortNameDescription }}</template>
+ </MkInput>
+
<MkTextarea v-model="description">
<template #label>{{ i18n.ts.instanceDescription }}</template>
</MkTextarea>
@@ -118,6 +123,7 @@ import { definePageMetadata } from '@/scripts/page-metadata.js';
import MkButton from '@/components/MkButton.vue';
let name: string | null = $ref(null);
+let shortName: string | null = $ref(null);
let description: string | null = $ref(null);
let maintainerName: string | null = $ref(null);
let maintainerEmail: string | null = $ref(null);
@@ -133,6 +139,7 @@ let deeplIsPro: boolean = $ref(false);
async function init(): Promise<void> {
const meta = await os.api('admin/meta');
name = meta.name;
+ shortName = meta.shortName;
description = meta.description;
maintainerName = meta.maintainerName;
maintainerEmail = meta.maintainerEmail;
@@ -149,6 +156,7 @@ async function init(): Promise<void> {
function save(): void {
os.apiWithDialog('admin/update-meta', {
name,
+ shortName: shortName === '' ? null : shortName,
description,
maintainerName,
maintainerEmail,
diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md
index d72652bd92..5cd679bce5 100644
--- a/packages/misskey-js/etc/misskey-js.api.md
+++ b/packages/misskey-js/etc/misskey-js.api.md
@@ -2404,6 +2404,7 @@ type LiteInstanceMetadata = {
maintainerEmail: string | null;
version: string;
name: string | null;
+ shortName: string | null;
uri: string;
description: string | null;
langs: string[];
diff --git a/packages/misskey-js/src/entities.ts b/packages/misskey-js/src/entities.ts
index 9a0114d71c..034201f9b9 100644
--- a/packages/misskey-js/src/entities.ts
+++ b/packages/misskey-js/src/entities.ts
@@ -298,6 +298,7 @@ export type LiteInstanceMetadata = {
maintainerEmail: string | null;
version: string;
name: string | null;
+ shortName: string | null;
uri: string;
description: string | null;
langs: string[];