logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
commit: 320418d524a33c20d7d769c8d67a25be81f251ec
parent a39866308cd7c8cb0d30a04a5215d1fae8bf8d47
Author: Shpuld Shpludson <shp@cock.li>
Date:   Mon, 18 Jan 2021 13:44:31 +0000

Merge branch 'rc/2.2.3' into 'master'

rc 2.2.3 to MASTER

See merge request pleroma/pleroma-fe!1328

Diffstat:

MCHANGELOG.md12++++++++++++
Mpackage.json3++-
Msrc/components/account_actions/account_actions.js2+-
Msrc/components/extra_buttons/extra_buttons.js9+++++++--
Msrc/components/extra_buttons/extra_buttons.vue10++++++++++
Msrc/components/interface_language_switcher/interface_language_switcher.vue3++-
Msrc/components/status/status.js1+
Msrc/components/user_reporting_modal/user_reporting_modal.js10++++++++--
Msrc/hocs/with_load_more/with_load_more.js16++++++++++------
Msrc/i18n/eo.json14+++++++++-----
Msrc/i18n/es.json16+++++++++++-----
Msrc/i18n/it.json30++++++++++++++++++------------
Msrc/i18n/messages.js3++-
Msrc/i18n/pl.json23++++++++++++++++-------
Msrc/i18n/ru.json44+++++++++++++++++++++++++++++++++++---------
Msrc/i18n/uk.json98+++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
Msrc/i18n/zh.json120+++++++++++++++++++++++++++++++++++++++++++------------------------------------
Msrc/i18n/zh_Hant.json8+++++---
Msrc/modules/instance.js4++--
Msrc/modules/reports.js16++++++++++++----
Msrc/services/entity_normalizer/entity_normalizer.service.js13+++++++++++++
Mtest/unit/specs/services/entity_normalizer/entity_normalizer.spec.js6++++++
Myarn.lock463++++++++++++++++++++++++++++++-------------------------------------------------
23 files changed, 491 insertions(+), 433 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [2.2.3] - 2021-01-18 +### Added +- Added Report button to status ellipsis menu for easier reporting + +### Fixed +- Follows/Followers tabs on user profiles now display the content properly. +- Handle punycode in screen names + +### Changed +- Don't filter own posts when they hit your wordfilter + + ## [2.2.2] - 2020-12-22 ### Added - Mouseover titles for emojis in reaction picker diff --git a/package.json b/package.json @@ -31,6 +31,7 @@ "parse-link-header": "^1.0.1", "phoenix": "^1.3.0", "portal-vue": "^2.1.4", + "punycode.js": "^2.1.0", "v-click-outside": "^2.1.1", "vue": "^2.6.11", "vue-chat-scroll": "^1.2.1", @@ -55,7 +56,7 @@ "babel-plugin-lodash": "^3.3.4", "chai": "^3.5.0", "chalk": "^1.1.3", - "chromedriver": "^2.21.2", + "chromedriver": "^87.0.1", "connect-history-api-fallback": "^1.1.0", "cross-spawn": "^4.0.2", "css-loader": "^0.28.0", diff --git a/src/components/account_actions/account_actions.js b/src/components/account_actions/account_actions.js @@ -35,7 +35,7 @@ const AccountActions = { this.$store.dispatch('unblockUser', this.user.id) }, reportUser () { - this.$store.dispatch('openUserReportingModal', this.user.id) + this.$store.dispatch('openUserReportingModal', { userId: this.user.id }) }, openChat () { this.$router.push({ diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js @@ -9,7 +9,8 @@ import { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons' import { - faBookmark as faBookmarkReg + faBookmark as faBookmarkReg, + faFlag } from '@fortawesome/free-regular-svg-icons' library.add( @@ -19,7 +20,8 @@ library.add( faEyeSlash, faThumbtack, faShareAlt, - faExternalLinkAlt + faExternalLinkAlt, + faFlag ) const ExtraButtons = { @@ -66,6 +68,9 @@ const ExtraButtons = { this.$store.dispatch('unbookmark', { id: this.status.id }) .then(() => this.$emit('onSuccess')) .catch(err => this.$emit('onError', err.error.error)) + }, + reportStatus () { + this.$store.dispatch('openUserReportingModal', { userId: this.status.user.id, statusIds: [this.status.id] }) } }, computed: { diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue @@ -109,6 +109,16 @@ icon="external-link-alt" /><span>{{ $t("status.external_source") }}</span> </a> + <button + class="button-default dropdown-item dropdown-item-icon" + @click.prevent="reportStatus" + @click="close" + > + <FAIcon + fixed-width + :icon="['far', 'flag']" + /><span>{{ $t("user_card.report") }}</span> + </button> </div> </div> <span diff --git a/src/components/interface_language_switcher/interface_language_switcher.vue b/src/components/interface_language_switcher/interface_language_switcher.vue @@ -63,7 +63,8 @@ export default { const specialLanguageNames = { 'ja': 'Japanese (日本語)', 'ja_easy': 'Japanese (やさしいにほんご)', - 'zh': 'Chinese (简体中文)' + 'zh': 'Simplified Chinese (简体中文)', + 'zh_Hant': 'Traditional Chinese (繁體中文)' } return specialLanguageNames[code] || ISO6391.getName(code) } diff --git a/src/components/status/status.js b/src/components/status/status.js @@ -157,6 +157,7 @@ const Status = { return muteWordHits(this.status, this.muteWords) }, muted () { + if (this.statusoid.user.id === this.currentUser.id) return false const { status } = this const { reblog } = status const relationship = this.$store.getters.relationship(status.user.id) diff --git a/src/components/user_reporting_modal/user_reporting_modal.js b/src/components/user_reporting_modal/user_reporting_modal.js @@ -38,17 +38,23 @@ const UserReportingModal = { }, statuses () { return this.$store.state.reports.statuses + }, + preTickedIds () { + return this.$store.state.reports.preTickedIds } }, watch: { - userId: 'resetState' + userId: 'resetState', + preTickedIds (newValue) { + this.statusIdsToReport = newValue + } }, methods: { resetState () { // Reset state this.comment = '' this.forward = false - this.statusIdsToReport = [] + this.statusIdsToReport = this.preTickedIds this.processing = false this.error = false }, diff --git a/src/hocs/with_load_more/with_load_more.js b/src/hocs/with_load_more/with_load_more.js @@ -29,12 +29,8 @@ const withLoadMore = ({ return { loading: false, bottomedOut: false, - error: false - } - }, - computed: { - entries () { - return select(this.$props, this.$store) || [] + error: false, + entries: [] } }, created () { @@ -48,6 +44,11 @@ const withLoadMore = ({ destroy && destroy(this.$props, this.$store) }, methods: { + // Entries is not a computed because computed can't track the dynamic + // selector for changes and won't trigger after fetch. + updateEntries () { + this.entries = select(this.$props, this.$store) || [] + }, fetchEntries () { if (!this.loading) { this.loading = true @@ -61,6 +62,9 @@ const withLoadMore = ({ this.loading = false this.error = true }) + .finally(() => { + this.updateEntries() + }) } }, scrollLoad (e) { diff --git a/src/i18n/eo.json b/src/i18n/eo.json @@ -10,7 +10,8 @@ "text_limit": "Limo de teksto", "title": "Funkcioj", "who_to_follow": "Kiun aboni", - "pleroma_chat_messages": "Babilejo de Pleroma" + "pleroma_chat_messages": "Babilejo de Pleroma", + "upload_limit": "Limo de alŝutoj" }, "finder": { "error_fetching_user": "Eraris alporto de uzanto", @@ -95,7 +96,8 @@ "no_more_notifications": "Neniuj pliaj sciigoj", "reacted_with": "reagis per {0}", "migrated_to": "migris al", - "follow_request": "volas vin aboni" + "follow_request": "volas vin aboni", + "error": "Eraris akirado de sciigoj: {0}" }, "post_status": { "new_status": "Afiŝi novan staton", @@ -235,7 +237,7 @@ "hide_followers_description": "Ne montri kiu min sekvas", "show_admin_badge": "Montri la insignon de administranto en mia profilo", "show_moderator_badge": "Montri la insignon de reguligisto en mia profilo", - "nsfw_clickthrough": "Ŝalti traklakan kaŝadon de konsternaj kunsendaĵoj", + "nsfw_clickthrough": "Ŝalti traklakan kaŝadon de kunsendaĵoj kaj antaŭmontroj de ligiloj por konsternaj statoj", "oauth_tokens": "Ĵetonoj de OAuth", "token": "Ĵetono", "refresh_token": "Ĵetono de aktualigo", @@ -527,7 +529,8 @@ "up_to_date": "Ĝisdata", "no_more_statuses": "Neniuj pliaj statoj", "no_statuses": "Neniuj statoj", - "reload": "Enlegi ree" + "reload": "Enlegi ree", + "error": "Eraris akirado de historio: {0}" }, "user_card": { "approve": "Aprobi", @@ -728,7 +731,8 @@ "delete": "Forigi staton", "repeats": "Ripetoj", "favorites": "Ŝatoj", - "status_deleted": "Ĉi tiu afiŝo foriĝis" + "status_deleted": "Ĉi tiu afiŝo foriĝis", + "nsfw": "Konsterna" }, "time": { "years_short": "{0}j", diff --git a/src/i18n/es.json b/src/i18n/es.json @@ -14,7 +14,8 @@ "text_limit": "Límite de caracteres", "title": "Características", "who_to_follow": "A quién seguir", - "pleroma_chat_messages": "Chat de Pleroma" + "pleroma_chat_messages": "Chat de Pleroma", + "upload_limit": "Límite de subida" }, "finder": { "error_fetching_user": "Error al buscar usuario", @@ -448,7 +449,8 @@ "underlay": "Subrayado", "popover": "Sugerencias, menús, superposiciones", "post": "Publicaciones/Biografías de Usuarios", - "alert_warning": "Precaución" + "alert_warning": "Precaución", + "wallpaper": "Fondo de pantalla" }, "radii": { "_tab_label": "Redondez" @@ -559,7 +561,8 @@ "mute_import_error": "Error al importar los silenciados", "mute_import": "Importar silenciados", "mute_export_button": "Exportar los silenciados a un archivo csv", - "mute_export": "Exportar silenciados" + "mute_export": "Exportar silenciados", + "hide_wallpaper": "Ocultar el fondo de pantalla de la instancia" }, "time": { "day": "{0} día", @@ -632,7 +635,9 @@ "bookmark": "Marcar", "unbookmark": "Desmarcar", "status_deleted": "Esta entrada ha sido eliminada", - "nsfw": "NSFW (No apropiado para el trabajo)" + "nsfw": "NSFW (No apropiado para el trabajo)", + "expand": "Expandir", + "external_source": "Fuente externa" }, "user_card": { "approve": "Aprobar", @@ -723,7 +728,8 @@ "error": { "base": "Subida fallida.", "file_too_big": "Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "default": "Inténtalo más tarde" + "default": "Inténtalo más tarde", + "message": "Error de subida: {0}" }, "file_size_units": { "B": "B", diff --git a/src/i18n/it.json b/src/i18n/it.json @@ -263,7 +263,8 @@ "border": "Bordo", "outgoing": "Inviati", "incoming": "Ricevuti" - } + }, + "wallpaper": "Sfondo" }, "common_colors": { "rgbo": "Icone, accenti, medaglie", @@ -382,7 +383,7 @@ "preload_images": "Precarica immagini", "hide_isp": "Nascondi pannello della stanza", "max_thumbnails": "Numero massimo di anteprime per messaggio", - "hide_muted_posts": "Nascondi messaggi degli utenti zittiti", + "hide_muted_posts": "Nascondi messaggi degli utenti zilenziati", "accent": "Accento", "emoji_reactions_on_timeline": "Mostra emoji di reazione sulle sequenze", "pad_emoji": "Affianca spazi agli emoji inseriti tramite selettore", @@ -415,7 +416,8 @@ "mute_import_error": "Errore nell'importazione", "mute_import": "Importa silenziati", "mute_export_button": "Esporta la tua lista di silenziati in un file CSV", - "mute_export": "Esporta silenziati" + "mute_export": "Esporta silenziati", + "hide_wallpaper": "Nascondi sfondo della stanza" }, "timeline": { "error_fetching": "Errore nell'aggiornamento", @@ -493,16 +495,17 @@ "features_panel": { "chat": "Chat", "gopher": "Gopher", - "media_proxy": "Proxy multimedia", + "media_proxy": "Proxy allegati", "scope_options": "Opzioni visibilità", "text_limit": "Lunghezza massima", "title": "Caratteristiche", "who_to_follow": "Chi seguire", - "pleroma_chat_messages": "Chiacchiere" + "pleroma_chat_messages": "Chiacchiere", + "upload_limit": "Limite allegati" }, "finder": { "error_fetching_user": "Errore nel recupero dell'utente", - "find_user": "Trova utente" + "find_user": "Cerca utente" }, "login": { "login": "Accedi", @@ -608,13 +611,13 @@ "ftl_removal_desc": "Questa stanza rimuove le seguenti dalla sequenza globale:", "media_removal": "Rimozione multimedia", "media_removal_desc": "Questa istanza rimuove gli allegati dalle seguenti stanze:", - "media_nsfw": "Allegati oscurati forzatamente", + "media_nsfw": "Allegati oscurati d'ufficio", "media_nsfw_desc": "Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:" }, "mrf_policies": "Regole RM abilitate", "mrf_policies_desc": "Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:" }, - "staff": "Equipaggio" + "staff": "Responsabili" }, "domain_mute_card": { "mute": "Zittisci", @@ -695,18 +698,20 @@ "hide_full_subject": "Nascondi intero oggetto", "show_full_subject": "Mostra intero oggetto", "thread_muted_and_words": ", contiene:", - "thread_muted": "Discussione zittita", + "thread_muted": "Discussione silenziata", "copy_link": "Copia collegamento", "status_unavailable": "Messaggio non disponibile", "unmute_conversation": "Riabilita conversazione", - "mute_conversation": "Zittisci conversazione", + "mute_conversation": "Silenzia conversazione", "replies_list": "Risposte:", "reply_to": "Rispondi a", "delete_confirm": "Vuoi veramente eliminare questo messaggio?", "unbookmark": "Rimuovi segnalibro", "bookmark": "Aggiungi segnalibro", "status_deleted": "Questo messagio è stato cancellato", - "nsfw": "Pruriginoso" + "nsfw": "Pruriginoso", + "external_source": "Vai al sito", + "expand": "Espandi" }, "time": { "years_short": "{0}a", @@ -781,7 +786,8 @@ "error": { "default": "Riprova in seguito", "file_too_big": "File troppo pesante [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "base": "Caricamento fallito." + "base": "Caricamento fallito.", + "message": "Caricamento fallito: {0}" } }, "tool_tip": { diff --git a/src/i18n/messages.js b/src/i18n/messages.js @@ -34,7 +34,8 @@ const loaders = { ru: () => import('./ru.json'), te: () => import('./te.json'), uk: () => import('./uk.json'), - zh: () => import('./zh.json') + zh: () => import('./zh.json'), + zh_Hant: () => import('./zh_Hant.json') } const messages = { diff --git a/src/i18n/pl.json b/src/i18n/pl.json @@ -50,7 +50,8 @@ "text_limit": "Limit tekstu", "title": "Funkcje", "who_to_follow": "Propozycje obserwacji", - "pleroma_chat_messages": "Czat Pleromy" + "pleroma_chat_messages": "Czat Pleromy", + "upload_limit": "Limit wysyłania" }, "finder": { "error_fetching_user": "Błąd przy pobieraniu profilu", @@ -140,7 +141,8 @@ "no_more_notifications": "Nie masz więcej powiadomień", "migrated_to": "wyemigrował do", "reacted_with": "zareagował z {0}", - "follow_request": "chce ciebie obserwować" + "follow_request": "chce ciebie obserwować", + "error": "Błąd pobierania powiadomień: {0}" }, "polls": { "add_poll": "Dodaj ankietę", @@ -501,7 +503,8 @@ "outgoing": "Wiadomości wychodzące", "incoming": "Wiadomości przychodzące", "border": "Granica" - } + }, + "wallpaper": "Tło" }, "radii": { "_tab_label": "Zaokrąglenie" @@ -596,7 +599,8 @@ "mute_import_error": "Wystąpił błąd podczas importowania wyciszeń", "mute_import": "Import wyciszeń", "mute_export_button": "Wyeksportuj swoje wyciszenia do pliku .csv", - "mute_export": "Eksport wyciszeń" + "mute_export": "Eksport wyciszeń", + "hide_wallpaper": "Ukryj tło instancji" }, "time": { "day": "{0} dzień", @@ -643,7 +647,8 @@ "up_to_date": "Na bieżąco", "no_more_statuses": "Brak kolejnych statusów", "no_statuses": "Brak statusów", - "reload": "Odśwież" + "reload": "Odśwież", + "error": "Błąd pobierania osi czasu: {0}" }, "status": { "favorites": "Ulubione", @@ -667,7 +672,10 @@ "show_full_subject": "Pokaż cały temat", "thread_muted_and_words": ", ma słowa:", "thread_muted": "Wątek wyciszony", - "status_deleted": "Ten wpis został usunięty" + "status_deleted": "Ten wpis został usunięty", + "expand": "Rozwiń", + "nsfw": "NSFW", + "external_source": "Zewnętrzne źródło" }, "user_card": { "approve": "Przyjmij", @@ -758,7 +766,8 @@ "error": { "base": "Wysyłanie nie powiodło się.", "file_too_big": "Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "default": "Spróbuj ponownie później" + "default": "Spróbuj ponownie później", + "message": "Błąd wysyłania: {0}" }, "file_size_units": { "B": "B", diff --git a/src/i18n/ru.json b/src/i18n/ru.json @@ -40,7 +40,8 @@ "heading": { "TotpForm": "Двухфакторная аутентификация", "RecoveryForm": "Two-factor recovery", - "totp": "Двухфакторная аутентификация" + "totp": "Двухфакторная аутентификация", + "recovery": "Двухфакторное возвращение аккаунта" }, "hint": "Войдите чтобы присоединиться к дискуссии", "description": "Войти с помощью OAuth" @@ -62,10 +63,11 @@ "who_to_follow": "Кого читать", "dms": "Личные Сообщения", "administration": "Панель администратора", - "about": "О сервере" + "about": "О сервере", + "user_search": "Поиск пользователей" }, "notifications": { - "broken_favorite": "Неизвестный статус, ищем...", + "broken_favorite": "Неизвестный статус, ищем…", "favorited_you": "нравится ваш статус", "followed_you": "начал(а) читать вас", "load_older": "Загрузить старые уведомления", @@ -150,7 +152,7 @@ "generate_new_recovery_codes": "Получить новые коды востановления", "warning_of_generate_new_codes": "После получения новых кодов восстановления, старые больше не будут работать.", "recovery_codes": "Коды восстановления.", - "waiting_a_recovery_codes": "Получение кодов восстановления ...", + "waiting_a_recovery_codes": "Получение кодов восстановления…", "recovery_codes_warning": "Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.", "authentication_methods": "Методы аутентификации", "scan": { @@ -289,7 +291,11 @@ "save_load_hint": "Опции \"оставить...\" позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.", "reset": "Сбросить", "clear_all": "Очистить всё", - "clear_opacity": "Очистить прозрачность" + "clear_opacity": "Очистить прозрачность", + "use_source": "Новая версия", + "use_snapshot": "Старая версия", + "keep_as_is": "Оставить, как есть", + "load_theme": "Загрузить тему" }, "common": { "color": "Цвет", @@ -442,7 +448,10 @@ "notification_setting_block_from_strangers": "Не показывать уведомления от пользователей которых вы не читаете", "notification_setting_filters": "Фильтрация", "notifications": "Уведомления", - "virtual_scrolling": "Оптимизировать рендеринг ленты" + "virtual_scrolling": "Оптимизировать рендеринг ленты", + "hide_wallpaper": "Скрыть обои узла", + "accent": "Акцент", + "upload_a_photo": "Загрузить фото" }, "timeline": { "collapse": "Свернуть", @@ -452,7 +461,8 @@ "no_retweet_hint": "Пост помечен как \"только для подписчиков\" или \"личное\" и поэтому не может быть повторён", "repeated": "повторил(а)", "show_new": "Показать новые", - "up_to_date": "Обновлено" + "up_to_date": "Обновлено", + "error": "Ошибка при обновлении ленты: {0}" }, "status": { "bookmark": "В закладки", @@ -460,7 +470,10 @@ "status_deleted": "Пост удален", "reply_to": "Ответ", "repeats": "Повторы", - "favorites": "Понравилось" + "favorites": "Понравилось", + "unmute_conversation": "Прекратить игнорировать разговор", + "mute_conversation": "Игнорировать разговор", + "thread_muted": "Разговор игнорируется" }, "user_card": { "block": "Заблокировать", @@ -473,7 +486,7 @@ "follow_unfollow": "Перестать читать", "followees": "Читаемые", "followers": "Читатели", - "following": "Читаю!", + "following": "Читаете!", "follows_you": "Читает вас!", "mute": "Игнорировать", "muted": "Игнорирую", @@ -648,5 +661,18 @@ "hour": "{0} час", "day_short": "{0}д", "days": "{0} дней" + }, + "chats": { + "empty_chat_list_placeholder": "У вас пока нет бесед. Начните одну!", + "delete_confirm": "Вы точно хотите удалить сообщение?", + "empty_message_error": "Нельзя отправить пустое сообщение", + "new": "Новая беседа", + "chats": "Беседы", + "delete": "Удалить", + "message_user": "Напишите {nickname}", + "you": "Вы:" + }, + "remote_user_resolver": { + "error": "Не найдено." } } diff --git a/src/i18n/uk.json b/src/i18n/uk.json @@ -25,13 +25,14 @@ }, "features_panel": { "gopher": "Gopher", - "pleroma_chat_messages": "Чат Pleroma", - "chat": "Чат", + "pleroma_chat_messages": "Локальні балачки", + "chat": "Міні-чат", "who_to_follow": "Кого відстежувати", "title": "Особливості", "scope_options": "Параметри осягу", "media_proxy": "Посередник медіа-даних", - "text_limit": "Ліміт символів" + "text_limit": "Ліміт символів", + "upload_limit": "Обмеження завантажень" }, "exporter": { "processing": "Опрацьовую, скоро ви зможете завантажити файл", @@ -39,7 +40,7 @@ }, "domain_mute_card": { "unmute_progress": "Вимикаю…", - "unmute": "Вимкнути ігнорування", + "unmute": "Вимкнути заглушення", "mute_progress": "Вмикаю…", "mute": "Ігнорувати" }, @@ -193,7 +194,7 @@ "interactions": { "load_older": "Завантажити давніші взаємодії", "follows": "Нові підписки", - "favs_repeats": "Повтори та вподобайки", + "favs_repeats": "Поширення та вподобайки", "moves": "Міграції користувачів" }, "errors": { @@ -215,11 +216,11 @@ "text/bbcode": "BBCode", "text/markdown": "Markdown", "text/html": "HTML", - "text/plain": "Простий текст" + "text/plain": "Текстові дані" }, "attachments_sensitive": "Позначити вкладення як чутливі", "account_not_locked_warning_link": "замкнена", - "account_not_locked_warning": "Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для відстежувачів.", + "account_not_locked_warning": "Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для підписників.", "new_status": "Створити допис", "direct_warning_to_first_only": "Цей допис побачать лише користувачі, що були згадані на початку повідомлення.", "direct_warning_to_all": "Цей допис побачать всі згадані користувачі.", @@ -230,7 +231,7 @@ "empty_status_error": "Не можу опублікувати пустий статус без вкладень", "scope": { "unlisted": "Непублічний - цей допис буде відсутній у публічних стрічках", - "public": "Піблічний - цей допис побачать усі", + "public": "Публічний - цей допис побачать усі", "private": "Для читачів - цей допис побачать лише ваші читачі", "direct": "Приватний - цей допис побачать лише згадані користувачі" }, @@ -338,7 +339,7 @@ "security": "Безпека", "domain_mutes": "Домени", "discoverable": "Дозволити виявлення цього облікового запису в результатах пошуку та інших службах", - "mutes_and_blocks": "Заглушені та блоковані", + "mutes_and_blocks": "Заглушення та блокування", "changed_email": "Email успішно змінено!", "change_email_error": "Сталася помилка під час зміни email.", "change_email": "Змінити email", @@ -384,7 +385,7 @@ "user_mutes": "Користувачі", "no_mutes": "Заглушені відсутні", "emoji_reactions_on_timeline": "Показувати реакції емоджі на стрічці", - "pad_emoji": "Додавати простір з обидвох сторін емоджі, при додаванні з панелі", + "pad_emoji": "Автоматично додавати простір з обидвох сторін емоджі", "allow_following_move": "Дозволити автостеження при переміщенні на інший інстанс", "set_new_profile_background": "Встановити нову обкладинку профілю", "radii_help": "Радіус заокруглення кутів інтерфейсу (в пікселях)", @@ -439,7 +440,7 @@ }, "keep_as_is": "Залишити як є", "clear_opacity": "Очистити прозорість", - "save_load_hint": "Параметри \"Зберегти\" зберігають встановлені на даний момент параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все." + "save_load_hint": "Параметри \"Зберегти\" зберігають поточні параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все." }, "common": { "color": "Колір", @@ -479,10 +480,11 @@ "panelHeader": "Заголовок панелі", "avatarStatus": "Аватар користувача (в стрічці)", "avatar": "Аватар користувача (профіль)", - "buttonPressedHover": "Кнопка (натиснута + наведенний курсор)", + "buttonPressedHover": "Кнопка (натиснута + наведений курсор)", "buttonPressed": "Кнопка (натиснута)", "buttonHover": "Кнопка (при наведенні)", - "popup": "Спливаючі вікна та підказки" + "popup": "Спливаючі вікна та підказки", + "topBar": "Верхня панель" }, "component": "Компонент", "filter_hint": { @@ -497,7 +499,8 @@ "shadow_id": "Тінь №{value}", "override": "Перевизначити", "_tab_label": "Тінь і підсвічування", - "hintV3": "Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота." + "hintV3": "Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота.", + "spread": "Розмах" }, "fonts": { "components": { @@ -552,7 +555,7 @@ "_tab_label": "Загальні" }, "radii": { - "_tab_label": "Округлість" + "_tab_label": "Скруглення" } }, "enable_web_push_notifications": "Увімкнути web push-сповіщення", @@ -564,7 +567,7 @@ "reset_profile_background": "Скинути обкладинку профілю", "reset_avatar_confirm": "Ви дійсно хочете скинути аватар?", "reset_profile_banner": "Скинули банер профілю", - "hide_follows_count_description": "Не показувати на кого я підписаний", + "hide_follows_count_description": "Не показувати кількість підписників", "reset_banner_confirm": "Ви дійсно хочете скинути банер?", "reset_background_confirm": "Ви дійсно хочете скинути обкладинку?", "subject_line_behavior": "Вигляд теми при відповіді", @@ -575,14 +578,14 @@ "search_user_to_block": "Шукайте кого ви хочете заблокувати", "autohide_floating_post_button": "Автоматично ховати кнопку \"Новий допис\" (в мобільній версії)", "pause_on_unfocused": "Призупинити трансляцію, коли вкладка неактивна", - "hide_followers_count_description": "Не показувати кількість читачів", + "hide_followers_count_description": "Не показувати кількість моїх підписників", "notification_blocks": "Блокування користувача зупиняє всі сповіщення від нього, а також скасовує його відстеження.", "notification_setting_hide_notification_contents": "Ховати відправника та вміст push-сповіщень", "notification_setting_block_from_strangers": "Блокувати сповіщення від користувачів за якими ви не слідкуєте", "type_domains_to_mute": "Пошук доменів для заглушення", "nsfw_clickthrough": "Увімкнути приховування NSFW медіа", "greentext": "Мемний текст", - "virtual_scrolling": "Оптимізувати оновлення стрчки", + "virtual_scrolling": "Оптимізувати оновлення стрічки", "theme_help_v2_2": "Піктограми під деякими записами є показниками контрасту між фоном та текстом. Коли ви наведете на них курсор, ви отримаєте детальну інформацію. Пам'ятайте, якщо ви використовуєте прозорість, індикатори показують найгірший варіант.", "theme_help_v2_1": "Ви також можете замінити кольори та видимість окремих компонентів, перемикаючи прапорці, використовуйте \"Очистити все\", щоб видалити всі заміни.", "theme_help": "Використовувати шістнадцяткові коди кольору (#rrggbb) щоб редагувати тему.", @@ -611,7 +614,7 @@ }, "registration": { "validations": { - "password_confirmation_match": "пароль та підтвердження паролю мають співпадати", + "password_confirmation_match": "пароль та підтвердження паролю мають бути однаковими", "password_confirmation_required": "не може бути порожнім", "password_required": "не може бути порожнім", "email_required": "не може бути порожнім", @@ -642,13 +645,15 @@ "favorite": "Подобається", "reject_follow_request": "Відхилити запит на підписку", "accept_follow_request": "Прийняти запит на підписку", - "media_upload": "Завантажити медіа" + "media_upload": "Завантажити медіа", + "bookmark": "Додати до закладок" }, "upload": { "error": { "base": "Збій при завантаженні.", "file_too_big": "Файл завеликий [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "default": "Спробуйте ще раз пізніше" + "default": "Спробуйте ще раз пізніше", + "message": "Помилка завантаження: {0}" }, "file_size_units": { "TiB": "ТіБ", @@ -665,7 +670,7 @@ "year_short": "{0}р", "years": "{0} роки", "year": "{0} рік", - "weeks": "{0} тижднів", + "weeks": "{0} тижнів", "week": "{0} тиждень", "second_short": "{0}с", "second": "{0} секунда", @@ -695,7 +700,9 @@ "search": { "no_results": "Немає результатів", "hashtags": "Хештеги", - "people": "Люди" + "people": "Люди", + "people_talking": "{count} людей говорять про це", + "person_talking": "{count} особа говорить про це" }, "user_card": { "statuses": "Дописи", @@ -708,12 +715,21 @@ "admin_menu": { "activate_account": "Активувати обліковий запис", "deactivate_account": "Деактивувати обліковий запис", - "delete_account": "Видалити аккаунт", + "delete_account": "Видалити обліковий запис", "moderation": "Модерація", "delete_user_confirmation": "Ви абсолютно впевнені? Цю дію неможливо буде скасовувати.", "delete_user": "Видалити обліковий запис", "strip_media": "Вилучити медіа з дописів користувача", - "force_nsfw": "Позначити всі дописи як NSFW" + "force_nsfw": "Позначити всі дописи як NSFW", + "disable_any_subscription": "Взагалі заборонити підписку на користувача", + "disable_remote_subscription": "Заборонити підписуватись на користувачів з віддалених інстансів", + "sandbox": "Показувати дописи лише підписникам", + "force_unlisted": "Не показувати дописи в стрічці", + "revoke_moderator": "Позбавити прав модератора", + "grant_moderator": "Надати права модератора", + "revoke_admin": "Позбавити прав адміністратора", + "grant_admin": "Надати права адміністратора", + "quarantine": "Не розповсюджувати дописи на інших інстансах" }, "deny": "Відмовити", "block": "Заблокувати", @@ -724,7 +740,25 @@ "report": "Поскаржитись", "per_day": "на день", "favorites": "Вподобання", - "media": "Медіа" + "media": "Медіа", + "show_repeats": "Показати поширення", + "hide_repeats": "Приховати поширення", + "its_you": "Це ти!", + "follows_you": "Підписаний на вас!", + "followers": "Підписники", + "followees": "Підписаний(-а)", + "follow_progress": "Запитую…", + "mute_progress": "Глушимо…", + "unmute_progress": "Знімаємо глушення…", + "unmute": "Зняти глушення", + "hidden": "Приховано", + "following": "Підписаний!", + "block_progress": "Блокуємо…", + "unblock_progress": "Розблоковуємо…", + "unblock": "Розблокувати", + "remote_follow": "Підписатись", + "muted": "Заглушений", + "mute": "Заглушити" }, "status": { "copy_link": "Скопіювати посилання на допис", @@ -746,7 +780,12 @@ "bookmark": "Додати до закладок", "pinned": "Закріплено", "unpin": "Відкріпити від профілю", - "repeats": "Повтори" + "repeats": "Поширення", + "nsfw": "Дратівливий вміст", + "thread_muted": "Нитка заглушена", + "unmute_conversation": "Припинити глушити розмову", + "external_source": "Зовнішнє джерело", + "expand": "Розгорнути" }, "timeline": { "no_more_statuses": "Більше немає дописів", @@ -759,7 +798,7 @@ "conversation": "Розмова", "no_statuses": "Ніяких статусів", "repeated": "поширив(-ла)", - "no_retweet_hint": "Запис, позначено як \"тільки для відстежувачів\" або \"особисте\" і тому не може бути повторений" + "no_retweet_hint": "Запис, позначено як \"тільки для підписників\" або \"особисте\" і тому не може бути поширений" }, "user_reporting": { "submit": "Відправити", @@ -772,6 +811,7 @@ }, "user_profile": { "profile_loading_error": "Вибачте, під час завантаження цього профілю виникла помилка.", - "profile_does_not_exist": "Вибачте, цей профіль більше не існує." + "profile_does_not_exist": "Вибачте, цей профіль більше не існує.", + "timeline_title": "Стрічка користувача" } } diff --git a/src/i18n/zh.json b/src/i18n/zh.json @@ -14,7 +14,8 @@ "text_limit": "文字数量限制", "title": "功能", "who_to_follow": "推荐关注", - "pleroma_chat_messages": "Pleroma 聊天" + "pleroma_chat_messages": "Pleroma 聊天", + "upload_limit": "上传限制" }, "finder": { "error_fetching_user": "获取用户时发生错误", @@ -22,7 +23,7 @@ }, "general": { "apply": "应用", - "submit": "发送", + "submit": "提交", "more": "更多", "generic_error": "发生了一个错误", "optional": "可选", @@ -34,7 +35,7 @@ "confirm": "确认", "verify": "验证", "dismiss": "忽略", - "peek": "窥探", + "peek": "预览", "close": "关闭", "retry": "重试", "error_retry": "请重试", @@ -104,7 +105,8 @@ "no_more_notifications": "没有更多的通知", "reacted_with": "作出了 {0} 的反应", "migrated_to": "迁移到了", - "follow_request": "想要关注你" + "follow_request": "想要关注你", + "error": "取得通知时发生错误:{0}" }, "polls": { "add_poll": "增加投票", @@ -124,7 +126,7 @@ "add_sticker": "添加贴纸" }, "interactions": { - "favs_repeats": "转发和收藏", + "favs_repeats": "转发和喜欢", "follows": "新的关注者", "load_older": "加载更早的互动", "moves": "用户迁移" @@ -141,10 +143,10 @@ "text/bbcode": "BBCode" }, "content_warning": "主题(可选)", - "default": "刚刚抵达洛杉矶", + "default": "刚刚抵达上海。", "direct_warning_to_all": "本条内容只有被提及的用户能够看到。", "direct_warning_to_first_only": "本条内容只有被在消息开始处提及的用户能够看到。", - "posting": "发送", + "posting": "发送中", "scope_notice": { "public": "本条内容可以被所有人看到", "private": "关注你的人才能看到本条内容", @@ -227,13 +229,13 @@ "btnRadius": "按钮", "cBlue": "蓝色(回复,关注)", "cGreen": "绿色(转发)", - "cOrange": "橙色(收藏)", + "cOrange": "橙色(喜欢)", "cRed": "红色(取消)", "change_password": "修改密码", "change_password_error": "修改密码的时候出了点问题。", "changed_password": "成功修改了密码!", "collapse_subject": "折叠带主题的内容", - "composing": "正在书写", + "composing": "写作", "confirm_new_password": "确认新密码", "current_avatar": "当前头像", "current_password": "当前密码", @@ -244,7 +246,7 @@ "delete_account_description": "永久删除你的帐号和所有数据。", "delete_account_error": "删除账户时发生错误,如果一直删除不了,请联系实例管理员。", "delete_account_instructions": "在下面输入您的密码来确认删除账户。", - "avatar_size_instruction": "推荐的头像图片最小的尺寸是 150x150 像素。", + "avatar_size_instruction": "推荐的头像图片最小尺寸为 150x150 像素。", "export_theme": "导出预置主题", "filtering": "过滤器", "filtering_explanation": "所有包含以下词汇的内容都会被隐藏,一行一个", @@ -258,11 +260,11 @@ "hide_attachments_in_convo": "在对话中隐藏附件", "hide_attachments_in_tl": "在时间线上隐藏附件", "hide_muted_posts": "不显示被隐藏的用户的帖子", - "max_thumbnails": "最多再每个帖子所能显示的缩略图数量", + "max_thumbnails": "每个帖子最多能显示的缩略图数量", "hide_isp": "隐藏实例独有的面板", "preload_images": "预载图片", - "use_one_click_nsfw": "点击一次以打开工作场所不适宜的附件", - "hide_post_stats": "隐藏推文相关的统计数据(例如:收藏的次数)", + "use_one_click_nsfw": "点击一次以打开工作场所不适宜(NSFW)的附件", + "hide_post_stats": "隐藏帖子的统计数据(例如:喜欢的次数)", "hide_user_stats": "隐藏用户的统计数据(例如:关注者的数量)", "hide_filtered_statuses": "隐藏过滤的状态", "import_blocks_from_a_csv_file": "从 csv 文件中导入拉黑名单", @@ -296,9 +298,9 @@ "no_mutes": "没有隐藏", "hide_follows_description": "不要显示我所关注的人", "hide_followers_description": "不要显示关注我的人", - "show_admin_badge": "显示管理徽章", - "show_moderator_badge": "在我的个人资料中显示监察员标志", - "nsfw_clickthrough": "将不和谐附件隐藏,点击才能打开", + "show_admin_badge": "在我的个人资料中显示管理员徽章", + "show_moderator_badge": "在我的个人资料中显示监察员徽章", + "nsfw_clickthrough": "将不和谐附件和链接预览隐藏,点击才会显示", "oauth_tokens": "OAuth令牌", "token": "令牌", "refresh_token": "刷新令牌", @@ -307,7 +309,7 @@ "panelRadius": "面板", "pause_on_unfocused": "在离开页面时暂停时间线推送", "presets": "预置", - "profile_background": "个人资料背景图", + "profile_background": "个人背景图", "profile_banner": "横幅图片", "profile_tab": "个人资料", "radii_help": "设置界面边缘的圆角 (单位:像素)", @@ -321,7 +323,7 @@ "search_user_to_block": "搜索你想屏蔽的用户", "search_user_to_mute": "搜索你想要隐藏的用户", "security_tab": "安全", - "scope_copy": "回复时的复制范围(私信是总是复制的)", + "scope_copy": "回复时复制可见范围(私信中永远会复制)", "minimal_scopes_mode": "使发文可见范围的选项最少化", "set_new_avatar": "设置新头像", "set_new_profile_background": "设置新的个人资料背景", @@ -329,12 +331,12 @@ "settings": "设置", "subject_input_always_show": "总是显示主题框", "subject_line_behavior": "回复时复制主题", - "subject_line_email": "比如电邮: \"re: 主题\"", - "subject_line_mastodon": "比如 mastodon: copy as is", + "subject_line_email": "类似电子邮件: \"re: 主题\"", + "subject_line_mastodon": "类似 mastodon: 与原主题相同", "subject_line_noop": "不要复制", "post_status_content_type": "发文状态内容类型", "stop_gifs": "鼠标悬停时播放GIF", - "streaming": "开启滚动到顶部时的自动推送", + "streaming": "滚动到顶部时自动推送新内容", "text": "文本", "theme": "主题", "theme_help": "使用十六进制代码(#rrggbb)来设置主题颜色。", @@ -400,7 +402,7 @@ "_tab_label": "常规", "main": "常用颜色", "foreground_hint": "点击”高级“ 标签进行细致的控制", - "rgbo": "图标,口音,徽章" + "rgbo": "图标,强调,徽章" }, "advanced_colors": { "_tab_label": "高级", @@ -420,7 +422,7 @@ "incoming": "收到的" }, "disabled": "禁用的", - "pressed": "按下的", + "pressed": "压下的", "highlight": "强调元素", "selectedMenu": "选中的菜单项", "selectedPost": "选中的发布内容", @@ -432,7 +434,8 @@ "alert_warning": "警告", "tabs": "标签页", "underlay": "底衬", - "toggled": "勾选的" + "toggled": "按下的", + "wallpaper": "壁纸" }, "radii": { "_tab_label": "圆角" @@ -444,14 +447,14 @@ "shadow_id": "阴影 #{value}", "blur": "模糊", "spread": "扩散", - "inset": "插入内部", + "inset": "内阴影", "hint": "对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。", "filter_hint": { "always_drop_shadow": "警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。", "drop_shadow_syntax": "{0} 不支持参数 {1} 和关键词 {2} 。", "avatar_inset": "请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。", "spread_zero": "阴影的扩散 > 0 会同设置成零一样", - "inset_classic": "插入内部的阴影会使用 {0}" + "inset_classic": "内阴影会使用 {0}" }, "components": { "panel": "面板", @@ -459,13 +462,14 @@ "topBar": "顶栏", "avatar": "用户头像(在个人资料栏)", "avatarStatus": "用户头像(在帖子显示栏)", - "popup": "弹窗和工具提示", + "popup": "弹窗与工具提示", "button": "按钮", "buttonHover": "按钮(悬停)", - "buttonPressed": "按钮(按下)", - "buttonPressedHover": "按钮(按下和悬停)", + "buttonPressed": "按钮(压下)", + "buttonPressedHover": "按钮(压下和悬停)", "input": "输入框" - } + }, + "hintV3": "对于阴影,您还可以使用 {0} 表示法来使用其它颜色插槽。" }, "fonts": { "_tab_label": "字体", @@ -478,22 +482,22 @@ }, "family": "字体名称", "size": "大小 (in px)", - "weight": "字重 (粗体))", + "weight": "字重 (粗体)", "custom": "自选" }, "preview": { "header": "预览", "content": "内容", - "error": "例子错误", + "error": "错误示例", "button": "按钮", "text": "有堆 {0} 和 {1}", - "mono": "内容", - "input": "刚刚抵达上海", - "faint_link": "帮助菜单", + "mono": "monospace 内容", + "input": "刚刚抵达上海。", + "faint_link": "帮助手册", "fine_print": "阅读我们的 {0} ,然而什么也学不到!", "header_faint": "这很正常", - "checkbox": "我已经浏览了 TOC", - "link": "一个很棒的摇滚链接" + "checkbox": "我已经浏览了条款及细则", + "link": "一个棒棒的小小链接" } }, "version": { @@ -519,11 +523,11 @@ "type_domains_to_mute": "搜索需要隐藏的域名", "useStreamingApi": "实时接收帖子和通知", "user_mutes": "用户", - "reset_background_confirm": "您确定要重置个人资料背景图吗?", + "reset_background_confirm": "您确定要重置背景图吗?", "reset_banner_confirm": "您确定要重置横幅图片吗?", "reset_avatar_confirm": "您确定要重置头像吗?", "reset_profile_banner": "重置横幅图片", - "reset_profile_background": "重置个人资料背景图", + "reset_profile_background": "重置个人背景图", "reset_avatar": "重置头像", "hide_followers_count_description": "不显示关注者数量", "profile_fields": { @@ -547,7 +551,8 @@ "mute_import_error": "导入隐藏名单出错", "mute_import": "隐藏名单导入", "mute_export_button": "导出你的隐藏名单到一个 csv 文件", - "mute_export": "隐藏名单导出" + "mute_export": "隐藏名单导出", + "hide_wallpaper": "隐藏实例壁纸" }, "time": { "day": "{0} 天", @@ -588,16 +593,17 @@ "conversation": "对话", "error_fetching": "获取更新时发生错误", "load_older": "加载更早的状态", - "no_retweet_hint": "这条内容仅关注者可见,或者是私信,因此不能转发。", - "repeated": "已转发", + "no_retweet_hint": "这条内容仅关注者可见,或者是私信,因此不能转发", + "repeated": "转发了", "show_new": "显示新内容", "up_to_date": "已是最新", "no_more_statuses": "没有更多的状态", "no_statuses": "没有状态更新", - "reload": "重新载入" + "reload": "重新载入", + "error": "取得时间轴时发生错误:{0}" }, "status": { - "favorites": "收藏", + "favorites": "喜欢", "repeats": "转发", "delete": "删除状态", "pin": "在个人资料置顶", @@ -618,24 +624,27 @@ "unbookmark": "取消书签", "bookmark": "书签", "thread_muted_and_words": ",含有过滤词:", - "status_deleted": "该状态已被删除" + "status_deleted": "该状态已被删除", + "nsfw": "NSFW", + "external_source": "外部来源", + "expand": "展开" }, "user_card": { - "approve": "允许", + "approve": "核准", "block": "屏蔽", "blocked": "已屏蔽!", "deny": "拒绝", - "favorites": "收藏", + "favorites": "喜欢", "follow": "关注", "follow_sent": "请求已发送!", - "follow_progress": "请求中", + "follow_progress": "请求中…", "follow_again": "再次发送请求?", "follow_unfollow": "取消关注", "followees": "正在关注", "followers": "关注者", "following": "正在关注!", "follows_you": "关注了你!", - "its_you": "就是你!!", + "its_you": "就是你!", "media": "媒体", "mute": "隐藏", "muted": "已隐藏", @@ -652,7 +661,7 @@ "unmute_progress": "取消隐藏中…", "mute_progress": "隐藏中…", "admin_menu": { - "moderation": "权限", + "moderation": "仲裁", "grant_admin": "赋予管理权限", "revoke_admin": "撤销管理权限", "grant_moderator": "赋予监察员权限", @@ -685,7 +694,7 @@ "title": "报告 {0}", "add_comment_description": "此报告会发送给您的实例监察员。您可以在下面提供更多详细信息解释报告的缘由:", "additional_comments": "其它信息", - "forward_description": "这个账号是从另外一个服务器。同时发送一个副本到那里?", + "forward_description": "这个账号来自另一个服务器。是否同时发送一份报告副本到那里?", "forward_to": "转发 {0}", "submit": "提交", "generic_error": "当处理您的请求时,发生了一个错误。" @@ -695,10 +704,10 @@ "who_to_follow": "推荐关注" }, "tool_tip": { - "media_upload": "上传多媒体", + "media_upload": "上传媒体", "repeat": "转发", "reply": "回复", - "favorite": "收藏", + "favorite": "喜欢", "user_settings": "用户设置", "reject_follow_request": "拒绝关注请求", "add_reaction": "添加互动", @@ -709,7 +718,8 @@ "error": { "base": "上传不成功。", "file_too_big": "文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "default": "迟些再试" + "default": "迟些再试", + "message": "上传错误:{0}" }, "file_size_units": { "B": "B", @@ -772,7 +782,7 @@ "ftl_removal": "从“全部已知网络”时间线上移除" }, "mrf_policies_desc": "MRF 策略会影响本实例的互通行为。以下策略已启用:", - "mrf_policies": "已启动的 MRF 策略", + "mrf_policies": "已启用的 MRF 策略", "keyword": { "ftl_removal": "从“全部已知网络”时间线上移除", "keyword_policies": "关键词策略", diff --git a/src/i18n/zh_Hant.json b/src/i18n/zh_Hant.json @@ -35,7 +35,8 @@ "follow_request": "想要關注你", "followed_you": "關注了你", "favorited_you": "喜歡了你的發文", - "broken_favorite": "未知的狀態,正在搜索中…" + "broken_favorite": "未知的狀態,正在搜索中…", + "error": "獲取通知錯誤:{0}" }, "nav": { "chats": "聊天", @@ -121,7 +122,8 @@ "media_proxy": "媒體代理", "pleroma_chat_messages": "Pleroma 聊天", "chat": "聊天", - "gopher": "Gopher" + "gopher": "Gopher", + "upload_limit": "上傳限制" }, "exporter": { "processing": "正在處理,稍後會提示您下載文件", @@ -351,7 +353,7 @@ "reset_avatar": "重置頭像", "discoverable": "允許通過搜索檢索等服務找到此賬號", "delete_account_error": "刪除賬戶時發生錯誤,如果一直刪除不了,請聯繫實例管理員。", - "composing": "正在書寫", + "composing": "寫作設置", "chatMessageRadius": "聊天訊息", "mfa": { "confirm_and_enable": "確認並啟用OTP", diff --git a/src/modules/instance.js b/src/modules/instance.js @@ -127,7 +127,7 @@ const instance = { imageUrl: false, replacement: values[key] } - }).sort((a, b) => a.displayText - b.displayText) + }).sort((a, b) => a.name > b.name ? 1 : -1) commit('setInstanceOption', { name: 'emoji', value: emoji }) } else { throw (res) @@ -154,7 +154,7 @@ const instance = { } // Technically could use tags but those are kinda useless right now, // should have been "pack" field, that would be more useful - }).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : 0) + }).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : -1) commit('setInstanceOption', { name: 'customEmoji', value: emoji }) } else { throw (res) diff --git a/src/modules/reports.js b/src/modules/reports.js @@ -4,12 +4,14 @@ const reports = { state: { userId: null, statuses: [], + preTickedIds: [], modalActivated: false }, mutations: { - openUserReportingModal (state, { userId, statuses }) { + openUserReportingModal (state, { userId, statuses, preTickedIds }) { state.userId = userId state.statuses = statuses + state.preTickedIds = preTickedIds state.modalActivated = true }, closeUserReportingModal (state) { @@ -17,9 +19,15 @@ const reports = { } }, actions: { - openUserReportingModal ({ rootState, commit }, userId) { - const statuses = filter(rootState.statuses.allStatuses, status => status.user.id === userId) - commit('openUserReportingModal', { userId, statuses }) + openUserReportingModal ({ rootState, commit }, { userId, statusIds = [] }) { + const preTickedStatuses = statusIds.map(id => rootState.statuses.allStatusesObject[id]) + const preTickedIds = statusIds + const statuses = preTickedStatuses.concat( + filter(rootState.statuses.allStatuses, + status => status.user.id === userId && !preTickedIds.includes(status.id) + ) + ) + commit('openUserReportingModal', { userId, statuses, preTickedIds }) }, closeUserReportingModal ({ commit }) { commit('closeUserReportingModal') diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js @@ -1,6 +1,7 @@ import escape from 'escape-html' import parseLinkHeader from 'parse-link-header' import { isStatusNotification } from '../notification_utils/notification_utils.js' +import punycode from 'punycode.js' /** NOTICE! ** * Do not initialize UI-generated data here. @@ -197,6 +198,18 @@ export const parseUser = (data) => { output.rights = output.rights || {} output.notification_settings = output.notification_settings || {} + // Convert punycode to unicode + if (output.screen_name.includes('@')) { + const parts = output.screen_name.split('@') + let unicodeDomain = punycode.toUnicode(parts[1]) + if (unicodeDomain !== parts[1]) { + // Add some identifier so users can potentially spot spoofing attempts: + // lain.com and xn--lin-6cd.com would appear identical otherwise. + unicodeDomain = '🌏' + unicodeDomain + output.screen_name = [parts[0], unicodeDomain].join('@') + } + } + return output } diff --git a/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js b/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js @@ -311,6 +311,12 @@ describe('API Entities normalizer', () => { expect(parseUser(user)).to.have.property('hide_followers_count', false) expect(parseUser(user)).to.have.property('hide_follows_count', true) }) + + it('converts IDN to unicode and marks it as internatonal', () => { + const user = makeMockUserMasto({ acct: 'lain@xn--lin-6cd.com' }) + + expect(parseUser(user)).to.have.property('screen_name').that.equal('lain@🌏lаin.com') + }) }) // We currently use QvitterAPI notifications only, and especially due to MastoAPI lacking is_seen, support for MastoAPI diff --git a/yarn.lock b/yarn.lock @@ -951,6 +951,11 @@ remark "^12.0.0" unist-util-find-all-after "^3.0.1" +"@testim/chrome-version@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.7.tgz#0cd915785ec4190f08a3a6acc9b61fc38fb5f1a9" + integrity sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw== + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -961,6 +966,11 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= +"@types/node@*": + version "14.14.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.19.tgz#5135176a8330b88ece4e9ab1fdcfc0a545b4bab4" + integrity sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -976,6 +986,13 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== +"@types/yauzl@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + dependencies: + "@types/node" "*" + "@ungap/event-target@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@ungap/event-target/-/event-target-0.1.0.tgz#88d527d40de86c4b0c99a060ca241d755999915b" @@ -1182,6 +1199,21 @@ agent-base@2: extend "~3.0.0" semver "~5.0.1" +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1209,15 +1241,6 @@ ajv@^6.10.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.5.5: - version "6.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -1338,21 +1361,11 @@ array-slice@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" @@ -1383,16 +1396,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -1443,10 +1446,6 @@ async@^2.5.0: dependencies: lodash "^4.17.10" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -1475,13 +1474,12 @@ autoprefixer@^9.8.0: postcss "^7.0.32" postcss-value-parser "^4.1.0" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" +axios@^0.21.0: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" @@ -1675,12 +1673,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - dependencies: - tweetnacl "^0.14.3" - better-assert@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" @@ -1880,6 +1872,11 @@ buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" @@ -2042,10 +2039,6 @@ caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - ccount@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" @@ -2156,14 +2149,18 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" -chromedriver@^2.21.2: - version "2.45.0" - resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-2.45.0.tgz#8c1b158adbbd3e0ca3f7af19d459082245554378" - dependencies: - del "^3.0.0" - extract-zip "^1.6.7" - mkdirp "^0.5.1" - request "^2.88.0" +chromedriver@^87.0.1: + version "87.0.4" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-87.0.4.tgz#749f69e9427880abff19c1838258c35238397e50" + integrity sha512-kD4N/L8c0nAzh1eEAiAbEIq6Pn5TvGvckODvP5dPqF90q5tPiAJZCoWWSOUV/mrPxiodjHPfmNeOfGERHugzug== + dependencies: + "@testim/chrome-version" "^1.0.7" + axios "^0.21.0" + del "^6.0.0" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + mkdirp "^1.0.4" + proxy-from-env "^1.1.0" tcp-port-used "^1.0.1" cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: @@ -2198,6 +2195,11 @@ clean-css@4.2.x: dependencies: source-map "~0.6.0" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" @@ -2338,12 +2340,6 @@ combine-lists@^1.0.0: dependencies: lodash "^4.5.0" -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - dependencies: - delayed-stream "~1.0.0" - commander@2.17.x, commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -2378,7 +2374,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.6.2, concat-stream@^1.5.0: +concat-stream@^1.5.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: @@ -2480,7 +2476,7 @@ core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.0: version "2.6.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.2.tgz#267988d7268323b349e20b4588211655f0e83944" -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2698,12 +2694,6 @@ cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - data-uri-to-buffer@1: version "1.2.0" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" @@ -2746,6 +2736,13 @@ debug@2.6.8: dependencies: ms "2.0.0" +debug@4: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + debug@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" @@ -2837,20 +2834,19 @@ degenerator@~1.0.2: escodegen "1.x.x" esprima "3.x.x" -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" +del@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" delegates@^1.0.0: version "1.0.0" @@ -3010,13 +3006,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -3520,7 +3509,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.2: +extend@3, extend@^3.0.0, extend@~3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -3551,18 +3540,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-zip@^1.6.7: - version "1.6.7" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== dependencies: - concat-stream "1.6.2" - debug "2.6.9" - mkdirp "0.5.1" - yauzl "2.4.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" fast-deep-equal@^2.0.1: version "2.0.1" @@ -3604,9 +3591,10 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" @@ -3763,6 +3751,11 @@ follow-redirects@^1.0.0: dependencies: debug "=3.1.0" +follow-redirects@^1.10.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" + integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3773,18 +3766,6 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - formatio@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb" @@ -3890,6 +3871,13 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + get-uri@2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.2.tgz#5c795e71326f6ca1286f2fc82575cd2bab2af578" @@ -3905,12 +3893,6 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3970,7 +3952,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3: +glob@^7.0.0, glob@^7.1.1, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" dependencies: @@ -4028,16 +4010,6 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" @@ -4054,6 +4026,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -4072,17 +4049,6 @@ handlebars@^4.0.1: optionalDependencies: uglify-js "^3.1.4" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -4304,14 +4270,6 @@ http-proxy@^1.13.0, http-proxy@^1.16.2: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -4324,6 +4282,14 @@ https-proxy-agent@1: debug "2" extend "3" +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + iconv-lite@0.4.23, iconv-lite@^0.4.4: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" @@ -4717,21 +4683,15 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - dependencies: - is-path-inside "^1.0.0" +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - dependencies: - path-is-inside "^1.0.1" +is-path-inside@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" + integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" @@ -4787,7 +4747,7 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -4885,10 +4845,6 @@ isparta@4.x.x: source-map "^0.5.0" which "^1.0.9" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - istanbul@0.4.5, istanbul@^0.4.0: version "0.4.5" resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" @@ -4946,10 +4902,6 @@ js-yaml@~3.7.0: argparse "^1.0.7" esprima "^2.6.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -4975,18 +4927,10 @@ json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" @@ -5015,15 +4959,6 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - karma-coverage@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.2.tgz#cc09dceb589a83101aca5fe70c287645ef387689" @@ -5774,7 +5709,7 @@ mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" -mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19: +mime-types@~2.1.18: version "2.1.21" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" dependencies: @@ -5894,6 +5829,11 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@ dependencies: minimist "0.0.8" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + mkpath@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-1.0.0.tgz#ebb3a977e7af1c683ae6fda12b545a6ba6c5853d" @@ -5950,6 +5890,11 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" @@ -6202,10 +6147,6 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -6399,9 +6340,12 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" p-try@^1.0.0: version "1.0.0" @@ -6569,7 +6513,7 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" @@ -6624,10 +6568,6 @@ pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - phoenix@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/phoenix/-/phoenix-1.4.0.tgz#9cec8dbd8cbc59ecd2147bc09ca8ceb56b860d75" @@ -6641,10 +6581,6 @@ pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -7147,6 +7083,11 @@ proxy-agent@2.0.0: pac-proxy-agent "1" socks-proxy-agent "2" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -7155,10 +7096,6 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -psl@^1.1.24: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -7192,11 +7129,16 @@ pumpify@^1.3.3: inherits "^2.0.3" pump "^2.0.0" +punycode.js@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.1.0.tgz#f3937f7a914152c2dc17e9c280a2cf86a26b7cda" + integrity sha512-LvGUJ9QHiESLM4yn8JuJWicstRcJKRmP46psQw1HvCZ9puLFwYMKJWvkAkP3OHBVzNzZGx/D53EYJrIaKd9gZQ== + punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -7222,7 +7164,7 @@ qrcode@^1.3.0: pngjs "^3.3.0" yargs "^12.0.5" -qs@6.5.2, qs@~6.5.2: +qs@6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -7606,31 +7548,6 @@ replace-ext@1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= -request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -7713,12 +7630,19 @@ rfdc@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" -rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -7764,7 +7688,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -8148,20 +8072,6 @@ sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" -sshpk@^1.7.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -8647,13 +8557,6 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -8690,16 +8593,6 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -8995,14 +8888,6 @@ vendors@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vfile-location@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.0.1.tgz#d78677c3546de0f7cd977544c367266764d31bb3" @@ -9331,11 +9216,13 @@ yargs@^12.0.5: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: - fd-slicer "~1.0.1" + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" yeast@0.1.2: version "0.1.2"