From bacbfc1154b488b32787e628f639f5625718a37c Mon Sep 17 00:00:00 2001 From: tarteka Date: Wed, 15 May 2019 09:16:49 +0000 Subject: [PATCH 01/24] Update es.json --- src/i18n/es.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/i18n/es.json b/src/i18n/es.json index 2e38f85911..800dc0b618 100644 --- a/src/i18n/es.json +++ b/src/i18n/es.json @@ -94,6 +94,11 @@ "direct_warning": "Esta publicación solo será visible para los usuarios mencionados.", "direct_warning_to_first_only": "Esta publicación solo será visible para los usuarios mencionados al comienzo del mensaje.", "posting": "Publicando", + "scope_notice": { + "public": "Esta publicación será visible para todo el mundo", + "private": "Esta publicación solo será visible para tus seguidores.", + "unlisted": "Esta publicación no será visible en la Línea Temporal Pública ni en Toda La Red Conocida" + }, "scope": { "direct": "Directo - Solo para los usuarios mencionados.", "private": "Solo-Seguidores - Solo tus seguidores leeran la publicación", From 59ade4084e2d3c7d018fec57972742a628749032 Mon Sep 17 00:00:00 2001 From: shpuld Date: Tue, 9 Jul 2019 16:50:23 +0300 Subject: [PATCH 02/24] Hide favs/rts properly when hide post stats is enabled --- src/components/status/status.js | 5 +++++ src/components/status/status.vue | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/status/status.js b/src/components/status/status.js index 4b3499cd50..da0b9edc19 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -280,6 +280,11 @@ const Status = { }, tags () { return this.status.tags.filter(tagObj => tagObj.hasOwnProperty('name')).map(tagObj => tagObj.name).join(' ') + }, + hidePostStats () { + return typeof this.$store.state.config.hidePostStats === 'undefined' + ? this.$store.state.instance.hidePostStats + : this.$store.state.config.hidePostStats } }, components: { diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 30969256f1..b825d17d47 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -344,7 +344,7 @@
From 114a36c9be0e36ffdc5f3b14adc7e48381876b6e Mon Sep 17 00:00:00 2001 From: feld Date: Wed, 10 Jul 2019 22:30:32 +0000 Subject: [PATCH 03/24] Revert "Merge branch 'csp-header' into 'develop'" This reverts merge request !856 --- build/dev-server.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/dev-server.js b/build/dev-server.js index 59dd2c4d39..4857421471 100644 --- a/build/dev-server.js +++ b/build/dev-server.js @@ -24,9 +24,6 @@ var devMiddleware = require('webpack-dev-middleware')(compiler, { stats: { colors: true, chunks: false - }, - headers: { - 'content-security-policy': "base-uri 'self'; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; manifest-src 'self'; script-src 'self' 'unsafe-eval';" } }) From f665ac83e7911560f41b2b31ec8e7980cc6efaaf Mon Sep 17 00:00:00 2001 From: Hakaba Hitoyo Date: Mon, 15 Jul 2019 19:18:20 +0000 Subject: [PATCH 04/24] i18n/Update easy Japanese trasnlation --- src/i18n/ja.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/i18n/ja.json b/src/i18n/ja.json index 559bb4c957..c77f28a6a1 100644 --- a/src/i18n/ja.json +++ b/src/i18n/ja.json @@ -27,7 +27,11 @@ "optional": "かかなくてもよい", "show_more": "つづきをみる", "show_less": "たたむ", - "cancel": "キャンセル" + "cancel": "キャンセル", + "disable": "なし", + "enable": "あり", + "confirm": "たしかめる", + "verify": "たしかめる" }, "image_cropper": { "crop_picture": "がぞうをきりぬく", @@ -48,7 +52,15 @@ "placeholder": "れい: lain", "register": "はじめる", "username": "ユーザーめい", - "hint": "はなしあいにくわわるには、ログインしてください" + "hint": "はなしあいにくわわるには、ログインしてください", + "authentication_code": "にんしょうコード", + "enter_recovery_code": "リカバリーコードをいれてください", + "enter_two_factor_code": "2-ファクターコードをいれてください", + "recovery_code": "リカバリーコード", + "heading" : { + "totp" : "2-ファクターにんしょう", + "recovery" : "2-ファクターリカバリー" + } }, "media_modal": { "previous": "まえ", @@ -79,6 +91,20 @@ "repeated_you": "あなたのステータスがリピートされました", "no_more_notifications": "つうちはありません" }, + "polls": { + "add_poll": "いれふだをはじめる", + "add_option": "オプションをふやす", + "option": "オプション", + "votes": "いれふだ", + "vote": "ふだをいれる", + "type": "いれふだのかた", + "single_choice": "ひとつえらぶ", + "multiple_choices": "いくつでもえらべる", + "expiry": "いれふだのながさ", + "expires_in": "いれふだは {0} で、おわります", + "expired": "いれふだは {0} まえに、おわりました", + "not_enough_options": "ユニークなオプションが、たりません" + }, "interactions": { "favs_repeats": "リピートとおきにいり", "follows": "あたらしいフォロー", @@ -139,6 +165,29 @@ }, "settings": { "app_name": "アプリのなまえ", + "security": "セキュリティ", + "enter_current_password_to_confirm": "あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください", + "mfa": { + "otp" : "OTP", + "setup_otp" : "OTPをつくる", + "wait_pre_setup_otp" : "OTPをよういしています", + "confirm_and_enable" : "OTPをたしかめて、ゆうこうにする", + "title": "2-ファクターにんしょう", + "generate_new_recovery_codes" : "あたらしいリカバリーコードをつくる", + "warning_of_generate_new_codes" : "あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。", + "recovery_codes" : "リカバリーコード。", + "waiting_a_recovery_codes": "バックアップコードをうけとっています...", + "recovery_codes_warning" : "コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。", + "authentication_methods" : "にんしょうメソッド", + "scan": { + "title": "スキャン", + "desc": "あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:", + "secret_code": "キー" + }, + "verify": { + "desc": "2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:" + } + }, "attachmentRadius": "ファイル", "attachments": "ファイル", "autoload": "したにスクロールしたとき、じどうてきによみこむ。", From 54b45ec4a30a8644b59a86cc7e614ab76b6b8ea4 Mon Sep 17 00:00:00 2001 From: Hakaba Hitoyo Date: Mon, 15 Jul 2019 19:18:40 +0000 Subject: [PATCH 05/24] i18n/Update pedantic Japanese translation --- src/i18n/ja_pedantic.json | 53 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/i18n/ja_pedantic.json b/src/i18n/ja_pedantic.json index 345e1f1c57..992a2fa633 100644 --- a/src/i18n/ja_pedantic.json +++ b/src/i18n/ja_pedantic.json @@ -27,7 +27,11 @@ "optional": "省略可", "show_more": "もっと見る", "show_less": "たたむ", - "cancel": "キャンセル" + "cancel": "キャンセル", + "disable": "無効", + "enable": "有効", + "confirm": "確認", + "verify": "検査" }, "image_cropper": { "crop_picture": "画像を切り抜く", @@ -48,7 +52,15 @@ "placeholder": "例: lain", "register": "登録", "username": "ユーザー名", - "hint": "会話に加わるには、ログインしてください" + "hint": "会話に加わるには、ログインしてください", + "authentication_code": "認証コード", + "enter_recovery_code": "リカバリーコードを入力してください", + "enter_two_factor_code": "2段階認証コードを入力してください", + "recovery_code": "リカバリーコード", + "heading" : { + "totp" : "2段階認証", + "recovery" : "2段階リカバリー" + } }, "media_modal": { "previous": "前", @@ -79,6 +91,20 @@ "repeated_you": "あなたのステータスがリピートされました", "no_more_notifications": "通知はありません" }, + "polls": { + "add_poll": "投票を追加", + "add_option": "選択肢を追加", + "option": "選択肢", + "votes": "票", + "vote": "投票", + "type": "投票の形式", + "single_choice": "択一式", + "multiple_choices": "複数選択式", + "expiry": "投票期間", + "expires_in": "投票は {0} で終了します", + "expired": "投票は {0} 前に終了しました", + "not_enough_options": "相異なる選択肢が不足しています" + }, "interactions": { "favs_repeats": "リピートとお気に入り", "follows": "新しいフォロワー", @@ -139,6 +165,29 @@ }, "settings": { "app_name": "アプリの名称", + "security": "セキュリティ", + "enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください", + "mfa": { + "otp" : "OTP", + "setup_otp" : "OTPのセットアップ", + "wait_pre_setup_otp" : "OTPのプリセット", + "confirm_and_enable" : "OTPの確認と有効化", + "title": "2段階認証", + "generate_new_recovery_codes" : "新しいリカバリーコードを生成", + "warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。", + "recovery_codes" : "リカバリーコード。", + "waiting_a_recovery_codes": "バックアップコードを受信しています...", + "recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。", + "authentication_methods" : "認証方法", + "scan": { + "title": "スキャン", + "desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:", + "secret_code": "キー" + }, + "verify": { + "desc": "2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:" + } + }, "attachmentRadius": "ファイル", "attachments": "ファイル", "autoload": "下にスクロールしたとき、自動的に読み込む。", From 1727c815f8bb9651a687d4329c4e7e13b7f1983d Mon Sep 17 00:00:00 2001 From: taehoon Date: Thu, 11 Jul 2019 08:30:35 -0400 Subject: [PATCH 06/24] install v-tooltip --- package.json | 3 ++- src/main.js | 2 ++ yarn.lock | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 25bc419c28..f1fdaf4995 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "portal-vue": "^2.1.4", "sanitize-html": "^1.13.0", "v-click-outside": "^2.1.1", + "v-tooltip": "^2.0.2", "vue": "^2.5.13", "vue-chat-scroll": "^1.2.1", "vue-i18n": "^7.3.2", @@ -81,8 +82,8 @@ "json-loader": "^0.5.4", "karma": "^3.0.0", "karma-coverage": "^1.1.1", - "karma-mocha": "^1.2.0", "karma-firefox-launcher": "^1.1.0", + "karma-mocha": "^1.2.0", "karma-sinon-chai": "^2.0.2", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.26", diff --git a/src/main.js b/src/main.js index 3287fa2b88..b3256e8ed7 100644 --- a/src/main.js +++ b/src/main.js @@ -26,6 +26,7 @@ import messages from './i18n/messages.js' import VueChatScroll from 'vue-chat-scroll' import VueClickOutside from 'v-click-outside' import PortalVue from 'portal-vue' +import VTooltip from 'v-tooltip' import afterStoreSetup from './boot/after_store.js' @@ -37,6 +38,7 @@ Vue.use(VueI18n) Vue.use(VueChatScroll) Vue.use(VueClickOutside) Vue.use(PortalVue) +Vue.use(VTooltip) const i18n = new VueI18n({ // By default, use the browser locale, we will update it if neccessary diff --git a/yarn.lock b/yarn.lock index 5a84499ec2..2656ef3d5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5463,6 +5463,11 @@ popper.js@^1.14.7: version "1.14.7" resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.7.tgz#e31ec06cfac6a97a53280c3e55e4e0c860e7738e" +popper.js@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" + integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== + portal-vue@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/portal-vue/-/portal-vue-2.1.4.tgz#1fc679d77e294dc8d026f1eb84aa467de11b392e" @@ -7198,6 +7203,15 @@ v-click-outside@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/v-click-outside/-/v-click-outside-2.1.3.tgz#b7297abe833a439dc0895e6418a494381e64b5e7" +v-tooltip@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/v-tooltip/-/v-tooltip-2.0.2.tgz#8610d9eece2cc44fd66c12ef2f12eec6435cab9b" + integrity sha512-xQ+qzOFfywkLdjHknRPgMMupQNS8yJtf9Utd5Dxiu/0n4HtrxqsgDtN2MLZ0LKbburtSAQgyypuE/snM8bBZhw== + dependencies: + lodash "^4.17.11" + popper.js "^1.15.0" + vue-resize "^0.4.5" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -7278,6 +7292,11 @@ vue-popperjs@^2.0.3: dependencies: popper.js "^1.14.7" +vue-resize@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/vue-resize/-/vue-resize-0.4.5.tgz#4777a23042e3c05620d9cbda01c0b3cc5e32dcea" + integrity sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg== + vue-router@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.2.tgz#dedc67afe6c4e2bc25682c8b1c2a8c0d7c7e56be" From 005815c8259e3ccbc1fdd9c4d352aa4053d187c4 Mon Sep 17 00:00:00 2001 From: taehoon Date: Thu, 11 Jul 2019 08:31:02 -0400 Subject: [PATCH 07/24] rewrite ExtraButtons using v-tooltip --- src/components/extra_buttons/extra_buttons.js | 24 ------------- .../extra_buttons/extra_buttons.vue | 35 +++++++------------ src/components/status/status.vue | 2 +- 3 files changed, 13 insertions(+), 48 deletions(-) diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js index 528da301f8..2ec7272947 100644 --- a/src/components/extra_buttons/extra_buttons.js +++ b/src/components/extra_buttons/extra_buttons.js @@ -1,45 +1,21 @@ -import Popper from 'vue-popperjs/src/component/popper.js.vue' - const ExtraButtons = { props: [ 'status' ], - components: { - Popper - }, - data () { - return { - showDropDown: false, - showPopper: true - } - }, methods: { deleteStatus () { - this.refreshPopper() const confirmed = window.confirm(this.$t('status.delete_confirm')) if (confirmed) { this.$store.dispatch('deleteStatus', { id: this.status.id }) } }, - toggleMenu () { - this.showDropDown = !this.showDropDown - }, pinStatus () { - this.refreshPopper() this.$store.dispatch('pinStatus', this.status.id) .then(() => this.$emit('onSuccess')) .catch(err => this.$emit('onError', err.error.error)) }, unpinStatus () { - this.refreshPopper() this.$store.dispatch('unpinStatus', this.status.id) .then(() => this.$emit('onSuccess')) .catch(err => this.$emit('onError', err.error.error)) - }, - refreshPopper () { - this.showPopper = false - this.showDropDown = false - setTimeout(() => { - this.showPopper = true - }) } }, computed: { diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index 8e24e9a530..d5fc82acba 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -1,23 +1,16 @@ @@ -59,7 +47,8 @@ .icon-ellipsis { cursor: pointer; - &:hover, &.icon-clicked { + &:hover, + .extra-button-popover.open & { color: $fallback--text; color: var(--text, $fallback--text); } diff --git a/src/components/status/status.vue b/src/components/status/status.vue index b825d17d47..e9fe0700ea 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -824,7 +824,7 @@ $status-margin: 0.75em; display: flex; margin-top: $status-margin; - div, favorite-button { + > * { max-width: 4em; flex: 1; } From b9c547828e082970f8ad3fb72f81e38b738a6d0c Mon Sep 17 00:00:00 2001 From: taehoon Date: Thu, 11 Jul 2019 08:32:57 -0400 Subject: [PATCH 08/24] make popover position for status action dropdow relative to parent node --- src/components/extra_buttons/extra_buttons.vue | 1 + src/components/status/status.vue | 1 + 2 files changed, 2 insertions(+) diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index d5fc82acba..73f3d936a6 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -3,6 +3,7 @@ v-if="enabled" trigger="click" class="extra-button-popover" + :container="false" >