From e36491c169bb6a25692b14ab0a81e2d93302226f Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Sun, 21 Apr 2019 23:57:44 +0900 Subject: [PATCH 1/6] =?UTF-8?q?Fix:=20=E3=83=AA=E3=83=A2=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E3=81=AE=E4=BF=AE=E5=BE=A9?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=81=8C=E8=87=AA=E5=8B=95=E7=9A=84=E3=81=AB?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=20?= =?UTF-8?q?=E3=81=AA=E3=81=A9=20for=20v11=20(#4764)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix #4761 * Fix: updatePersonができない --- src/remote/activitypub/models/person.ts | 19 +++++++------------ src/remote/resolve-user.ts | 14 ++++++++++---- src/server/api/endpoints/users/show.ts | 7 ------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts index aeffbeaf2..a40677dfc 100644 --- a/src/remote/activitypub/models/person.ts +++ b/src/remote/activitypub/models/person.ts @@ -271,11 +271,6 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint } //#endregion - // 繋がらないインスタンスに何回も試行するのを防ぐ, 後続の同様処理の連続試行を防ぐ ため 試行前にも更新する - await Users.update(exist.id, { - lastFetchedAt: new Date(), - }); - if (resolver == null) resolver = new Resolver(); const object = hint || await resolver.resolve(uri) as any; @@ -349,13 +344,13 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint url: person.url, fields, description: person.summary ? fromHtml(person.summary) : null, - twitterUserId: services.twitter.userId, - twitterScreenName: services.twitter.screenName, - githubId: services.github.id, - githubLogin: services.github.login, - discordId: services.discord.id, - discordUsername: services.discord.username, - discordDiscriminator: services.discord.discriminator, + twitterUserId: services.twitter ? services.twitter.userId : null, + twitterScreenName: services.twitter ? services.twitter.screenName : null, + githubId: services.github ? services.github.id : null, + githubLogin: services.github ? services.github.login : null, + discordId: services.discord ? services.discord.id : null, + discordUsername: services.discord ? services.discord.username : null, + discordDiscriminator: services.discord ? services.discord.discriminator : null, }); // ハッシュタグ更新 diff --git a/src/remote/resolve-user.ts b/src/remote/resolve-user.ts index a4bfca842..0e2b88f05 100644 --- a/src/remote/resolve-user.ts +++ b/src/remote/resolve-user.ts @@ -37,7 +37,7 @@ export async function resolveUser(username: string, host: string | null, option? }); } - const user = await Users.findOne({ usernameLower, host }, option); + const user = await Users.findOne({ usernameLower, host }, option) as IRemoteUser; const acctLower = `${usernameLower}@${host}`; @@ -48,14 +48,20 @@ export async function resolveUser(username: string, host: string | null, option? return await createPerson(self.href); } - if (resync) { + // resyncオプション OR ユーザー情報が古い場合は、WebFilgerからやりなおして返す + if (resync || user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) { + // 繋がらないインスタンスに何回も試行するのを防ぐ, 後続の同様処理の連続試行を防ぐ ため 試行前にも更新する + await Users.update(user.id, { + lastFetchedAt: new Date(), + }); + logger.info(`try resync: ${acctLower}`); const self = await resolveSelf(acctLower); - if ((user as IRemoteUser).uri !== self.href) { + if (user.uri !== self.href) { // if uri mismatch, Fix (user@host <=> AP's Person id(IRemoteUser.uri)) mapping. logger.info(`uri missmatch: ${acctLower}`); - logger.info(`recovery missmatch uri for (username=${username}, host=${host}) from ${(user as IRemoteUser).uri} to ${self.href}`); + logger.info(`recovery missmatch uri for (username=${username}, host=${host}) from ${user.uri} to ${self.href}`); // validate uri const uri = new URL(self.href); diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts index 46dc7341e..a401166c5 100644 --- a/src/server/api/endpoints/users/show.ts +++ b/src/server/api/endpoints/users/show.ts @@ -95,13 +95,6 @@ export default define(meta, async (ps, me) => { throw new ApiError(meta.errors.noSuchUser); } - // ユーザー情報更新 - if (Users.isRemoteUser(user)) { - if (user.lastFetchedAt == null || Date.now() - user.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24) { - resolveUser(user.username, user.host, { }, true); - } - } - return await Users.pack(user, me, { detail: true }); From 81ea683f9f0d0a419d815a5f2afca89b2536e68d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=B2=E3=82=8F=E3=81=974=EF=BC=88=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B31=EF=BC=89?= Date: Sun, 21 Apr 2019 23:58:15 +0900 Subject: [PATCH 2/6] Docker: Remove quotes in docker_example.env (#4765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docker does not parse quotes in env_file. As follows if enclosed in quotation marks. docker_example.env: POSTGRES_PASSWORD="password" Environment value in Misskey container: $ echo $POSTGRES_PASSWORD "password" Some users may see this behavior as unexpected. Dockerはenv_fileのクォーテーションマークを解析しません。 もし値がクォーテーションマークで囲まれていた場合は以下のような動作になります。 docker_example.env: POSTGRES_PASSWORD="password" Misskeyのコンテナ内の環境変数: $ echo $POSTGRES_PASSWORD "password" この動作を予期しない動作のように思うユーザーがいるかもしれません。 --- .config/docker_example.env | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.config/docker_example.env b/.config/docker_example.env index 411d93659..7a0261524 100644 --- a/.config/docker_example.env +++ b/.config/docker_example.env @@ -1,5 +1,4 @@ # db settings -POSTGRES_PASSWORD="example-misskey-pass" -POSTGRES_USER="example-misskey-user" -POSTGRES_DB="misskey" - +POSTGRES_PASSWORD=example-misskey-pass +POSTGRES_USER=example-misskey-user +POSTGRES_DB=misskey From 0dba373fce5bf1cbdac67bc631192688880922ca Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 22 Apr 2019 00:38:37 +0900 Subject: [PATCH 3/6] =?UTF-8?q?2=E6=AE=B5=E9=9A=8E=E8=AA=8D=E8=A8=BC?= =?UTF-8?q?=E3=82=92=E6=9C=89=E5=8A=B9=E3=81=AB=E3=81=99=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E3=81=A7=E3=81=8D=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/repositories/user.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts index 36bba05e8..afba15eb5 100644 --- a/src/models/repositories/user.ts +++ b/src/models/repositories/user.ts @@ -144,6 +144,7 @@ export class UserRepository extends Repository { autoWatch: profile!.autoWatch, alwaysMarkNsfw: profile!.alwaysMarkNsfw, carefulBot: profile!.carefulBot, + twoFactorEnabled: profile!.twoFactorEnabled, hasUnreadMessagingMessage: MessagingMessages.count({ where: { recipientId: user.id, From 947d8f835526eadb6a6732873d1c72c0d349441e Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 22 Apr 2019 00:39:00 +0900 Subject: [PATCH 4/6] New Crowdin translations (#4736) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Polish) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Czech) * New translations ja-JP.yml (Dutch) * New translations ja-JP.yml (German) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Polish) * New translations ja-JP.yml (French) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Czech) * New translations ja-JP.yml (Dutch) * New translations ja-JP.yml (Korean) * New translations ja-JP.yml (Norwegian) * New translations ja-JP.yml (Spanish) * New translations ja-JP.yml (Japanese, Kansai) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (Chinese Simplified) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Czech) --- locales/cs-CZ.yml | 13 ++++++-- locales/de-DE.yml | 4 +++ locales/en-US.yml | 35 ++++++++++++++++++--- locales/es-ES.yml | 8 +++-- locales/fr-FR.yml | 15 ++++++--- locales/ja-KS.yml | 11 ++++--- locales/ko-KR.yml | 11 ++++--- locales/nl-NL.yml | 5 ++- locales/no-NO.yml | 3 +- locales/pl-PL.yml | 11 ++++--- locales/zh-CN.yml | 79 ++++++++++++++++++++++++++++------------------- 11 files changed, 132 insertions(+), 63 deletions(-) diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml index e3d89ab50..fe4b517e3 100644 --- a/locales/cs-CZ.yml +++ b/locales/cs-CZ.yml @@ -77,6 +77,9 @@ common: "read:messaging": "Prohlížet konverzaci" "write:messaging": "Pracovat s konverzaci" "read:mutes": "Prohlížet ztlumené" + "read:notifications": "Prohlížet oznámení" + "write:notifications": "Pracovat s oznámeními" + "read:reactions": "Prohlížet reakce" "write:votes": "Hlasovat" empty-timeline-info: follow-users-to-make-your-timeline: "Poznámky sledujících se zobrazí ve vaší časové ose" @@ -285,6 +288,7 @@ common: nav: "Navigace" tips: "Tipy" hashtags: "Hashtagy" + queue: "Ve frontě" dev: "Nepodařilo se vytvořit aplikace. Prosím zkuste to znovu." ai-chan-kawaii: "Ai-chan kawaii!" you: "Vy" @@ -593,6 +597,8 @@ common/views/components/user-list-editor.vue: remove-user: "Odebrat z tohoto seznamu" delete-are-you-sure: "Smazat seznam \"$1\"?" deleted: "Smazáno" +common/views/components/user-lists.vue: + list-name: "Název seznamu" common/views/widgets/broadcast.vue: fetching: "Načítám" next: "Další" @@ -832,8 +838,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Odmítnout" desktop/views/components/user-lists-window.vue: title: "Seznamy uživatelů" - create-list: "Vytvořit seznam" - list-name: "Název seznamu" desktop/views/components/user-preview.vue: notes: "Příspěvky" desktop/views/components/users-list.vue: @@ -1078,7 +1082,6 @@ mobile/views/components/drive.vue: used: "využito" file-count: "Soubor(ů)" folder-is-empty: "Tato složka je prázdná" - deletion-alert: "Omlouváme se, ale mazání složek ještě nebylo implementováno." folder-name: "Název složky" url-prompt: "URL adresa souboru, který chcete nahrát" uploading: "Byl zahájen upload. Může chvilku trvat než bude dokončen." @@ -1139,6 +1142,10 @@ mobile/views/components/ui.nav.vue: game: "Hry" admin: "Administrace" about: "O Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Nahrát soubor" + create-folder: "Vytvořit složku" mobile/views/pages/user-lists.vue: title: "Seznamy" mobile/views/pages/signup.vue: diff --git a/locales/de-DE.yml b/locales/de-DE.yml index d6075f73b..dc758bd85 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -676,6 +676,10 @@ mobile/views/components/ui.nav.vue: user-lists: "Listen" game: "Spielen" about: "Über" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Eine Datei hochladen" + create-folder: "Ein Verzeichnis erstellen" mobile/views/pages/user-lists.vue: title: "Listen" mobile/views/pages/home.vue: diff --git a/locales/en-US.yml b/locales/en-US.yml index a9852d0c5..a69a323d5 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -84,6 +84,11 @@ common: "write:messaging": "Work with Messaging" "read:mutes": "View Muted" "write:mutes": "Work with Muted" + "write:notes": "Create and delete posts" + "read:notifications": "View notifications" + "write:notifications": "Work with notifications" + "read:reactions": "View reactions" + "write:reactions": "Work with reactions" "write:votes": "Vote" empty-timeline-info: follow-users-to-make-your-timeline: "Following users will show their posts in your timeline." @@ -484,8 +489,12 @@ common/views/components/user-menu.vue: mention: "Mention" mute: "Mute" unmute: "Unmute" + mute-confirm: "Are you sure you want to mute this user?" + unmute-confirm: "Are you certain that you want to unmute this user?" block: "Block" unblock: "Unblock" + block-confirm: "Are you sure you want to block this user?" + unblock-confirm: "Are you certain that you want to unblock this user?" push-to-list: "Add to list" select-list: "Select a list" report-abuse: "Report abuse" @@ -493,8 +502,12 @@ common/views/components/user-menu.vue: report-abuse-reported: "The issue has been reported to the administrator. Your cooperation is much appreciated." silence: "Silence" unsilence: "Unsilence" + silence-confirm: "Are you sure that you want to silence this user?" + unsilence-confirm: "Are you sure that you want to stop silencing this user?" suspend: "Suspend" unsuspend: "Unsuspend" + suspend-confirm: "Are you sure that you want to suspend this user?" + unsuspend-confirm: "Are you sure that you want to unsuspend this user?" common/views/components/poll.vue: vote-to: "Vote for '{}'" vote-count: "{} votes" @@ -677,6 +690,9 @@ common/views/components/user-list-editor.vue: remove-user: "Remove from this list" delete-are-you-sure: "Delete list \"$1\"?" deleted: "Deleted successfully" +common/views/components/user-lists.vue: + create-list: "Create a list" + list-name: "List name" common/views/widgets/broadcast.vue: fetching: "Checking" no-broadcasts: "No announcements" @@ -1025,8 +1041,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Reject" desktop/views/components/user-lists-window.vue: title: "User lists" - create-list: "Create a list" - list-name: "List name" desktop/views/components/user-preview.vue: notes: "Posts" following: "Following" @@ -1204,7 +1218,9 @@ admin/views/users.vue: unsuspend-confirm: "Are you sure you want to unsuspend this account?" unsuspended: "The user has successfully unsuspended." make-silence: "Silence" + silence-confirm: "Silence user?" unmake-silence: "Unsilence" + unsilence-confirm: "Are you certain that you want to stop silencing this user?" verify: "Verify account" verify-confirm: "Do you want this to be a verified account?" verified: "The account is now being verified" @@ -1398,6 +1414,7 @@ desktop/views/widgets/polls.vue: desktop/views/widgets/post-form.vue: title: "Post" note: "Post" + something-happened: "Could not be posted in this circumstance." desktop/views/widgets/profile.vue: update-banner: "Click to edit your banner" update-avatar: "Click to edit your avatar" @@ -1416,12 +1433,11 @@ mobile/views/components/drive.vue: file-count: "File(s)" nothing-in-drive: "There's nothing stored." folder-is-empty: "This folder is empty" - prompt: "What do you want to do? (Please enter a number): <1 → Upload a file | 2 → Upload a file from a URL | 3 → Create a folder | 4 → Change this folder's name | 5 → Move this folder | 6 → Delete this folder>" - deletion-alert: "Sorry! Deleting a folder is not yet implemented." folder-name: "Folder name" here-is-root: "Currently, you are on the root, not inside of any folder." url-prompt: "URL of the file you want to upload" uploading: "Upload requested. It may take a while for the upload to finish." + folder-name-cannot-empty: "Folder name cannot be blank." mobile/views/components/drive-file-chooser.vue: select-file: "Choose files" mobile/views/components/drive-folder-chooser.vue: @@ -1495,9 +1511,16 @@ mobile/views/components/ui.nav.vue: game: "Games" admin: "Admin" about: "About Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Upload a file" + url-upload: "Upload file from a URL" + create-folder: "Create a folder" + rename-folder: "Rename folder" + move-folder: "Move this folder" + delete-folder: "Delete this folder" mobile/views/pages/user-lists.vue: title: "Lists" - enter-list-name: "Enter a name of the list to make" mobile/views/pages/signup.vue: lets-start: "Your account is now ready! 📦" mobile/views/pages/followers.vue: @@ -1624,10 +1647,12 @@ dev/views/apps.vue: create-app: "Create app" app-missing: "No apps" dev/views/new-app.vue: + new-app: "New Application" create-app: "Creating application" app-name: "Application name" app-name-desc: "The name of your app" app-overview: "Application summary" + app-overview-desc: "A brief description, or an introduction of your app." callback-url: "The callback URL (optional)" callback-url-desc: "The URL to redirect to after the user is authenticated via the authentication form." authority: "Permissions" diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 871f79c32..58707bb0b 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -466,6 +466,8 @@ common/views/components/profile-editor.vue: enter-password: "Escribe una contraseña" common/views/components/user-list-editor.vue: users: "Usuarios" +common/views/components/user-lists.vue: + list-name: "Nombre de lista" common/views/widgets/broadcast.vue: fetching: "Recuperando" no-broadcasts: "Sin emisión" @@ -773,8 +775,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Rechazar" desktop/views/components/user-lists-window.vue: title: "Listas de usuario" - create-list: "Crear lista" - list-name: "Nombre de lista" desktop/views/components/user-preview.vue: notes: "Publicaciones" following: "Sigue" @@ -931,6 +931,10 @@ mobile/views/components/ui.nav.vue: game: "Juegos" admin: "Admin" about: "Sobre" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Subir fichero" + create-folder: "Crear una carpeta" mobile/views/pages/user-lists.vue: title: "Listas" mobile/views/pages/home.vue: diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 2d802c1b1..88c55958d 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -72,6 +72,8 @@ common: "write:account": "Mettre à jour les informations de votre compte" "read:drive": "Parcourir le Drive" "write:drive": "Écrire sur le Drive" + "read:favorites": "Afficher les favoris" + "read:reactions": "Lire les réactions" "write:votes": "Vote" empty-timeline-info: follow-users-to-make-your-timeline: "Les utilisateurs suivants afficheront leurs publications sur votre fil." @@ -136,6 +138,7 @@ common: appearance: "Apparence" behavior: "Comportement" fetch-on-scroll: "Chargement automatique lors du défilement" + fetch-on-scroll-desc: "Chargement automatique du contenu lors du défilement de la page." note-visibility: "Visibilité de la publication" default-note-visibility: "Visibilité par défaut" remember-note-visibility: "Se souvenir du mode de visibilité de la publication" @@ -655,6 +658,8 @@ common/views/components/user-list-editor.vue: remove-user: "Retirer de cette liste" delete-are-you-sure: "Voulez-vous vraiment supprimer la liste « $1 » ?" deleted: "Supprimé" +common/views/components/user-lists.vue: + list-name: "Nom de la liste" common/views/widgets/broadcast.vue: fetching: "Récupération" no-broadcasts: "Aucune annonce" @@ -955,6 +960,7 @@ common/views/components/password-settings.vue: changed: "Mot de passe modifié avec succès" failed: "Échec lors de la modification du mot de passe" common/views/components/post-form-attaches.vue: + attach-cancel: "Enlever le fichier attaché" mark-as-sensitive: "Marquer comme sensible" unmark-as-sensitive: "Ne pas marquer comme sensible" desktop/views/components/sub-note-content.vue: @@ -1001,8 +1007,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Refuser" desktop/views/components/user-lists-window.vue: title: "Listes de l'utilisateur" - create-list: "Créer une liste" - list-name: "Nom de la liste" desktop/views/components/user-preview.vue: notes: "Publications" following: "Abonné à" @@ -1379,8 +1383,6 @@ mobile/views/components/drive.vue: file-count: "Fichier·s" nothing-in-drive: "Rien" folder-is-empty: "Ce dossier est vide" - prompt: "Que veux-tu faire ? (Entrez un nombre): <1 → Télécharger le fichier | 2 → Télécharger le fichier avec l'URL | 3 → Créer le dossier | 4 → Modifier le nom du dossier | 5 → Déplacer ce dossier | 6 → Supprimer ce dossier >" - deletion-alert: "Désolé ! La suppression d’un dossier n’est pas encore implémentée." folder-name: "Nom du dossier" url-prompt: "URL du fichier que vous souhaitez téléverser" uploading: "Envoi demandé. Le téléversement pourrait prendre un certain temps avant de s'achever." @@ -1457,9 +1459,12 @@ mobile/views/components/ui.nav.vue: game: "Jeux" admin: "Admin" about: "À propos de Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Téléverser un fichier" + create-folder: "Créer un dossier" mobile/views/pages/user-lists.vue: title: "Listes" - enter-list-name: "Nom de la liste" mobile/views/pages/signup.vue: lets-start: "Votre compte est prêt ! 📦" mobile/views/pages/followers.vue: diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index 935c83df3..908fbc462 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -478,6 +478,8 @@ common/views/components/profile-editor.vue: enter-password: "パスワードを入れてや" common/views/components/user-list-editor.vue: users: "ユーザー" +common/views/components/user-lists.vue: + list-name: "リスト名" common/views/widgets/broadcast.vue: fetching: "見てみるわ…" no-broadcasts: "お知らせはあらへんで" @@ -815,8 +817,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "許さん" desktop/views/components/user-lists-window.vue: title: "リスト" - create-list: "新しいリストを作成" - list-name: "リスト名" desktop/views/components/user-preview.vue: notes: "投稿" following: "フォロー" @@ -1071,8 +1071,6 @@ mobile/views/components/drive.vue: file-count: "ファイル" nothing-in-drive: "ドライブには何もあらへんで。" folder-is-empty: "このフォルダ何もないわ" - prompt: "何すんの?(数字を入れてや): <1 → ファイルをアップロード | 2 → ファイルをURLでアップロード | 3 → フォルダ作成 | 4 → このフォルダ名を変更 | 5 → このフォルダを移動 | 6 → このフォルダを削除>" - deletion-alert: "フォルダの削除は未実装やねん...。堪忍な!" folder-name: "フォルダー名" url-prompt: "このURLのファイルをアップロードしたいねん" uploading: "アップロードをリクエストしたで。アップロードが完了するまで時間がかかるかも分からん、知らんけど。" @@ -1149,9 +1147,12 @@ mobile/views/components/ui.nav.vue: game: "ゲーム" admin: "管理" about: "Misskeyってなんや?" +mobile/views/pages/drive.vue: + contextmenu: + upload: "ファイル上げる" + create-folder: "フォルダー作る" mobile/views/pages/user-lists.vue: title: "リスト" - enter-list-name: "リスト名を入力してや" mobile/views/pages/signup.vue: lets-start: "📦 始めようや" mobile/views/pages/followers.vue: diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 1bf86ad0d..d8939eaeb 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -667,6 +667,8 @@ common/views/components/user-list-editor.vue: remove-user: "이 리스트에서 제거" delete-are-you-sure: "리스트 \"$1\"을 삭제하시겠습니까?" deleted: "삭제하였습니다" +common/views/components/user-lists.vue: + list-name: "리스트 이름" common/views/widgets/broadcast.vue: fetching: "확인중" no-broadcasts: "공지사항이 없습니다" @@ -1015,8 +1017,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "거부" desktop/views/components/user-lists-window.vue: title: "리스트" - create-list: "리스트 만들기" - list-name: "리스트 이름" desktop/views/components/user-preview.vue: notes: "글" following: "팔로잉" @@ -1406,8 +1406,6 @@ mobile/views/components/drive.vue: file-count: "파일" nothing-in-drive: "드라이브에 아무것도 없습니다" folder-is-empty: "폴더가 비어있습니다" - prompt: "무엇을 하시겠습니까? (숫자를 입력하여 주십시오): <1 → 파일 업로드 | 2 → 파일을 URL에서 업로드 | 3 → 폴더 만들기 | 4 → 이 폴더의 이름을 변경 | 5 → 현재 폴더 이동| 6 → 현재 폴더 삭제>" - deletion-alert: "죄송합니다! 폴더 삭제는 아직 구현되지 않았습니다..." folder-name: "폴더 이름" here-is-root: "현재 경로는 루트 경로로 폴더가 아닙니다." url-prompt: "업로드 하려는 파일의 URL" @@ -1485,9 +1483,12 @@ mobile/views/components/ui.nav.vue: game: "게임" admin: "관리" about: "Misskey에 대하여" +mobile/views/pages/drive.vue: + contextmenu: + upload: "파일 업로드" + create-folder: "폴더 만들기" mobile/views/pages/user-lists.vue: title: "리스트" - enter-list-name: "리스트명을 입력하십시오" mobile/views/pages/signup.vue: lets-start: "📦 이제 시작해도 됩니다" mobile/views/pages/followers.vue: diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml index e31be1856..df190c67a 100644 --- a/locales/nl-NL.yml +++ b/locales/nl-NL.yml @@ -403,7 +403,6 @@ desktop/views/components/ui.header.search.vue: placeholder: "Zoeken" desktop/views/components/user-lists-window.vue: title: "Lijsten" - create-list: "Lijst creëren" desktop/views/components/user-preview.vue: notes: "Berichten" following: "Volgend" @@ -557,6 +556,10 @@ mobile/views/components/ui.nav.vue: user-lists: "Lijsten" game: "Othello spelen" about: "Over Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Bestand uploaden" + create-folder: "Map creëren" mobile/views/pages/user-lists.vue: title: "Lijsten" mobile/views/pages/home.vue: diff --git a/locales/no-NO.yml b/locales/no-NO.yml index 4dce106f2..043e20861 100644 --- a/locales/no-NO.yml +++ b/locales/no-NO.yml @@ -192,6 +192,8 @@ common/views/components/profile-editor.vue: user-lists: "Lister" common/views/components/user-list-editor.vue: users: "Bruker" +common/views/components/user-lists.vue: + list-name: "Liste navn" common/views/widgets/broadcast.vue: fetching: "Henter" next: "Neste" @@ -310,7 +312,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Avslå" desktop/views/components/user-lists-window.vue: title: "Brukerlister" - list-name: "Liste navn" desktop/views/components/user-preview.vue: notes: "Innlegg" following: "Følger" diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml index 91558517d..f44d95500 100644 --- a/locales/pl-PL.yml +++ b/locales/pl-PL.yml @@ -512,6 +512,8 @@ common/views/components/user-list-editor.vue: remove-user: "Usuń z tej listy" delete-are-you-sure: "Usunąć listę \"$1\"?" deleted: "Usunięto" +common/views/components/user-lists.vue: + list-name: "Nazwa listy" common/views/widgets/broadcast.vue: fetching: "Sprawdzanie" no-broadcasts: "Brak transmisji" @@ -834,8 +836,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "Odmów" desktop/views/components/user-lists-window.vue: title: "Listy" - create-list: "Utwórz listę" - list-name: "Nazwa listy" desktop/views/components/user-preview.vue: notes: "Wpisy" following: "Śledzeni" @@ -1026,8 +1026,6 @@ mobile/views/components/drive.vue: file-count: "Plik(i)" nothing-in-drive: "Pusto" folder-is-empty: "Ten katalog jest pusty" - prompt: "Co chcesz zrobić? (wprowadź odpowiednią cyfrę): <1 → Wysłać plik | 2 → Wysłać plik z adresu URL | 3 → Utworzyć katalog | 4 → Zmienić nazwę tego katalogu | 5 → Przenieść ten katalog | 6 → Usunąć ten katalog>" - deletion-alert: "Przepraszamy. Usuwanie katalogów nie zostało jeszcze zaimplementowane." folder-name: "Nazwa katalogu" url-prompt: "Adres URL pliku, który chcesz wysłać" uploading: "Rozpoczęto wysyłanie. Może to trochę potrwać." @@ -1103,9 +1101,12 @@ mobile/views/components/ui.nav.vue: game: "Gry" admin: "Admin" about: "O Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "Wyślij plik" + create-folder: "Utwórz katalog" mobile/views/pages/user-lists.vue: title: "Listy" - enter-list-name: "Wprowadź nazwę listy" mobile/views/pages/signup.vue: lets-start: "Rozpocznijmy! 📦" mobile/views/pages/home.vue: diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 56a4fb10e..815686cfb 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -162,7 +162,7 @@ common: keep-cw: "保留内容警告" keep-cw-desc: "在回复帖子时,如果原帖设置了内容警告,默认情况下回帖也会设置相同的内容警告。" i-like-sushi: "相比于布丁来说, 我更喜欢寿司。" - show-reversi-board-labels: "在 Reversi 中显示行和列表签" + show-reversi-board-labels: "在黑白棋中显示行和列表签" use-avatar-reversi-stones: "用头像作为黑白棋的棋子" disable-animated-mfm: "在帖子中禁用动画文本" disable-showing-animated-images: "不播放动画" @@ -205,9 +205,9 @@ common: show-clock-on-header: "在右上角显示时钟" show-reply-target: "显示回复目标" timeline: "时间线" - show-my-renotes: "在时间线上显示我的Renote" - show-renoted-my-notes: "在时间线上显示我的帖子的Renote" - show-local-renotes: "在时间线上显示本地帖子的Renote" + show-my-renotes: "在时间线上显示我的转推" + show-renoted-my-notes: "在时间线上显示我的帖子的转推" + show-local-renotes: "在时间线上显示本地帖子的转推" remain-deleted-note: "继续显示已删除的帖子" sound: "声音" enable-sounds: "开启声音" @@ -257,7 +257,7 @@ common: is-remote-user: "此用户信息可能不准确。" is-remote-post: "该投稿已被复制." view-on-remote: "查看准确的信息" - renoted-by: "由 {user} Renote" + renoted-by: "由 {user} 转推" no-notes: "没有帖子" turn-on-darkmode: "切换暗色主题" turn-off-darkmode: "切换亮色主题" @@ -338,8 +338,8 @@ common/views/components/games/reversi/reversi.game.vue: surrender: "认输" surrendered: "已认输" is-llotheo: "棋子较少一方获胜(LLoTheO规则)" - looped-map: "环形棋盘" - can-put-everywhere: "可以下在任意放置" + looped-map: "循环棋盘" + can-put-everywhere: "可以下在任意位置" common/views/components/games/reversi/reversi.index.vue: title: "Misskey 黑白棋" sub-title: "和其他人一起来玩Misskey黑白棋" @@ -363,8 +363,8 @@ common/views/components/games/reversi/reversi.room.vue: black-is: "{}是黑" rules: "规则" is-llotheo: "棋子较少一方获胜(LLoTheO规则)" - looped-map: "环形棋盘" - can-put-everywhere: "可以下在任意放置" + looped-map: "循环棋盘" + can-put-everywhere: "可以下在任意位置" settings-of-the-bot: "机器人设定" this-game-is-started-soon: "游戏即将在数秒后开始" waiting-for-other: "等待对手准备" @@ -480,8 +480,8 @@ common/views/components/note-menu.vue: unfavorite: "取消收藏" watch: "关注" unwatch: "取消关注" - pin: "固定个人资料" - unpin: "解除固定" + pin: "置顶" + unpin: "取消置顶" delete: "删除" delete-confirm: "确定删除这个投稿吗?" remote: "显示原始投稿" @@ -489,8 +489,12 @@ common/views/components/user-menu.vue: mention: "提到" mute: "屏蔽" unmute: "解除屏蔽" + mute-confirm: "屏蔽此用户?" + unmute-confirm: "取消屏蔽用户?" block: "拉黑" unblock: "取消拉黑" + block-confirm: "确定拉黑此用户?" + unblock-confirm: "取消拉黑此用户?" push-to-list: "添加至列表" select-list: "请选择一个列表" report-abuse: "举报骚扰" @@ -498,8 +502,12 @@ common/views/components/user-menu.vue: report-abuse-reported: "已报告给管理员。 非常感谢你的合作。" silence: "禁言" unsilence: "解除禁言" + silence-confirm: "确认屏蔽此用户?" + unsilence-confirm: "取消屏蔽此用户?" suspend: "冻结" unsuspend: "解除冻结" + suspend-confirm: "确认冻结此用户?" + unsuspend-confirm: "确认解冻此用户?" common/views/components/poll.vue: vote-to: "为\"{}\"投票" vote-count: "{}票" @@ -682,6 +690,9 @@ common/views/components/user-list-editor.vue: remove-user: "从此列表中删除" delete-are-you-sure: "删除列表“$1”?" deleted: "已删除" +common/views/components/user-lists.vue: + create-list: "创建列表" + list-name: "列表名称" common/views/widgets/broadcast.vue: fetching: "确认中" no-broadcasts: "没有公告" @@ -724,7 +735,7 @@ common/views/widgets/tips.vue: tips-line8: "可以从设置中定制主页。" tips-line9: "Misskey 根据 AGPLv3 获得许可。" tips-line10: "使用Time Machine(时光机)小部件可以轻松追溯到过去的时间轴。" - tips-line11: "您可以点击“...”将帖子固定到用户页面" + tips-line11: "您可以点击“...”将帖子置顶到用户页面" tips-line13: "附在帖子上的所有文件都会保存到网盘中。" tips-line14: "在自定义首页布局时,您可以右键单击窗口小部件以更改其设计。" tips-line17: "用“**”围绕文本将突出显示它。" @@ -759,7 +770,7 @@ desktop/views/components/activity.chart.vue: total: "黑 ... 总计" notes: "蓝 ... 投稿" replies: "红 ... 回复" - renotes: "绿 ... 转发" + renotes: "绿 ... 转推" desktop/views/components/activity.vue: title: "活动" toggle: "切换显示" @@ -856,12 +867,12 @@ desktop/views/components/note-detail.vue: private: "私密投稿" deleted: "投稿已删除" location: "位置信息" - renote: "转发" + renote: "转推" add-reaction: "回应" undo-reaction: "取消回应" desktop/views/components/note.vue: reply: "回复" - renote: "Renote" + renote: "转推" add-reaction: "回应" undo-reaction: "取消回应" detail: "详细信息" @@ -880,13 +891,13 @@ desktop/views/components/post-form.vue: quote-placeholder: "引用这个帖子…" submit: "投稿" reply: "回复" - renote: "转发" + renote: "转推" posted: "已发送投稿!" replied: "已回复!" - reposted: "已转发!" + reposted: "已转推!" note-failed: "发帖失败" reply-failed: "回复失败" - renote-failed: "转发失败" + renote-failed: "转推失败" posting: "发送中" attach-media-from-local: "从设备中添加媒体文件" attach-media-from-drive: "从网盘中添加媒体文件" @@ -911,13 +922,13 @@ desktop/views/components/progress-dialog.vue: desktop/views/components/renote-form.vue: quote: "引用..." cancel: "取消" - renote: "重新发送" - renote-home: "重新发送(首页)" + renote: "转推" + renote-home: "转推(首页)" reposting: "重新发送中..." - success: "已重新发送!" - failure: "重新发送失败" + success: "已转推!" + failure: "转推失败" desktop/views/components/renote-form-window.vue: - title: "您是否要重新发送?" + title: "您是否要转推?" desktop/views/pages/user-following-or-followers.vue: following: "{user}的正在关注" followers: "{user}的关注者" @@ -967,7 +978,7 @@ common/views/components/drive-settings.vue: common/views/components/mute-and-block.vue: mute-and-block: "屏蔽/拉黑" mute: "屏蔽" - block: "拉黑中" + block: "拉黑" no-muted-users: "无屏蔽用户" no-blocked-users: "无拉黑的用户" word-mute: "文字屏蔽" @@ -1030,8 +1041,6 @@ desktop/views/components/received-follow-requests-window.vue: reject: "拒绝" desktop/views/components/user-lists-window.vue: title: "用户列表" - create-list: "创建列表" - list-name: "列表名称" desktop/views/components/user-preview.vue: notes: "帖子" following: "关注中" @@ -1209,7 +1218,9 @@ admin/views/users.vue: unsuspend-confirm: "是否解除冻结?" unsuspended: "已成功解除用户冻结" make-silence: "禁言" + silence-confirm: "确认屏蔽?" unmake-silence: "解除禁言" + unsilence-confirm: "解除屏蔽?" verify: "认证用户" verify-confirm: "是否官方账号?" verified: "此账户已被认证" @@ -1422,12 +1433,11 @@ mobile/views/components/drive.vue: file-count: "文件" nothing-in-drive: "网盘为空" folder-is-empty: "这文件夹是空的" - prompt: "您想要干什么呢?(请输入数字):<1 → 上传文件 | 2 → 从URL上传文件 | 3 → 创建新文件夹 | 4 → 更改这个文件夹的名称 | 5 → 移动这个文件夹 | 6 → 删除这个文件夹>" - deletion-alert: "抱歉! 删除文件夹功能尚未实现。" folder-name: "文件夹名称" here-is-root: "当前位置为根目录。" url-prompt: "要上传的文件的URL" uploading: "已请求上传。 上传完成可能需要一段时间。" + folder-name-cannot-empty: "文件夹名不能为空。" mobile/views/components/drive-file-chooser.vue: select-file: "选择文件" mobile/views/components/drive-folder-chooser.vue: @@ -1476,7 +1486,7 @@ mobile/views/components/post-form.vue: add-visible-user: "添加用户" submit: "帖子" reply: "回复" - renote: "Renote" + renote: "转推" quote-placeholder: "引用这个帖子t... (可选)" reply-placeholder: "回复这个帖子" cw-placeholder: "评论帖子(可选)" @@ -1501,9 +1511,16 @@ mobile/views/components/ui.nav.vue: game: "游戏" admin: "管理" about: "关于 Misskey" +mobile/views/pages/drive.vue: + contextmenu: + upload: "上传文件" + url-upload: "从URL上传文件" + create-folder: "创建文件夹" + rename-folder: "重命名文件夹" + move-folder: "移动此文件夹" + delete-folder: "删除此文件夹" mobile/views/pages/user-lists.vue: title: "列表" - enter-list-name: "输入要列出的列表的名称" mobile/views/pages/signup.vue: lets-start: "您的账户现已准备就绪! 📦" mobile/views/pages/followers.vue: @@ -1600,7 +1617,7 @@ deck/deck.user-column.vue: images: "图片" activity: "活动" timeline: "时间线" - pinned-notes: "标记投稿" + pinned-notes: "置顶帖" docs: edit-this-page-on-github: "发现错误或想要为文档做出贡献?" edit-this-page-on-github-link: "在GitHub上编辑这个页面。" From fb8bce5a08102ca7e8f82a29d576cbb2835a6aab Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 22 Apr 2019 00:43:15 +0900 Subject: [PATCH 5/6] Update dependencies :rocket: --- package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index ad4968e1f..fbe4281ec 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "@types/websocket": "0.0.40", "@types/ws": "6.0.1", "animejs": "3.0.1", - "apexcharts": "3.6.7", + "apexcharts": "3.6.8", "autobind-decorator": "2.4.0", "autosize": "4.0.2", "autwh": "0.1.0", @@ -112,7 +112,7 @@ "cssnano": "4.1.10", "dateformat": "3.0.3", "deep-equal": "1.0.1", - "diskusage": "1.0.0", + "diskusage": "1.1.0", "double-ended-queue": "2.1.0-0", "elasticsearch": "15.4.1", "emojilib": "2.4.0", @@ -138,10 +138,10 @@ "html-minifier": "4.0.0", "http-signature": "1.2.0", "insert-text-at-cursor": "0.2.0", - "is-root": "2.0.0", + "is-root": "2.1.0", "is-svg": "4.1.0", "js-yaml": "3.13.1", - "jsdom": "14.0.0", + "jsdom": "14.1.0", "json5": "2.1.0", "json5-loader": "2.0.0", "katex": "0.10.1", @@ -161,20 +161,20 @@ "loader-utils": "1.2.3", "lolex": "3.1.0", "lookup-dns-cache": "2.1.0", - "minio": "7.0.5", + "minio": "7.0.6", "mocha": "6.1.3", "moji": "0.5.1", "moment": "2.24.0", "ms": "2.1.1", "nested-property": "0.0.7", "node-fetch": "2.3.0", - "nodemailer": "6.1.0", + "nodemailer": "6.1.1", "nprogress": "0.2.0", "object-assign-deep": "0.4.0", "os-utils": "0.0.14", "parse5": "5.1.0", "parsimmon": "1.12.0", - "pg": "7.9.0", + "pg": "7.10.0", "portscanner": "2.2.0", "postcss-loader": "3.0.0", "prismjs": "1.16.0", @@ -210,7 +210,7 @@ "stylus": "0.54.5", "stylus-loader": "3.0.2", "summaly": "2.2.0", - "systeminformation": "4.1.4", + "systeminformation": "4.1.5", "syuilo-password-strength": "0.0.1", "terser-webpack-plugin": "1.2.3", "textarea-caret": "3.1.0", @@ -240,7 +240,7 @@ "vue-loader": "15.7.0", "vue-marquee-text-component": "1.1.1", "vue-prism-component": "1.1.1", - "vue-router": "3.0.4", + "vue-router": "3.0.6", "vue-sequential-entrance": "1.1.3", "vue-style-loader": "4.1.2", "vue-svg-inline-loader": "1.2.15", From c2d359c54f82f1252c269ff413e0f5333b36ef66 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 22 Apr 2019 00:49:36 +0900 Subject: [PATCH 6/6] 11.2.2 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee7122da..17fbe781c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,13 @@ mongodb: 8. master ブランチに戻す 9. enjoy +11.2.2 (2019/04/22) +------------------- +### Fixes +* 2段階認証を有効にするとログインできない問題を修正 +* リモートユーザーの修復処理が自動的に実行されない問題を修正 +* リモートユーザー情報が更新されない問題を修正 + 11.2.1 (2019/04/21) ------------------- ### Fixes diff --git a/package.json b/package.json index fbe4281ec..61ace88c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "11.2.1", + "version": "11.2.2", "codename": "daybreak", "repository": { "type": "git",