diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 4a86051c42..2549202410 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
-# using RuboCop version 1.64.1.
+# using RuboCop version 1.65.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ -14,7 +14,7 @@ Lint/NonLocalExitFromIterator:
Metrics/AbcSize:
Max: 90
-# Configuration parameters: CountBlocks, Max.
+# Configuration parameters: CountBlocks, CountModifierForms, Max.
Metrics/BlockNesting:
Exclude:
- 'lib/tasks/mastodon.rake'
diff --git a/Gemfile.lock b/Gemfile.lock
index 2d085152e8..5c673a6282 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -180,7 +180,7 @@ GEM
css_parser (1.17.1)
addressable
csv (3.3.0)
- database_cleaner-active_record (2.1.0)
+ database_cleaner-active_record (2.2.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
@@ -590,8 +590,8 @@ GEM
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.5.6)
- pghero (3.5.0)
- activerecord (>= 6)
+ pghero (3.6.0)
+ activerecord (>= 6.1)
premailer (1.23.0)
addressable
css_parser (>= 1.12.0)
diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx
index dce48d7036..502dc8bee3 100644
--- a/app/javascript/mastodon/components/status.jsx
+++ b/app/javascript/mastodon/components/status.jsx
@@ -562,7 +562,7 @@ class Status extends ImmutablePureComponent {
{status.get('edited_at') && *}
-
+
{statusAvatar}
diff --git a/app/javascript/mastodon/components/status_content.jsx b/app/javascript/mastodon/components/status_content.jsx
index 82135b85ca..96452374dc 100644
--- a/app/javascript/mastodon/components/status_content.jsx
+++ b/app/javascript/mastodon/components/status_content.jsx
@@ -116,7 +116,7 @@ class StatusContent extends PureComponent {
if (mention) {
link.addEventListener('click', this.onMentionClick.bind(this, mention), false);
- link.removeAttribute('title');
+ link.setAttribute('title', `@${mention.get('acct')}`);
link.setAttribute('href', `/@${mention.get('acct')}`);
link.setAttribute('data-hover-card-account', mention.get('id'));
} else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
diff --git a/app/javascript/mastodon/features/notifications/components/notification.jsx b/app/javascript/mastodon/features/notifications/components/notification.jsx
index 272893042d..986628fdc8 100644
--- a/app/javascript/mastodon/features/notifications/components/notification.jsx
+++ b/app/javascript/mastodon/features/notifications/components/notification.jsx
@@ -435,7 +435,7 @@ class Notification extends ImmutablePureComponent {
const targetAccount = report.get('target_account');
const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') };
- const targetLink = ;
+ const targetLink = ;
return (
@@ -458,7 +458,7 @@ class Notification extends ImmutablePureComponent {
const { notification } = this.props;
const account = notification.get('account');
const displayNameHtml = { __html: account.get('display_name_html') };
- const link = ;
+ const link = ;
switch(notification.get('type')) {
case 'follow':
diff --git a/app/javascript/mastodon/features/ui/index.jsx b/app/javascript/mastodon/features/ui/index.jsx
index d41132f9ca..d9f609620c 100644
--- a/app/javascript/mastodon/features/ui/index.jsx
+++ b/app/javascript/mastodon/features/ui/index.jsx
@@ -25,7 +25,7 @@ import { clearHeight } from '../../actions/height_cache';
import { expandNotifications } from '../../actions/notifications';
import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server';
import { expandHomeTimeline } from '../../actions/timelines';
-import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding } from '../../initial_state';
+import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding, disableHoverCards } from '../../initial_state';
import BundleColumnError from './components/bundle_column_error';
import Header from './components/header';
@@ -588,7 +588,7 @@ class UI extends PureComponent {
{layout !== 'mobile' && }
-
+ {!disableHoverCards && }
diff --git a/app/javascript/mastodon/initial_state.js b/app/javascript/mastodon/initial_state.js
index 9ec3df0df8..60b35cb31a 100644
--- a/app/javascript/mastodon/initial_state.js
+++ b/app/javascript/mastodon/initial_state.js
@@ -15,6 +15,7 @@
* @property {boolean=} boost_modal
* @property {boolean=} delete_modal
* @property {boolean=} disable_swiping
+ * @property {boolean=} disable_hover_cards
* @property {string=} disabled_account_id
* @property {string} display_media
* @property {string} domain
@@ -86,6 +87,7 @@ export const autoPlayGif = getMeta('auto_play_gif');
export const boostModal = getMeta('boost_modal');
export const deleteModal = getMeta('delete_modal');
export const disableSwiping = getMeta('disable_swiping');
+export const disableHoverCards = getMeta('disable_hover_cards');
export const disabledAccountId = getMeta('disabled_account_id');
export const displayMedia = getMeta('display_media');
export const domain = getMeta('domain');
diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json
index 643725270c..df29fbd418 100644
--- a/app/javascript/mastodon/locales/be.json
+++ b/app/javascript/mastodon/locales/be.json
@@ -35,7 +35,9 @@
"account.follow_back": "Падпісацца ў адказ",
"account.followers": "Падпісчыкі",
"account.followers.empty": "Ніхто пакуль не падпісаны на гэтага карыстальніка.",
+ "account.followers_counter": "{count, plural, one {{counter} падпісчык} few {{counter} падпісчыкі} many {{counter} падпісчыкаў} other {{counter} падпісчыка}}",
"account.following": "Падпіскі",
+ "account.following_counter": "{count, plural, one {{counter} падпіска} few {{counter} падпіскі} many {{counter} падпісак} other {{counter} падпіскі}}",
"account.follows.empty": "Карыстальнік ні на каго не падпісаны.",
"account.go_to_profile": "Перайсці да профілю",
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
@@ -61,6 +63,7 @@
"account.requested_follow": "{name} адправіў запыт на падпіску",
"account.share": "Абагуліць профіль @{name}",
"account.show_reblogs": "Паказаць падштурхоўванні ад @{name}",
+ "account.statuses_counter": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"account.unblock": "Разблакіраваць @{name}",
"account.unblock_domain": "Разблакіраваць дамен {domain}",
"account.unblock_short": "Разблакіраваць",
@@ -412,6 +415,7 @@
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
"link_preview.author": "Ад {name}",
"link_preview.more_from_author": "Больш ад {name}",
+ "link_preview.shares": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"lists.account.add": "Дадаць да спісу",
"lists.account.remove": "Выдаліць са спісу",
"lists.delete": "Выдаліць спіс",
diff --git a/app/models/concerns/user/has_settings.rb b/app/models/concerns/user/has_settings.rb
index 53100cc097..b79726e38a 100644
--- a/app/models/concerns/user/has_settings.rb
+++ b/app/models/concerns/user/has_settings.rb
@@ -103,6 +103,10 @@ module User::HasSettings
settings['web.disable_swiping']
end
+ def setting_disable_hover_cards
+ settings['web.disable_hover_cards']
+ end
+
def setting_always_send_emails
settings['always_send_emails']
end
diff --git a/app/models/user_settings.rb b/app/models/user_settings.rb
index 886c5c9c4d..3b245a4e46 100644
--- a/app/models/user_settings.rb
+++ b/app/models/user_settings.rb
@@ -29,6 +29,7 @@ class UserSettings
setting :use_pending_items, default: false
setting :use_system_font, default: false
setting :disable_swiping, default: false
+ setting :disable_hover_cards, default: false
setting :delete_modal, default: true
setting :reblog_modal, default: false
setting :favourite_modal, default: false
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index fe6ab5e995..5bbb0fe4b4 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -39,6 +39,7 @@ class InitialStateSerializer < ActiveModel::Serializer
store[:expand_spoilers] = object_account_user.setting_expand_spoilers
store[:reduce_motion] = object_account_user.setting_reduce_motion
store[:disable_swiping] = object_account_user.setting_disable_swiping
+ store[:disable_hover_cards] = object_account_user.setting_disable_hover_cards
store[:advanced_layout] = object_account_user.setting_advanced_layout
store[:use_blurhash] = object_account_user.setting_use_blurhash
store[:use_pending_items] = object_account_user.setting_use_pending_items
diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml
index a5ad02a600..b0cd1cba09 100644
--- a/app/views/settings/preferences/appearance/show.html.haml
+++ b/app/views/settings/preferences/appearance/show.html.haml
@@ -48,6 +48,7 @@
= ff.input :'web.auto_play', wrapper: :with_label, recommended: true, label: I18n.t('simple_form.labels.defaults.setting_auto_play_gif')
= ff.input :'web.reduce_motion', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_reduce_motion')
= ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping')
+ = ff.input :'web.disable_hover_cards', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_hover_cards')
= ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui')
= ff.input :'web.use_system_emoji_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_emoji_font'), glitch_only: true
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 0719e26430..73a32cf2fd 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -211,6 +211,7 @@ da:
setting_default_privacy: Fortrolighed for indlæg
setting_default_sensitive: Markér altid medier som sensitive
setting_delete_modal: Vis bekræftelsesdialog før et indlæg slettes
+ setting_disable_hover_cards: Deaktivér profilforhåndsvisning ved svæv (hover)
setting_disable_swiping: Deaktivér strygebevægelser
setting_display_media: Medievisning
setting_display_media_default: Standard
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 7d39786697..5711d2a12a 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -211,6 +211,7 @@ de:
setting_default_privacy: Beitragssichtbarkeit
setting_default_sensitive: Medien immer mit einer Inhaltswarnung versehen
setting_delete_modal: Bestätigungsdialog beim Löschen eines Beitrags anzeigen
+ setting_disable_hover_cards: Profilvorschau deaktivieren, wenn die Maus über das Profil bewegt wird
setting_disable_swiping: Wischgesten deaktivieren
setting_display_media: Darstellung von Medien
setting_display_media_default: Standard
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index fdc9f61813..0313d4683e 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -211,6 +211,7 @@ en:
setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive
setting_delete_modal: Show confirmation dialog before deleting a post
+ setting_disable_hover_cards: Disable profile preview on hover
setting_disable_swiping: Disable swiping motions
setting_display_media: Media display
setting_display_media_default: Default
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
index e346a23a02..1d1ac87689 100644
--- a/config/locales/simple_form.es-AR.yml
+++ b/config/locales/simple_form.es-AR.yml
@@ -211,6 +211,7 @@ es-AR:
setting_default_privacy: Privacidad de mensajes
setting_default_sensitive: Siempre marcar medios como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de eliminar un mensaje
+ setting_disable_hover_cards: Deshabilitar previsualización del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización de medios
setting_display_media_default: Predeterminada
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index b3c8a857e8..19a1c9d0c0 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -211,6 +211,7 @@ es-MX:
setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de borrar un toot
+ setting_disable_hover_cards: Desactivar vista previa del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización multimedia
setting_display_media_default: Por defecto
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 2fb5cab987..cc71e19266 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -211,6 +211,7 @@ es:
setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de borrar una publicación
+ setting_disable_hover_cards: Desactivar vista previa del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización multimedia
setting_display_media_default: Por defecto
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index b0bc8c735b..214308ba5c 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -211,6 +211,7 @@ fi:
setting_default_privacy: Julkaisun näkyvyys
setting_default_sensitive: Merkitse media aina arkaluonteiseksi
setting_delete_modal: Kysy vahvistusta ennen julkaisun poistamista
+ setting_disable_hover_cards: Poista käytöstä profiilin esikatselu osoitettaessa
setting_disable_swiping: Poista pyyhkäisyeleet käytöstä
setting_display_media: Median näyttäminen
setting_display_media_default: Oletus
diff --git a/config/locales/simple_form.fo.yml b/config/locales/simple_form.fo.yml
index 7d4da2b51e..8f0b51719f 100644
--- a/config/locales/simple_form.fo.yml
+++ b/config/locales/simple_form.fo.yml
@@ -211,6 +211,7 @@ fo:
setting_default_privacy: Hvussu privatir eru postar?
setting_default_sensitive: Merk altíð miðlafílur sum viðkvæmar
setting_delete_modal: Vís váttanarmynd, áðrenn postar verða strikaðir
+ setting_disable_hover_cards: Ger undanvísing, tá músin verður flutt yvir vangan, óvirkna
setting_disable_swiping: Ger sveipurørslur óvirknar
setting_display_media: Vístir miðlar
setting_display_media_default: Sjálvvirði
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index e46ccb8737..0653d76204 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -211,6 +211,7 @@ gl:
setting_default_privacy: Privacidade da publicación
setting_default_sensitive: Marcar sempre multimedia como sensible
setting_delete_modal: Solicitar confirmación antes de eliminar unha publicación
+ setting_disable_hover_cards: Desactivar vista previa do perfil ao poñerse enriba
setting_disable_swiping: Desactivar opcións de desprazamento
setting_display_media: Mostrar multimedia
setting_display_media_default: Por defecto
diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml
index 044e24deb0..cc267db8d5 100644
--- a/config/locales/simple_form.is.yml
+++ b/config/locales/simple_form.is.yml
@@ -211,6 +211,7 @@ is:
setting_default_privacy: Gagnaleynd færslna
setting_default_sensitive: Alltaf merkja myndefni sem viðkvæmt
setting_delete_modal: Birta staðfestingarglugga áður en færslu er eytt
+ setting_disable_hover_cards: Gera óvirka forskoðun notandasniðs við yfirsvif
setting_disable_swiping: Gera strokuhreyfingar óvirkar
setting_display_media: Birting myndefnis
setting_display_media_default: Sjálfgefið
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index f5624344b9..540812faa9 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -211,6 +211,7 @@ it:
setting_default_privacy: Privacy dei post
setting_default_sensitive: Segna sempre i media come sensibili
setting_delete_modal: Mostra dialogo di conferma prima di eliminare un post
+ setting_disable_hover_cards: Disabilita l'anteprima del profilo al passaggio del mouse
setting_disable_swiping: Disabilita i movimenti di scorrimento
setting_display_media: Visualizzazione dei media
setting_display_media_default: Predefinita
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 2271d7037e..d6bdb7a6f0 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -211,6 +211,7 @@ nl:
setting_default_privacy: Zichtbaarheid van nieuwe berichten
setting_default_sensitive: Media altijd als gevoelig markeren
setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging
+ setting_disable_hover_cards: Profielvoorbeeld uitschakelen bij zweven
setting_disable_swiping: Swipebewegingen uitschakelen
setting_display_media: Mediaweergave
setting_display_media_default: Standaard
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index 9d82384af9..b8de10de26 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -211,6 +211,7 @@ pl:
setting_default_privacy: Widoczność wpisów
setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu
+ setting_disable_hover_cards: Wyłącz podgląd profilu po najechaniu
setting_disable_swiping: Wyłącz ruchy przesuwania
setting_display_media: Wyświetlanie zawartości multimedialnej
setting_display_media_default: Domyślne
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 7fcbb210c5..f993687b91 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -211,6 +211,7 @@ pt-PT:
setting_default_privacy: Privacidade da publicação
setting_default_sensitive: Marcar sempre os media como problemáticos
setting_delete_modal: Solicitar confirmação antes de eliminar uma publicação
+ setting_disable_hover_cards: Desativar visualização de perfil ao passar o cursor
setting_disable_swiping: Desativar os movimentos de deslize
setting_display_media: Visualização de media
setting_display_media_default: Pré-definição
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 96b36307a5..1e3f3046ad 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -211,6 +211,7 @@ sl:
setting_default_privacy: Zasebnost objave
setting_default_sensitive: Vedno označi medije kot občutljive
setting_delete_modal: Pred brisanjem objave prikaži okno za pritrditev
+ setting_disable_hover_cards: Onemogoči predogled profila pod kazalko
setting_disable_swiping: Onemogoči poteze drsanja
setting_display_media: Prikaz medijev
setting_display_media_default: Privzeto
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index 710f81e84f..22c07aa7c6 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -211,6 +211,7 @@ sr-Latn:
setting_default_privacy: Privatnost objava
setting_default_sensitive: Uvek označi multimediju kao osetljivu
setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja objave
+ setting_disable_hover_cards: Onemogući pregled profila prelaskom kursora
setting_disable_swiping: Onemogući pokrete prevlačenja
setting_display_media: Prikaz medija
setting_display_media_default: Podrazumevano
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index c5fbc9185a..10c1796637 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -211,6 +211,7 @@ sr:
setting_default_privacy: Приватност објава
setting_default_sensitive: Увек означи мултимедију као осетљиву
setting_delete_modal: Прикажи дијалог за потврду пре брисања објаве
+ setting_disable_hover_cards: Онемогући преглед профила преласком курсора
setting_disable_swiping: Онемогући покрете превлачења
setting_display_media: Приказ медија
setting_display_media_default: Подразумевано
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index 697417a541..b1e90122ec 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -211,6 +211,7 @@ tr:
setting_default_privacy: Gönderi gizliliği
setting_default_sensitive: Medyayı her zaman hassas olarak işaretle
setting_delete_modal: Bir gönderiyi silmeden önce onay iletişim kutusu göster
+ setting_disable_hover_cards: Üstüne geldiğinde profil önizlemesini devre dışı bırak
setting_disable_swiping: Kaydırma hareketlerini devre dışı bırak
setting_display_media: Medya görüntüleme
setting_display_media_default: Varsayılan
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index e5063e6112..9006156db1 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -211,6 +211,7 @@ vi:
setting_default_privacy: Kiểu đăng
setting_default_sensitive: Đánh dấu media nhạy cảm
setting_delete_modal: Hỏi trước khi xóa tút
+ setting_disable_hover_cards: Tắt thẻ xem trước hồ sơ
setting_disable_swiping: Không dùng chuyển động vuốt
setting_display_media: Media nhạy cảm
setting_display_media_default: Mặc định
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index b7a67c6a6f..7c460a25f5 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -211,6 +211,7 @@ zh-TW:
setting_default_privacy: 嘟文隱私設定
setting_default_sensitive: 總是將媒體標記為敏感內容
setting_delete_modal: 刪除嘟文前先詢問我
+ setting_disable_hover_cards: 停用於滑鼠懸停時預覽個人檔案
setting_disable_swiping: 停用滑動手勢
setting_display_media: 媒體顯示
setting_display_media_default: 預設
diff --git a/spec/controllers/invites_controller_spec.rb b/spec/controllers/invites_controller_spec.rb
index 3190c82884..5221941267 100644
--- a/spec/controllers/invites_controller_spec.rb
+++ b/spec/controllers/invites_controller_spec.rb
@@ -69,19 +69,16 @@ describe InvitesController do
end
end
- describe 'DELETE #create' do
+ describe 'DELETE #destroy' do
+ subject { delete :destroy, params: { id: invite.id } }
+
let(:invite) { Fabricate(:invite, user: user, expires_at: nil) }
- before do
- delete :destroy, params: { id: invite.id }
- end
-
- it 'redirects' do
- expect(response).to redirect_to invites_path
- end
-
- it 'expires invite' do
- expect(invite.reload).to be_expired
+ it 'expires invite and redirects' do
+ expect { subject }
+ .to(change { invite.reload.expired? }.to(true))
+ expect(response)
+ .to redirect_to invites_path
end
end
end
diff --git a/spec/requests/api/v1/accounts/statuses_spec.rb b/spec/requests/api/v1/accounts/statuses_spec.rb
index 371867b215..97cdbe0156 100644
--- a/spec/requests/api/v1/accounts/statuses_spec.rb
+++ b/spec/requests/api/v1/accounts/statuses_spec.rb
@@ -10,12 +10,15 @@ describe 'API V1 Accounts Statuses' do
describe 'GET /api/v1/accounts/:account_id/statuses' do
it 'returns expected headers', :aggregate_failures do
- Fabricate(:status, account: user.account)
+ status = Fabricate(:status, account: user.account)
get "/api/v1/accounts/#{user.account.id}/statuses", params: { limit: 1 }, headers: headers
- expect(response).to have_http_status(200)
- expect(links_from_header.size)
- .to eq(2)
+ expect(response)
+ .to have_http_status(200)
+ .and include_pagination_headers(
+ prev: api_v1_account_statuses_url(limit: 1, min_id: status.id),
+ next: api_v1_account_statuses_url(limit: 1, max_id: status.id)
+ )
end
context 'with only media' do
@@ -55,16 +58,9 @@ describe 'API V1 Accounts Statuses' do
it 'returns http success and includes a header link' do
get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
- expect(response).to have_http_status(200)
- expect(links_from_header.size)
- .to eq(1)
- expect(links_from_header)
- .to contain_exactly(
- have_attributes(
- href: /pinned=true/,
- attr_pairs: contain_exactly(['rel', 'prev'])
- )
- )
+ expect(response)
+ .to have_http_status(200)
+ .and include_pagination_headers(prev: api_v1_account_statuses_url(pinned: true, min_id: Status.first.id))
end
end
@@ -77,19 +73,11 @@ describe 'API V1 Accounts Statuses' do
it 'returns http success and header pagination links to prev and next' do
get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
- expect(response).to have_http_status(200)
- expect(links_from_header.size)
- .to eq(2)
- expect(links_from_header)
- .to contain_exactly(
- have_attributes(
- href: /pinned=true/,
- attr_pairs: contain_exactly(['rel', 'next'])
- ),
- have_attributes(
- href: /pinned=true/,
- attr_pairs: contain_exactly(['rel', 'prev'])
- )
+ expect(response)
+ .to have_http_status(200)
+ .and include_pagination_headers(
+ prev: api_v1_account_statuses_url(pinned: true, min_id: Status.first.id),
+ next: api_v1_account_statuses_url(pinned: true, max_id: Status.first.id)
)
end
end
@@ -138,12 +126,4 @@ describe 'API V1 Accounts Statuses' do
end
end
end
-
- private
-
- def links_from_header
- response
- .headers['Link']
- .links
- end
end
diff --git a/spec/requests/api/v1/conversations_spec.rb b/spec/requests/api/v1/conversations_spec.rb
index f4776f18d9..f136e1f4e8 100644
--- a/spec/requests/api/v1/conversations_spec.rb
+++ b/spec/requests/api/v1/conversations_spec.rb
@@ -20,8 +20,12 @@ RSpec.describe 'API V1 Conversations' do
it 'returns pagination headers', :aggregate_failures do
get '/api/v1/conversations', params: { limit: 1 }, headers: headers
- expect(response).to have_http_status(200)
- expect(response.headers['Link'].links.size).to eq(2)
+ expect(response)
+ .to have_http_status(200)
+ .and include_pagination_headers(
+ prev: api_v1_conversations_url(limit: 1, min_id: Status.first.id),
+ next: api_v1_conversations_url(limit: 1, max_id: Status.first.id)
+ )
end
it 'returns conversations', :aggregate_failures do
diff --git a/spec/requests/api/v1/statuses/favourited_by_accounts_spec.rb b/spec/requests/api/v1/statuses/favourited_by_accounts_spec.rb
index 44296f4c37..2fd79f424b 100644
--- a/spec/requests/api/v1/statuses/favourited_by_accounts_spec.rb
+++ b/spec/requests/api/v1/statuses/favourited_by_accounts_spec.rb
@@ -29,8 +29,10 @@ RSpec.describe 'API V1 Statuses Favourited by Accounts' do
expect(response)
.to have_http_status(200)
- expect(response.headers['Link'].links.size)
- .to eq(2)
+ .and include_pagination_headers(
+ prev: api_v1_status_favourited_by_index_url(limit: 2, since_id: Favourite.last.id),
+ next: api_v1_status_favourited_by_index_url(limit: 2, max_id: Favourite.first.id)
+ )
expect(body_as_json.size)
.to eq(2)
diff --git a/spec/requests/api/v1/statuses/reblogged_by_accounts_spec.rb b/spec/requests/api/v1/statuses/reblogged_by_accounts_spec.rb
index 6f99ce9464..5fc54042f9 100644
--- a/spec/requests/api/v1/statuses/reblogged_by_accounts_spec.rb
+++ b/spec/requests/api/v1/statuses/reblogged_by_accounts_spec.rb
@@ -28,8 +28,10 @@ RSpec.describe 'API V1 Statuses Reblogged by Accounts' do
expect(response)
.to have_http_status(200)
- expect(response.headers['Link'].links.size)
- .to eq(2)
+ .and include_pagination_headers(
+ prev: api_v1_status_reblogged_by_index_url(limit: 2, since_id: bob.statuses.first.id),
+ next: api_v1_status_reblogged_by_index_url(limit: 2, max_id: alice.statuses.first.id)
+ )
expect(body_as_json.size)
.to eq(2)
diff --git a/spec/requests/api/v2/admin/accounts_spec.rb b/spec/requests/api/v2/admin/accounts_spec.rb
index f5db93233c..8f52c6a613 100644
--- a/spec/requests/api/v2/admin/accounts_spec.rb
+++ b/spec/requests/api/v2/admin/accounts_spec.rb
@@ -83,7 +83,8 @@ RSpec.describe 'API V2 Admin Accounts' do
let(:params) { { limit: 1 } }
it 'sets the correct pagination headers' do
- expect(response.headers['Link'].find_link(%w(rel next)).href).to eq api_v2_admin_accounts_url(limit: 1, max_id: admin_account.id)
+ expect(response)
+ .to include_pagination_headers(next: api_v2_admin_accounts_url(limit: 1, max_id: admin_account.id))
end
end
end
diff --git a/yarn.lock b/yarn.lock
index 94aa713fb0..8e4c856105 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -52,45 +52,45 @@ __metadata:
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/compat-data@npm:7.24.7"
- checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f
+"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/compat-data@npm:7.24.8"
+ checksum: 10c0/7f465e9d8e44c5b516eeb3001362a3cd9a6df51dd90d3ac9868e1e7fa631ac57fc781cec6700110d4f555ba37fe59c4a71927b445106fe0062e79e79ffe11091
languageName: node
linkType: hard
"@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4":
- version: 7.24.7
- resolution: "@babel/core@npm:7.24.7"
+ version: 7.24.8
+ resolution: "@babel/core@npm:7.24.8"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
"@babel/code-frame": "npm:^7.24.7"
- "@babel/generator": "npm:^7.24.7"
- "@babel/helper-compilation-targets": "npm:^7.24.7"
- "@babel/helper-module-transforms": "npm:^7.24.7"
- "@babel/helpers": "npm:^7.24.7"
- "@babel/parser": "npm:^7.24.7"
+ "@babel/generator": "npm:^7.24.8"
+ "@babel/helper-compilation-targets": "npm:^7.24.8"
+ "@babel/helper-module-transforms": "npm:^7.24.8"
+ "@babel/helpers": "npm:^7.24.8"
+ "@babel/parser": "npm:^7.24.8"
"@babel/template": "npm:^7.24.7"
- "@babel/traverse": "npm:^7.24.7"
- "@babel/types": "npm:^7.24.7"
+ "@babel/traverse": "npm:^7.24.8"
+ "@babel/types": "npm:^7.24.8"
convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3"
semver: "npm:^6.3.1"
- checksum: 10c0/4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d
+ checksum: 10c0/5e21b40cc69746deda3fe3d6540351d9cb0d1ad5aea055b7c319db26071ff5789fd9580d1aa47b114f07631e8e2109f4e71696ca11d7c7e60d157767022c1bd2
languageName: node
linkType: hard
-"@babel/generator@npm:^7.24.7, @babel/generator@npm:^7.7.2":
- version: 7.24.7
- resolution: "@babel/generator@npm:7.24.7"
+"@babel/generator@npm:^7.24.8, @babel/generator@npm:^7.7.2":
+ version: 7.24.8
+ resolution: "@babel/generator@npm:7.24.8"
dependencies:
- "@babel/types": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.8"
"@jridgewell/gen-mapping": "npm:^0.3.5"
"@jridgewell/trace-mapping": "npm:^0.3.25"
jsesc: "npm:^2.5.1"
- checksum: 10c0/06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35
+ checksum: 10c0/e8a278e75a895f13a7b17dd79abe1e894fe82a5ed3abb127c33c14c66773d69993762521c094c6c364723f8f7375683b0d4a96097781175a29407baedf67b769
languageName: node
linkType: hard
@@ -123,16 +123,16 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-compilation-targets@npm:7.24.7"
+"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/helper-compilation-targets@npm:7.24.8"
dependencies:
- "@babel/compat-data": "npm:^7.24.7"
- "@babel/helper-validator-option": "npm:^7.24.7"
- browserslist: "npm:^4.22.2"
+ "@babel/compat-data": "npm:^7.24.8"
+ "@babel/helper-validator-option": "npm:^7.24.8"
+ browserslist: "npm:^4.23.1"
lru-cache: "npm:^5.1.1"
semver: "npm:^6.3.1"
- checksum: 10c0/1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51
+ checksum: 10c0/2885c44ef6aaf82b7e4352b30089bb09fbe08ed5ec24eb452c2bdc3c021e2a65ab412f74b3d67ec1398da0356c730b33a2ceca1d67d34c85080d31ca6efa9aec
languageName: node
linkType: hard
@@ -231,9 +231,9 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-module-transforms@npm:7.24.7"
+"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/helper-module-transforms@npm:7.24.8"
dependencies:
"@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-module-imports": "npm:^7.24.7"
@@ -242,7 +242,7 @@ __metadata:
"@babel/helper-validator-identifier": "npm:^7.24.7"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6
+ checksum: 10c0/b76496d5045af55be9de60e59e65e56a43033f01ccc746b26b7af911c358668c206b688ce70a23ab31ec04f9728f3a38e8d01073c85244115ab62f271a7fa3d1
languageName: node
linkType: hard
@@ -255,10 +255,10 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
- version: 7.24.7
- resolution: "@babel/helper-plugin-utils@npm:7.24.7"
- checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31
+"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
+ version: 7.24.8
+ resolution: "@babel/helper-plugin-utils@npm:7.24.8"
+ checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d
languageName: node
linkType: hard
@@ -317,10 +317,10 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-string-parser@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-string-parser@npm:7.24.7"
- checksum: 10c0/47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e
+"@babel/helper-string-parser@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/helper-string-parser@npm:7.24.8"
+ checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08
languageName: node
linkType: hard
@@ -331,10 +331,10 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-validator-option@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-validator-option@npm:7.24.7"
- checksum: 10c0/21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436
+"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/helper-validator-option@npm:7.24.8"
+ checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f
languageName: node
linkType: hard
@@ -350,13 +350,13 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helpers@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helpers@npm:7.24.7"
+"@babel/helpers@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/helpers@npm:7.24.8"
dependencies:
"@babel/template": "npm:^7.24.7"
- "@babel/types": "npm:^7.24.7"
- checksum: 10c0/aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27
+ "@babel/types": "npm:^7.24.8"
+ checksum: 10c0/42b8939b0a0bf72d6df9721973eb0fd7cd48f42641c5c9c740916397faa586255c06d36c6e6a7e091860723096281c620f6ffaee0011a3bb254a6f5475d89a12
languageName: node
linkType: hard
@@ -372,12 +372,12 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/parser@npm:7.24.7"
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/parser@npm:7.24.8"
bin:
parser: ./bin/babel-parser.js
- checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b
+ checksum: 10c0/ce69671de8fa6f649abf849be262707ac700b573b8b1ce1893c66cc6cd76aeb1294a19e8c290b0eadeb2f47d3f413a2e57a281804ffbe76bfb9fa50194cf3c52
languageName: node
linkType: hard
@@ -755,21 +755,21 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-classes@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/plugin-transform-classes@npm:7.24.7"
+"@babel/plugin-transform-classes@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/plugin-transform-classes@npm:7.24.8"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.24.7"
- "@babel/helper-compilation-targets": "npm:^7.24.7"
+ "@babel/helper-compilation-targets": "npm:^7.24.8"
"@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-function-name": "npm:^7.24.7"
- "@babel/helper-plugin-utils": "npm:^7.24.7"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-replace-supers": "npm:^7.24.7"
"@babel/helper-split-export-declaration": "npm:^7.24.7"
globals: "npm:^11.1.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/e51dba7ce8b770d1eee929e098d5a3be3efc3e8b941e22dda7d0097dc4e7be5feabd2da7b707ac06fcac5661b31223c541941dec08ce76c1faa55544d87d06ec
+ checksum: 10c0/4423da0f747bdb6aab1995d98a74533fa679f637ec20706810dd57fb4ba2b1885ec8cae6a0b2c3f69f27165de6ff6aa2da9c4061c893848736a8267d0c653079
languageName: node
linkType: hard
@@ -785,14 +785,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-destructuring@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/plugin-transform-destructuring@npm:7.24.7"
+"@babel/plugin-transform-destructuring@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/plugin-transform-destructuring@npm:7.24.8"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.24.7"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27
+ checksum: 10c0/804968c1d5f5072c717505296c1e5d5ec33e90550423de66de82bbcb78157156e8470bbe77a04ab8c710a88a06360a30103cf223ac7eff4829adedd6150de5ce
languageName: node
linkType: hard
@@ -938,16 +938,16 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7"
+"@babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.24.7"
- "@babel/helper-plugin-utils": "npm:^7.24.7"
+ "@babel/helper-module-transforms": "npm:^7.24.8"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-simple-access": "npm:^7.24.7"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752
+ checksum: 10c0/f1cf552307ebfced20d3907c1dd8be941b277f0364aa655e2b5fee828c84c54065745183104dae86f1f93ea0406db970a463ef7ceaaed897623748e99640e5a7
languageName: node
linkType: hard
@@ -1062,16 +1062,16 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-chaining@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7"
+"@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.24.7"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7"
"@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b9e3649b299e103b0d1767bbdba56574d065ff776e5350403b7bfd4e3982743c0cdb373d33bdbf94fa3c322d155e45d0aad946acf0aa741b870aed22dfec8b8e
+ checksum: 10c0/4ffbe1aad7dec7c9aa2bf6ceb4b2f91f96815b2784f2879bde80e46934f59d64a12cb2c6262e40897c4754d77d2c35d8a5cfed63044fdebf94978b1ed3d14b17
languageName: node
linkType: hard
@@ -1279,14 +1279,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-typeof-symbol@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7"
+"@babel/plugin-transform-typeof-symbol@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.24.7"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/5649e7260a138681e68b296ab5931e2b1f132f287d6b4131d49b24f9dc20d62902b7e9d63c4d2decd5683b41df35ef4b9b03f58c7f9f65e4c25a6d8bbf04e9e9
+ checksum: 10c0/2f570a4fbbdc5fd85f48165a97452826560051e3b8efb48c3bb0a0a33ee8485633439e7b71bfe3ef705583a1df43f854f49125bd759abdedc195b2cf7e60012a
languageName: node
linkType: hard
@@ -1352,13 +1352,13 @@ __metadata:
linkType: hard
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
- version: 7.24.7
- resolution: "@babel/preset-env@npm:7.24.7"
+ version: 7.24.8
+ resolution: "@babel/preset-env@npm:7.24.8"
dependencies:
- "@babel/compat-data": "npm:^7.24.7"
- "@babel/helper-compilation-targets": "npm:^7.24.7"
- "@babel/helper-plugin-utils": "npm:^7.24.7"
- "@babel/helper-validator-option": "npm:^7.24.7"
+ "@babel/compat-data": "npm:^7.24.8"
+ "@babel/helper-compilation-targets": "npm:^7.24.8"
+ "@babel/helper-plugin-utils": "npm:^7.24.8"
+ "@babel/helper-validator-option": "npm:^7.24.8"
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.7"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.7"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7"
@@ -1389,9 +1389,9 @@ __metadata:
"@babel/plugin-transform-block-scoping": "npm:^7.24.7"
"@babel/plugin-transform-class-properties": "npm:^7.24.7"
"@babel/plugin-transform-class-static-block": "npm:^7.24.7"
- "@babel/plugin-transform-classes": "npm:^7.24.7"
+ "@babel/plugin-transform-classes": "npm:^7.24.8"
"@babel/plugin-transform-computed-properties": "npm:^7.24.7"
- "@babel/plugin-transform-destructuring": "npm:^7.24.7"
+ "@babel/plugin-transform-destructuring": "npm:^7.24.8"
"@babel/plugin-transform-dotall-regex": "npm:^7.24.7"
"@babel/plugin-transform-duplicate-keys": "npm:^7.24.7"
"@babel/plugin-transform-dynamic-import": "npm:^7.24.7"
@@ -1404,7 +1404,7 @@ __metadata:
"@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7"
"@babel/plugin-transform-member-expression-literals": "npm:^7.24.7"
"@babel/plugin-transform-modules-amd": "npm:^7.24.7"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8"
"@babel/plugin-transform-modules-systemjs": "npm:^7.24.7"
"@babel/plugin-transform-modules-umd": "npm:^7.24.7"
"@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7"
@@ -1414,7 +1414,7 @@ __metadata:
"@babel/plugin-transform-object-rest-spread": "npm:^7.24.7"
"@babel/plugin-transform-object-super": "npm:^7.24.7"
"@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7"
- "@babel/plugin-transform-optional-chaining": "npm:^7.24.7"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.24.8"
"@babel/plugin-transform-parameters": "npm:^7.24.7"
"@babel/plugin-transform-private-methods": "npm:^7.24.7"
"@babel/plugin-transform-private-property-in-object": "npm:^7.24.7"
@@ -1425,7 +1425,7 @@ __metadata:
"@babel/plugin-transform-spread": "npm:^7.24.7"
"@babel/plugin-transform-sticky-regex": "npm:^7.24.7"
"@babel/plugin-transform-template-literals": "npm:^7.24.7"
- "@babel/plugin-transform-typeof-symbol": "npm:^7.24.7"
+ "@babel/plugin-transform-typeof-symbol": "npm:^7.24.8"
"@babel/plugin-transform-unicode-escapes": "npm:^7.24.7"
"@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7"
"@babel/plugin-transform-unicode-regex": "npm:^7.24.7"
@@ -1434,11 +1434,11 @@ __metadata:
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
babel-plugin-polyfill-corejs3: "npm:^0.10.4"
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
- core-js-compat: "npm:^3.31.0"
+ core-js-compat: "npm:^3.37.1"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/c6714346f3ccc1271eaa90051c75b8bb57b20ef57408ab68740e2f3552693ae0ee5a4bcce3a00211d40e4947af1f7b8ab422066b953f0095461937fb72d11274
+ checksum: 10c0/a6f29498ec58989845a61f9c10b1b4e80586f1810a33db461d597cdb0ad2cd847381a993038b09f727512a08b2c1a33a330a5d4e6d65463ee98a1b4302d52ec6
languageName: node
linkType: hard
@@ -1503,11 +1503,11 @@ __metadata:
linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
- version: 7.24.7
- resolution: "@babel/runtime@npm:7.24.7"
+ version: 7.24.8
+ resolution: "@babel/runtime@npm:7.24.8"
dependencies:
regenerator-runtime: "npm:^0.14.0"
- checksum: 10c0/b6fa3ec61a53402f3c1d75f4d808f48b35e0dfae0ec8e2bb5c6fc79fb95935da75766e0ca534d0f1c84871f6ae0d2ebdd950727cfadb745a2cdbef13faef5513
+ checksum: 10c0/f24b30af6b3ecae19165b3b032f9bc37b2d1769677bd63b69a6f81061967cfc847aa822518402ea6616b1d301d7eb46986b99c9f69cdb5880834fca2e6b34881
languageName: node
linkType: hard
@@ -1522,32 +1522,32 @@ __metadata:
languageName: node
linkType: hard
-"@babel/traverse@npm:7, @babel/traverse@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/traverse@npm:7.24.7"
+"@babel/traverse@npm:7, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8":
+ version: 7.24.8
+ resolution: "@babel/traverse@npm:7.24.8"
dependencies:
"@babel/code-frame": "npm:^7.24.7"
- "@babel/generator": "npm:^7.24.7"
+ "@babel/generator": "npm:^7.24.8"
"@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-function-name": "npm:^7.24.7"
"@babel/helper-hoist-variables": "npm:^7.24.7"
"@babel/helper-split-export-declaration": "npm:^7.24.7"
- "@babel/parser": "npm:^7.24.7"
- "@babel/types": "npm:^7.24.7"
+ "@babel/parser": "npm:^7.24.8"
+ "@babel/types": "npm:^7.24.8"
debug: "npm:^4.3.1"
globals: "npm:^11.1.0"
- checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab
+ checksum: 10c0/67a5cc35824455cdb54fb9e196a44b3186283e29018a9c2331f51763921e18e891b3c60c283615a27540ec8eb4c8b89f41c237b91f732a7aa518b2eb7a0d434d
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
- version: 7.24.7
- resolution: "@babel/types@npm:7.24.7"
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
+ version: 7.24.8
+ resolution: "@babel/types@npm:7.24.8"
dependencies:
- "@babel/helper-string-parser": "npm:^7.24.7"
+ "@babel/helper-string-parser": "npm:^7.24.8"
"@babel/helper-validator-identifier": "npm:^7.24.7"
to-fast-properties: "npm:^2.0.0"
- checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1
+ checksum: 10c0/2d7bf561ae993e794cb052c5a81d3a6d1877da13e1e2eb2a59ae75a8fb1c965b618fb3e4abd42548f5f9a4587d3a149185a32d6c4c4ea82195da7dd86f2da0f1
languageName: node
linkType: hard
@@ -5686,7 +5686,7 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.0.0, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1":
+"browserslist@npm:^4.0.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1":
version: 4.23.1
resolution: "browserslist@npm:4.23.1"
dependencies:
@@ -6402,12 +6402,12 @@ __metadata:
languageName: node
linkType: hard
-"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1":
- version: 3.36.1
- resolution: "core-js-compat@npm:3.36.1"
+"core-js-compat@npm:^3.36.1, core-js-compat@npm:^3.37.1":
+ version: 3.37.1
+ resolution: "core-js-compat@npm:3.37.1"
dependencies:
browserslist: "npm:^4.23.0"
- checksum: 10c0/70fba18a4095cd8ac04e5ba8cee251e328935859cf2851c1f67770068ea9f9fe71accb1b7de17cd3c9a28d304a4c41712bd9aa895110ebb6e3be71b666b029d1
+ checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a
languageName: node
linkType: hard
@@ -15486,15 +15486,15 @@ __metadata:
linkType: hard
"sass@npm:^1.62.1":
- version: 1.77.7
- resolution: "sass@npm:1.77.7"
+ version: 1.77.8
+ resolution: "sass@npm:1.77.8"
dependencies:
chokidar: "npm:>=3.0.0 <4.0.0"
immutable: "npm:^4.0.0"
source-map-js: "npm:>=0.6.2 <2.0.0"
bin:
sass: sass.js
- checksum: 10c0/6cacbf4b5165d30a9be0f09438aed85ff0617e5087442e65c23c8464750ff1b9988855a58f36b420b62f992d1e82403f99810aba7731519d3d026847e21a5635
+ checksum: 10c0/2bfd62794070352c804f949e69bd8bb5b4ec846deeb924251b2c3f7b503170fb1ae186f513f0166907749eb34e0277dee747edcb78c886fb471aac01be1e864c
languageName: node
linkType: hard