Merge pull request #2777 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9d0bce4072
shrike
commit
b7b6f1c89a
|
@ -5,8 +5,10 @@ module ThemeHelper
|
|||
flavour, theme = flavour_and_skin
|
||||
|
||||
if theme == 'system'
|
||||
stylesheet_pack_tag("skins/#{flavour}/mastodon-light", media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous') +
|
||||
stylesheet_pack_tag("skins/#{flavour}/default", media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous')
|
||||
''.html_safe.tap do |tags|
|
||||
tags << stylesheet_pack_tag("skins/#{flavour}/mastodon-light", media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous')
|
||||
tags << stylesheet_pack_tag("skins/#{flavour}/default", media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous')
|
||||
end
|
||||
else
|
||||
stylesheet_pack_tag "skins/#{flavour}/#{theme}", media: 'all', crossorigin: 'anonymous'
|
||||
end
|
||||
|
@ -16,8 +18,10 @@ module ThemeHelper
|
|||
_, theme = flavour_and_skin
|
||||
|
||||
if theme == 'system'
|
||||
tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:dark], media: '(prefers-color-scheme: dark)') +
|
||||
tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:light], media: '(prefers-color-scheme: light)')
|
||||
''.html_safe.tap do |tags|
|
||||
tags << tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:dark], media: '(prefers-color-scheme: dark)')
|
||||
tags << tag.meta(name: 'theme-color', content: Themes::THEME_COLORS[:light], media: '(prefers-color-scheme: light)')
|
||||
end
|
||||
else
|
||||
tag.meta name: 'theme-color', content: theme_color_for(theme)
|
||||
end
|
||||
|
|
|
@ -258,6 +258,13 @@ class Notifications extends PureComponent {
|
|||
|
||||
let scrollContainer;
|
||||
|
||||
const prepend = (
|
||||
<>
|
||||
{needsNotificationPermission && <NotificationsPermissionBanner />}
|
||||
<FilteredNotificationsBanner />
|
||||
</>
|
||||
);
|
||||
|
||||
if (signedIn) {
|
||||
scrollContainer = (
|
||||
<ScrollableList
|
||||
|
@ -267,7 +274,7 @@ class Notifications extends PureComponent {
|
|||
showLoading={isLoading && notifications.size === 0}
|
||||
hasMore={hasMore}
|
||||
numPending={numPending}
|
||||
prepend={needsNotificationPermission && <NotificationsPermissionBanner />}
|
||||
prepend={prepend}
|
||||
alwaysPrepend
|
||||
emptyMessage={emptyMessage}
|
||||
onLoadMore={this.handleLoadOlder}
|
||||
|
@ -356,8 +363,6 @@ class Notifications extends PureComponent {
|
|||
|
||||
{filterBarContainer}
|
||||
|
||||
<FilteredNotificationsBanner />
|
||||
|
||||
{scrollContainer}
|
||||
|
||||
<Helmet>
|
||||
|
|
|
@ -10746,8 +10746,7 @@ noscript {
|
|||
.filtered-notifications-banner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 1px solid var(--background-border-color);
|
||||
border-top: 0;
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
padding: 24px 32px;
|
||||
gap: 16px;
|
||||
color: $darker-text-color;
|
||||
|
|
|
@ -223,6 +223,13 @@ class Notifications extends PureComponent {
|
|||
|
||||
let scrollContainer;
|
||||
|
||||
const prepend = (
|
||||
<>
|
||||
{needsNotificationPermission && <NotificationsPermissionBanner />}
|
||||
<FilteredNotificationsBanner />
|
||||
</>
|
||||
);
|
||||
|
||||
if (signedIn) {
|
||||
scrollContainer = (
|
||||
<ScrollableList
|
||||
|
@ -232,7 +239,7 @@ class Notifications extends PureComponent {
|
|||
showLoading={isLoading && notifications.size === 0}
|
||||
hasMore={hasMore}
|
||||
numPending={numPending}
|
||||
prepend={needsNotificationPermission && <NotificationsPermissionBanner />}
|
||||
prepend={prepend}
|
||||
alwaysPrepend
|
||||
emptyMessage={emptyMessage}
|
||||
onLoadMore={this.handleLoadOlder}
|
||||
|
@ -282,8 +289,6 @@ class Notifications extends PureComponent {
|
|||
|
||||
{filterBarContainer}
|
||||
|
||||
<FilteredNotificationsBanner />
|
||||
|
||||
{scrollContainer}
|
||||
|
||||
<Helmet>
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
"account.follow_back": "تابعهم بالمثل",
|
||||
"account.followers": "مُتابِعون",
|
||||
"account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.",
|
||||
"account.followers_counter": "{count, plural, zero {}one {{counter} متابع} two {{counter} متابعين} few {{counter} متابعين} many {{counter} متابعين} other {{counter} متابعين}}",
|
||||
"account.following": "الاشتراكات",
|
||||
"account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.",
|
||||
"account.go_to_profile": "اذهب إلى الملف الشخصي",
|
||||
|
|
|
@ -205,10 +205,10 @@
|
|||
"disabled_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert.",
|
||||
"dismissable_banner.community_timeline": "Das sind die neuesten öffentlichen Beiträge von Profilen, deren Konten von {domain} verwaltet werden.",
|
||||
"dismissable_banner.dismiss": "Ablehnen",
|
||||
"dismissable_banner.explore_links": "Diese Nachrichten werden heute am häufigsten im sozialen Netzwerk geteilt. Neuere Nachrichten, die von vielen verschiedenen Profilen veröffentlicht wurden, werden höher eingestuft.",
|
||||
"dismissable_banner.explore_statuses": "Diese Beiträge stammen aus dem gesamten sozialen Netzwerk und gewinnen derzeit an Reichweite. Neuere Beiträge, die häufiger geteilt und favorisiert wurden, werden höher eingestuft.",
|
||||
"dismissable_banner.explore_tags": "Das sind Hashtags, die derzeit an Reichweite gewinnen. Hashtags, die von vielen verschiedenen Profilen verwendet werden, werden höher eingestuft.",
|
||||
"dismissable_banner.public_timeline": "Das sind die neuesten öffentlichen Beiträge von Profilen im sozialen Netzwerk, denen Leute auf {domain} folgen.",
|
||||
"dismissable_banner.explore_links": "Diese Nachrichten werden heute am häufigsten im Social Web geteilt. Neuere Nachrichten, die von vielen verschiedenen Profilen geteilt wurden, erscheinen weiter oben.",
|
||||
"dismissable_banner.explore_statuses": "Diese Beiträge sind heute im Social Web sehr beliebt. Neuere Beiträge, die häufiger geteilt und favorisiert wurden, erscheinen weiter oben.",
|
||||
"dismissable_banner.explore_tags": "Diese Hashtags sind heute im Social Web sehr beliebt. Hashtags, die von vielen verschiedenen Profilen verwendet werden, erscheinen weiter oben.",
|
||||
"dismissable_banner.public_timeline": "Das sind die neuesten öffentlichen Beiträge von Profilen im Social Web, denen Leute auf {domain} folgen.",
|
||||
"domain_block_modal.block": "Server blockieren",
|
||||
"domain_block_modal.block_account_instead": "Stattdessen @{name} blockieren",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Profile von diesem Server werden mit deinen älteren Beiträgen interagieren können.",
|
||||
|
|
|
@ -35,7 +35,9 @@
|
|||
"account.follow_back": "フォローバック",
|
||||
"account.followers": "フォロワー",
|
||||
"account.followers.empty": "まだ誰もフォローしていません。",
|
||||
"account.followers_counter": "{count, plural, other {{counter} フォロワー}}",
|
||||
"account.following": "フォロー中",
|
||||
"account.following_counter": "{count, plural, 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, other {{counter} 投稿}}",
|
||||
"account.unblock": "@{name}さんのブロックを解除",
|
||||
"account.unblock_domain": "{domain}のブロックを解除",
|
||||
"account.unblock_short": "ブロック解除",
|
||||
|
@ -412,6 +415,7 @@
|
|||
"limited_account_hint.title": "このプロフィールは{domain}のモデレーターによって非表示にされています。",
|
||||
"link_preview.author": "{name}",
|
||||
"link_preview.more_from_author": "{name}さんの投稿をもっと読む",
|
||||
"link_preview.shares": "{count, plural, other {{counter}件の投稿}}",
|
||||
"lists.account.add": "リストに追加",
|
||||
"lists.account.remove": "リストから外す",
|
||||
"lists.delete": "リストを削除",
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
"account.mute": "@{name} නිහඬ කරන්න",
|
||||
"account.mute_short": "නිහඬ",
|
||||
"account.muted": "නිහඬ කළා",
|
||||
"account.open_original_page": "මුල් පිටුව අරින්න",
|
||||
"account.posts": "ලිපි",
|
||||
"account.posts_with_replies": "ලිපි සහ පිළිතුරු",
|
||||
"account.report": "@{name} වාර්තා කරන්න",
|
||||
|
@ -51,6 +52,10 @@
|
|||
"alert.unexpected.title": "අපොයි!",
|
||||
"announcement.announcement": "නිවේදනය",
|
||||
"audio.hide": "හඬපටය සඟවන්න",
|
||||
"block_modal.show_less": "අඩුවෙන් පෙන්වන්න",
|
||||
"block_modal.show_more": "තව පෙන්වන්න",
|
||||
"block_modal.they_will_know": "අවහිර කළ බව දකිනු ඇත.",
|
||||
"block_modal.title": "අවහිර කරන්නද?",
|
||||
"boost_modal.combo": "ඊළඟ වතාවේ මෙය මඟ හැරීමට {combo} එබීමට හැකිය",
|
||||
"bundle_column_error.copy_stacktrace": "දෝෂ වාර්තාවේ පිටපතක්",
|
||||
"bundle_column_error.error.title": "අපොයි!",
|
||||
|
@ -100,10 +105,13 @@
|
|||
"compose_form.lock_disclaimer.lock": "අගුළු දමා ඇත",
|
||||
"compose_form.placeholder": "ඔබගේ සිතුවිලි මොනවාද?",
|
||||
"compose_form.poll.duration": "මත විමසීමේ කාලය",
|
||||
"compose_form.poll.option_placeholder": "විකල්පය {number}",
|
||||
"compose_form.poll.switch_to_multiple": "තේරීම් කිහිපයකට මත විමසුම වෙනස් කරන්න",
|
||||
"compose_form.poll.switch_to_single": "තනි තේරීමකට මත විමසුම වෙනස් කරන්න",
|
||||
"compose_form.poll.type": "ශෛලිය",
|
||||
"compose_form.publish": "ප්රකාශනය",
|
||||
"compose_form.publish_form": "නව ලිපිය",
|
||||
"compose_form.reply": "පිළිතුරු",
|
||||
"compose_form.spoiler.marked": "අන්තර්ගත අවවාදය ඉවත් කරන්න",
|
||||
"compose_form.spoiler.unmarked": "අන්තර්ගත අවවාදයක් එක් කරන්න",
|
||||
"confirmation_modal.cancel": "අවලංගු",
|
||||
|
@ -123,6 +131,7 @@
|
|||
"conversation.mark_as_read": "කියවූ බව යොදන්න",
|
||||
"conversation.open": "සංවාදය බලන්න",
|
||||
"conversation.with": "{names} සමඟ",
|
||||
"copy_icon_button.copied": "පසුරුපුවරුවට පිටපත් විය",
|
||||
"copypaste.copied": "පිටපත් විය",
|
||||
"copypaste.copy_to_clipboard": "පසුරුපුවරුවට පිටපතක්",
|
||||
"directory.federated": "දන්නා ෆෙඩිවර්ස් වෙතින්",
|
||||
|
@ -130,6 +139,9 @@
|
|||
"directory.new_arrivals": "නව පැමිණීම්",
|
||||
"directory.recently_active": "මෑත දී සක්රියයි",
|
||||
"disabled_account_banner.account_settings": "ගිණුමේ සැකසුම්",
|
||||
"dismissable_banner.dismiss": "ඉවතලන්න",
|
||||
"domain_pill.server": "සේවාදායකය",
|
||||
"domain_pill.username": "පරිශ්රීලක නාමය",
|
||||
"embed.instructions": "පහත කේතය පිටපත් කිරීමෙන් මෙම ලිපිය ඔබගේ අඩවියට කාවද්දන්න.",
|
||||
"embed.preview": "මෙන්න එය පෙනෙන අන්දම:",
|
||||
"emoji_button.activity": "ක්රියාකාරකම",
|
||||
|
@ -178,9 +190,13 @@
|
|||
"filter_modal.select_filter.search": "සොයන්න හෝ සාදන්න",
|
||||
"filter_modal.select_filter.title": "මෙම ලිපිය පෙරන්න",
|
||||
"filter_modal.title.status": "ලිපියක් පෙරන්න",
|
||||
"filtered_notifications_banner.title": "පෙරූ දැනුම්දීම්",
|
||||
"firehose.all": "සියල්ල",
|
||||
"firehose.local": "මෙම සේවාදායකය",
|
||||
"firehose.remote": "වෙනත් සේවාදායක",
|
||||
"follow_request.reject": "ප්රතික්ෂේප",
|
||||
"follow_suggestions.dismiss": "නැවත පෙන්වන්න එපා",
|
||||
"follow_suggestions.view_all": "සියල්ල බලන්න",
|
||||
"footer.about": "පිළිබඳව",
|
||||
"footer.directory": "පැතිකඩ නාමාවලිය",
|
||||
"footer.get_app": "යෙදුම ගන්න",
|
||||
|
@ -202,6 +218,7 @@
|
|||
"home.pending_critical_update.link": "යාවත්කාල බලන්න",
|
||||
"home.show_announcements": "නිවේදන පෙන්වන්න",
|
||||
"interaction_modal.login.action": "මුලට ගෙනයන්න",
|
||||
"interaction_modal.on_another_server": "වෙනත් සේවාදායකයක",
|
||||
"interaction_modal.on_this_server": "මෙම සේවාදායකයෙහි",
|
||||
"interaction_modal.title.favourite": "{name}ගේ ලිපිය ප්රිය කරන්න",
|
||||
"interaction_modal.title.follow": "{name} අනුගමනය",
|
||||
|
|
|
@ -170,6 +170,8 @@
|
|||
"domain_block_modal.block": "o weka e ma",
|
||||
"domain_block_modal.you_will_lose_followers": "ma ni la jan alasa ale sina li weka",
|
||||
"domain_block_modal.you_wont_see_posts": "sina ken ala lukin e toki tan jan pi ma ni",
|
||||
"domain_pill.server": "ma",
|
||||
"domain_pill.username": "nimi jan",
|
||||
"embed.preview": "ni li jo e sitelen ni:",
|
||||
"emoji_button.activity": "musi",
|
||||
"emoji_button.flags": "len ma",
|
||||
|
@ -274,6 +276,7 @@
|
|||
"load_pending": "{count, plural, other {ijo sin #}}",
|
||||
"loading_indicator.label": "ni li kama…",
|
||||
"media_gallery.toggle_visible": "{number, plural, other {o len e sitelen}}",
|
||||
"mute_modal.title": "sina wile ala wile kute e jan ni?",
|
||||
"navigation_bar.about": "sona",
|
||||
"navigation_bar.blocks": "jan weka",
|
||||
"navigation_bar.compose": "o pali e toki sin",
|
||||
|
@ -290,24 +293,33 @@
|
|||
"notification.follow": " {name} li kute e sina",
|
||||
"notification.follow_request": "{name} li wile kute e sina",
|
||||
"notification.mention": "jan {name} li toki e sina",
|
||||
"notification.moderation-warning.learn_more": "o kama sona e ijo ante",
|
||||
"notification.poll": "sina pana lon pana la pana ni li pini",
|
||||
"notification.reblog": "{name} li wawa e toki sina",
|
||||
"notification.status": "{name} li toki",
|
||||
"notification.update": "{name} li ante e toki",
|
||||
"notification_requests.dismiss": "o weka",
|
||||
"notifications.column_settings.favourite": "ijo pona:",
|
||||
"notifications.column_settings.follow": "jan kute sin",
|
||||
"notifications.column_settings.poll": "pana lon pana ni:",
|
||||
"notifications.column_settings.reblog": "wawa:",
|
||||
"notifications.column_settings.status": "toki sin:",
|
||||
"notifications.column_settings.update": "ante toki:",
|
||||
"notifications.filter.all": "ale",
|
||||
"notifications.filter.boosts": "wawa",
|
||||
"notifications.filter.favourites": "ijo pona",
|
||||
"notifications.filter.mentions": "toki pi toki sina",
|
||||
"notifications.filter.polls": "pana lon pana ni",
|
||||
"onboarding.action.back": "o tawa monsi",
|
||||
"onboarding.actions.back": "o tawa monsi",
|
||||
"onboarding.compose.template": "toki a, #Mastodon o!",
|
||||
"onboarding.profile.display_name": "nimi tawa jan ante",
|
||||
"onboarding.profile.note": "sona sina",
|
||||
"onboarding.share.lead": "o toki lon nasin Masoton pi alasa sina tawa jan",
|
||||
"onboarding.share.message": "ilo #Mastodon la mi jan {username} a! o kute e mi lon ni: {url}",
|
||||
"onboarding.start.title": "sina o kama pona a!",
|
||||
"onboarding.tips.migration": "<strong>sina sona ala sona e ni?</strong> tenpo kama la sina pilin ike tawa ma {domain} la, sina ken tawa ma ante lon ilo Masoton. jan li kute e sina la jan ni li awen kute e sina. kin la sina ken lawa e ma pi sina taso a!",
|
||||
"poll.closed": "ona li pini",
|
||||
"poll.total_people": "{count, plural, other {jan #}}",
|
||||
"poll.total_votes": "{count, plural, other {pana #}}",
|
||||
"poll.vote": "o pana",
|
||||
|
@ -315,9 +327,15 @@
|
|||
"poll.votes": "{votes, plural, other {pana #}}",
|
||||
"privacy.direct.long": "jan ale lon toki",
|
||||
"privacy.public.short": "tawa ale",
|
||||
"regeneration_indicator.label": "ni li kama…",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.just_now": "tenpo ni",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.just_now": "tenpo ni",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.today": "tenpo suno ni",
|
||||
"reply_indicator.cancel": "o ala",
|
||||
"report.block": "o weka e jan",
|
||||
"report.block_explanation": "sina kama lukin ala e toki ona. ona li kama ala ken lukin e toki sina li kama ala ken kute e sina. ona li ken sona e kama ni.",
|
||||
"report.categories.other": "ante",
|
||||
|
@ -336,6 +354,7 @@
|
|||
"report.thanks.title": "sina wile ala lukin e ni anu seme?",
|
||||
"report.unfollow": "o pini kute e {name}",
|
||||
"report_notification.categories.legal": "ike tawa nasin lawa",
|
||||
"report_notification.categories.other": "ante",
|
||||
"search.placeholder": "o alasa",
|
||||
"search.quick_action.go_to_account": "o tawa lipu jan {x}",
|
||||
"search_popout.language_code": "nimi toki kepeken nasin ISO",
|
||||
|
@ -343,6 +362,7 @@
|
|||
"search_results.see_all": "ale",
|
||||
"search_results.statuses": "toki",
|
||||
"search_results.title": "o alasa e {q}",
|
||||
"server_banner.administered_by": "jan lawa:",
|
||||
"status.block": "o weka e @{name}",
|
||||
"status.cancel_reblog_private": "o pini e pana",
|
||||
"status.delete": "o weka",
|
||||
|
@ -356,12 +376,14 @@
|
|||
"status.media.open": "o open",
|
||||
"status.media.show": "o lukin",
|
||||
"status.media_hidden": "sitelen li len",
|
||||
"status.more": "kin",
|
||||
"status.mute": "o len e @{name}",
|
||||
"status.mute_conversation": "o kute ala e ijo pi toki ni",
|
||||
"status.pin": "o sewi lon lipu sina",
|
||||
"status.pinned": "toki sewi",
|
||||
"status.reblog": "o wawa",
|
||||
"status.share": "o pana tawa ante",
|
||||
"status.show_filter_reason": "o lukin",
|
||||
"status.show_less": "o lili e ni",
|
||||
"status.show_less_all": "o lili e ale",
|
||||
"status.show_more": "o suli e ni",
|
||||
|
@ -378,7 +400,9 @@
|
|||
"timeline_hint.resources.follows": "jan lukin",
|
||||
"timeline_hint.resources.statuses": "ijo pi tenpo suli",
|
||||
"trends.trending_now": "jan mute li toki",
|
||||
"units.short.billion": "{count}B",
|
||||
"units.short.million": "{count}AAA",
|
||||
"units.short.thousand": "{count}K",
|
||||
"upload_button.label": "o pana e sitelen anu kalama",
|
||||
"upload_error.limit": "ilo li ken ala e suli pi ijo ni.",
|
||||
"upload_form.audio_description": "o toki e ijo kute tawa jan pi kute ala, tawa jan pi kute lili",
|
||||
|
@ -386,6 +410,7 @@
|
|||
"upload_form.edit": "o ante",
|
||||
"upload_form.thumbnail": "o ante e sitelen lili",
|
||||
"upload_form.video_description": "o toki e ijo kute tawa jan pi kute ala, tawa jan pi kute lili, e ijo lukin tawa jan pi lukin ala, tawa jan pi lukin lili",
|
||||
"upload_modal.analyzing_picture": "ilo li lukin e sitelen...",
|
||||
"upload_modal.choose_image": "o wile e sitelen",
|
||||
"upload_modal.description_placeholder": "mi pu jaki tan soweli",
|
||||
"upload_modal.detect_text": "ilo o alasa e nimi tan sitelen",
|
||||
|
|
|
@ -10192,8 +10192,7 @@ noscript {
|
|||
.filtered-notifications-banner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 1px solid var(--background-border-color);
|
||||
border-top: 0;
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
padding: 24px 32px;
|
||||
gap: 16px;
|
||||
color: $darker-text-color;
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
class REST::NotificationSerializer < ActiveModel::Serializer
|
||||
attributes :id, :type, :created_at, :group_key
|
||||
|
||||
attribute :filtered, if: :filtered?
|
||||
|
||||
belongs_to :from_account, key: :account, serializer: REST::AccountSerializer
|
||||
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
|
||||
belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer
|
||||
|
@ -32,4 +34,6 @@ class REST::NotificationSerializer < ActiveModel::Serializer
|
|||
def moderation_warning_event?
|
||||
object.type == :moderation_warning
|
||||
end
|
||||
|
||||
delegate :filtered?, to: :object
|
||||
end
|
||||
|
|
|
@ -75,7 +75,7 @@ nl:
|
|||
title: Een van jouw beveiligingssleutels is verwijderd
|
||||
webauthn_disabled:
|
||||
explanation: Verificatie met beveiligingssleutels is uitgeschakeld voor je account.
|
||||
extra: Het is nu alleen mogelijk om in te loggen met een door de authenticatie-app gegeneerde toegangscode.
|
||||
extra: Het is nu alleen mogelijk om in te loggen met een door de authenticatie-app gegeneerde toegangscode als extra controle.
|
||||
subject: 'Mastodon: Verificatie met beveiligingssleutels is uitgeschakeld'
|
||||
title: Beveiligingssleutels uitgeschakeld
|
||||
webauthn_enabled:
|
||||
|
|
|
@ -129,7 +129,7 @@ nl:
|
|||
crypto: End-to-end-encryptie
|
||||
favourites: Favorieten
|
||||
filters: Filters
|
||||
follow: Volgers, genegeerde en geblokkeerde gebruikers
|
||||
follow: Gevolgde, genegeerde en geblokkeerde gebruikers
|
||||
follows: Volgend
|
||||
lists: Lijsten
|
||||
media: Mediabijlagen
|
||||
|
|
|
@ -290,6 +290,7 @@ ja:
|
|||
filter_by_action: アクションでフィルター
|
||||
filter_by_user: ユーザーでフィルター
|
||||
title: 操作履歴
|
||||
unavailable_instance: "(ドメイン名が利用できません)"
|
||||
announcements:
|
||||
destroyed_msg: お知らせが削除されました
|
||||
edit:
|
||||
|
|
|
@ -211,6 +211,7 @@ ca:
|
|||
setting_default_privacy: Privacitat dels tuts
|
||||
setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible
|
||||
setting_delete_modal: Mostra la finestra de confirmació abans d'esborrar un tut
|
||||
setting_disable_hover_cards: Deshabilita la vista prèvia del perfil en passar-hi per sobre
|
||||
setting_disable_swiping: Desactiva les animacions
|
||||
setting_display_media: Visualització multimèdia
|
||||
setting_display_media_default: Per defecte
|
||||
|
|
|
@ -243,11 +243,13 @@ en:
|
|||
warn: Hide with a warning
|
||||
form_admin_settings:
|
||||
activity_api_enabled: Publish aggregate statistics about user activity in the API
|
||||
app_icon: App icon
|
||||
backups_retention_period: User archive retention period
|
||||
bootstrap_timeline_accounts: Always recommend these accounts to new users
|
||||
closed_registrations_message: Custom message when sign-ups are not available
|
||||
content_cache_retention_period: Remote content retention period
|
||||
custom_css: Custom CSS
|
||||
favicon: Favicon
|
||||
mascot: Custom mascot (legacy)
|
||||
media_cache_retention_period: Media cache retention period
|
||||
peers_api_enabled: Publish list of discovered servers in the API
|
||||
|
|
|
@ -203,6 +203,7 @@ eo:
|
|||
setting_default_privacy: Privateco de afiŝado
|
||||
setting_default_sensitive: Ĉiam marki plurmediojn kiel tiklaj
|
||||
setting_delete_modal: Montri konfirman fenestron antaŭ ol forigi mesaĝon
|
||||
setting_disable_hover_cards: Malebligi profilan antaŭmontron kiam oni musumas
|
||||
setting_disable_swiping: Malebligi svingajn movojn
|
||||
setting_display_media: Montrado de plurmedioj
|
||||
setting_display_media_default: Implicita
|
||||
|
|
|
@ -211,6 +211,7 @@ he:
|
|||
setting_default_privacy: פרטיות ההודעות
|
||||
setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה
|
||||
setting_delete_modal: להראות תיבת אישור לפני מחיקת חיצרוץ
|
||||
setting_disable_hover_cards: כבה הצצה מקדימה לפרופיל בעת מעבר עכבר מעליו
|
||||
setting_disable_swiping: ביטול החלקת-צד
|
||||
setting_display_media: תצוגת מדיה
|
||||
setting_display_media_default: ברירת מחדל
|
||||
|
|
|
@ -211,6 +211,7 @@ ja:
|
|||
setting_default_privacy: 投稿の公開範囲
|
||||
setting_default_sensitive: メディアを常に閲覧注意としてマークする
|
||||
setting_delete_modal: 投稿を削除する前に確認ダイアログを表示する
|
||||
setting_disable_hover_cards: マウスオーバーでプロフィールをポップアップしない
|
||||
setting_disable_swiping: スワイプでの切り替えを無効にする
|
||||
setting_display_media: メディアの表示
|
||||
setting_display_media_default: 標準
|
||||
|
|
|
@ -211,6 +211,7 @@ ko:
|
|||
setting_default_privacy: 게시물 프라이버시
|
||||
setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정
|
||||
setting_delete_modal: 게시물 삭제 전 확인 창을 표시
|
||||
setting_disable_hover_cards: 호버시 프로필 미리보기를 비활성화
|
||||
setting_disable_swiping: 스와이프 모션 비활성화
|
||||
setting_display_media: 미디어 표시
|
||||
setting_display_media_default: 기본
|
||||
|
|
|
@ -211,7 +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_hover_cards: Profielvoorbeelden door eroverheen te zweven uitschakelen
|
||||
setting_disable_swiping: Swipebewegingen uitschakelen
|
||||
setting_display_media: Mediaweergave
|
||||
setting_display_media_default: Standaard
|
||||
|
|
|
@ -211,7 +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_hover_cards: Onemogoči predogled profila pod kazalcem
|
||||
setting_disable_swiping: Onemogoči poteze drsanja
|
||||
setting_display_media: Prikaz medijev
|
||||
setting_display_media_default: Privzeto
|
||||
|
|
|
@ -211,6 +211,7 @@ sq:
|
|||
setting_default_privacy: Privatësi postimi
|
||||
setting_default_sensitive: Mediave vëru përherë shenjë si rezervat
|
||||
setting_delete_modal: Shfaq dialog ripohimi përpara fshirjes së një mesazhi
|
||||
setting_disable_hover_cards: Çaktivizo paraparje profili, kur i kalohet kursori përsipër
|
||||
setting_disable_swiping: Çaktivizo lëvizje me fërkim
|
||||
setting_display_media: Shfaqje mediash
|
||||
setting_display_media_default: Parazgjedhje
|
||||
|
|
|
@ -211,6 +211,7 @@ th:
|
|||
setting_default_privacy: ความเป็นส่วนตัวของการโพสต์
|
||||
setting_default_sensitive: ทำเครื่องหมายสื่อว่าละเอียดอ่อนเสมอ
|
||||
setting_delete_modal: แสดงกล่องโต้ตอบการยืนยันก่อนลบโพสต์
|
||||
setting_disable_hover_cards: ปิดใช้งานตัวอย่างโปรไฟล์เมื่อวางเมาส์เหนือ
|
||||
setting_disable_swiping: ปิดใช้งานการเคลื่อนไหวในการปัด
|
||||
setting_display_media: การแสดงสื่อ
|
||||
setting_display_media_default: ค่าเริ่มต้น
|
||||
|
|
|
@ -211,6 +211,7 @@ uk:
|
|||
setting_default_privacy: Видимість дописів
|
||||
setting_default_sensitive: Позначати медіа делікатними
|
||||
setting_delete_modal: Показувати діалог підтвердження під час видалення допису
|
||||
setting_disable_hover_cards: Вимкнути попередній перегляд профілю при наведенні
|
||||
setting_disable_swiping: Вимкнути рух посування
|
||||
setting_display_media: Показ медіа
|
||||
setting_display_media_default: За промовчанням
|
||||
|
|
|
@ -211,6 +211,7 @@ zh-CN:
|
|||
setting_default_privacy: 嘟文默认可见范围
|
||||
setting_default_sensitive: 始终标记媒体为敏感内容
|
||||
setting_delete_modal: 在删除嘟文前询问我
|
||||
setting_disable_hover_cards: 禁用悬停资料预览
|
||||
setting_disable_swiping: 禁用滑动动作
|
||||
setting_display_media: 媒体显示
|
||||
setting_display_media_default: 默认
|
||||
|
|
|
@ -1015,21 +1015,26 @@ RSpec.describe Account do
|
|||
|
||||
context 'when is local' do
|
||||
it 'generates keys' do
|
||||
account = described_class.create!(domain: nil, username: Faker::Internet.user_name(separators: ['_']))
|
||||
expect(account.keypair).to be_private
|
||||
expect(account.keypair).to be_public
|
||||
account = described_class.create!(domain: nil, username: 'user_without_keys')
|
||||
|
||||
expect(account)
|
||||
.to be_private_key
|
||||
.and be_public_key
|
||||
expect(account.keypair)
|
||||
.to be_private
|
||||
.and be_public
|
||||
end
|
||||
end
|
||||
|
||||
context 'when is remote' do
|
||||
it 'does not generate keys' do
|
||||
key = OpenSSL::PKey::RSA.new(1024).public_key
|
||||
account = described_class.create!(domain: 'remote', uri: 'https://remote/actor', username: Faker::Internet.user_name(separators: ['_']), public_key: key.to_pem)
|
||||
account = described_class.create!(domain: 'remote', uri: 'https://remote/actor', username: 'remote_user_with_public', public_key: key.to_pem)
|
||||
expect(account.keypair.params).to eq key.params
|
||||
end
|
||||
|
||||
it 'normalizes domain' do
|
||||
account = described_class.create!(domain: 'にゃん', uri: 'https://xn--r9j5b5b/actor', username: Faker::Internet.user_name(separators: ['_']))
|
||||
account = described_class.create!(domain: 'にゃん', uri: 'https://xn--r9j5b5b/actor', username: 'remote_user_with_idn_domain')
|
||||
expect(account.domain).to eq 'xn--r9j5b5b'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,8 +20,8 @@ RSpec.describe 'Notifications' do
|
|||
before do
|
||||
first_status = PostStatusService.new.call(user.account, text: 'Test')
|
||||
ReblogService.new.call(bob.account, first_status)
|
||||
mentioning_status = PostStatusService.new.call(bob.account, text: 'Hello @alice')
|
||||
mentioning_status.mentions.first
|
||||
PostStatusService.new.call(bob.account, text: 'Hello @alice')
|
||||
PostStatusService.new.call(tom.account, text: 'Hello @alice', visibility: :direct) # Filtered by default
|
||||
FavouriteService.new.call(bob.account, first_status)
|
||||
FavouriteService.new.call(tom.account, first_status)
|
||||
FollowService.new.call(bob.account, user.account)
|
||||
|
@ -34,10 +34,22 @@ RSpec.describe 'Notifications' do
|
|||
subject
|
||||
|
||||
expect(response).to have_http_status(200)
|
||||
expect(body_json_types).to include 'reblog'
|
||||
expect(body_json_types).to include 'mention'
|
||||
expect(body_json_types).to include 'favourite'
|
||||
expect(body_json_types).to include 'follow'
|
||||
expect(body_as_json.size).to eq 5
|
||||
expect(body_json_types).to include('reblog', 'mention', 'favourite', 'follow')
|
||||
expect(body_as_json.any? { |x| x[:filtered] }).to be false
|
||||
end
|
||||
end
|
||||
|
||||
context 'with include_filtered' do
|
||||
let(:params) { { include_filtered: true } }
|
||||
|
||||
it 'returns expected notification types, including filtered notifications' do
|
||||
subject
|
||||
|
||||
expect(response).to have_http_status(200)
|
||||
expect(body_as_json.size).to eq 6
|
||||
expect(body_json_types).to include('reblog', 'mention', 'favourite', 'follow')
|
||||
expect(body_as_json.any? { |x| x[:filtered] }).to be true
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -96,7 +108,7 @@ RSpec.describe 'Notifications' do
|
|||
it 'returns the requested number of notifications paginated', :aggregate_failures do
|
||||
subject
|
||||
|
||||
notifications = user.account.notifications
|
||||
notifications = user.account.notifications.browserable
|
||||
|
||||
expect(body_as_json.size)
|
||||
.to eq(params[:limit])
|
||||
|
|
38
yarn.lock
38
yarn.lock
|
@ -60,37 +60,37 @@ __metadata:
|
|||
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.8
|
||||
resolution: "@babel/core@npm:7.24.8"
|
||||
version: 7.24.9
|
||||
resolution: "@babel/core@npm:7.24.9"
|
||||
dependencies:
|
||||
"@ampproject/remapping": "npm:^2.2.0"
|
||||
"@babel/code-frame": "npm:^7.24.7"
|
||||
"@babel/generator": "npm:^7.24.8"
|
||||
"@babel/generator": "npm:^7.24.9"
|
||||
"@babel/helper-compilation-targets": "npm:^7.24.8"
|
||||
"@babel/helper-module-transforms": "npm:^7.24.8"
|
||||
"@babel/helper-module-transforms": "npm:^7.24.9"
|
||||
"@babel/helpers": "npm:^7.24.8"
|
||||
"@babel/parser": "npm:^7.24.8"
|
||||
"@babel/template": "npm:^7.24.7"
|
||||
"@babel/traverse": "npm:^7.24.8"
|
||||
"@babel/types": "npm:^7.24.8"
|
||||
"@babel/types": "npm:^7.24.9"
|
||||
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/5e21b40cc69746deda3fe3d6540351d9cb0d1ad5aea055b7c319db26071ff5789fd9580d1aa47b114f07631e8e2109f4e71696ca11d7c7e60d157767022c1bd2
|
||||
checksum: 10c0/e104ec6efbf099f55184933e9ab078eb5821c792ddfef3e9c6561986ec4ff103f5c11e3d7d6e5e8929e50e2c58db1cc80e5b6f14b530335b6622095ec4b4124c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/generator@npm:^7.24.8, @babel/generator@npm:^7.7.2":
|
||||
version: 7.24.8
|
||||
resolution: "@babel/generator@npm:7.24.8"
|
||||
"@babel/generator@npm:^7.24.8, @babel/generator@npm:^7.24.9, @babel/generator@npm:^7.7.2":
|
||||
version: 7.24.9
|
||||
resolution: "@babel/generator@npm:7.24.9"
|
||||
dependencies:
|
||||
"@babel/types": "npm:^7.24.8"
|
||||
"@babel/types": "npm:^7.24.9"
|
||||
"@jridgewell/gen-mapping": "npm:^0.3.5"
|
||||
"@jridgewell/trace-mapping": "npm:^0.3.25"
|
||||
jsesc: "npm:^2.5.1"
|
||||
checksum: 10c0/e8a278e75a895f13a7b17dd79abe1e894fe82a5ed3abb127c33c14c66773d69993762521c094c6c364723f8f7375683b0d4a96097781175a29407baedf67b769
|
||||
checksum: 10c0/cd1f7edce7717462546c349e15289d1267a3ed627c6f6583fbf51e78eacacc6500ec2f0024f08f1cc7138989e575635b931acf4549f9e728017a22176a9ea6b6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -231,9 +231,9 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@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"
|
||||
"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.24.9":
|
||||
version: 7.24.9
|
||||
resolution: "@babel/helper-module-transforms@npm:7.24.9"
|
||||
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/b76496d5045af55be9de60e59e65e56a43033f01ccc746b26b7af911c358668c206b688ce70a23ab31ec04f9728f3a38e8d01073c85244115ab62f271a7fa3d1
|
||||
checksum: 10c0/e27bca43bc113731ee4f2b33a4c5bf9c7eebf4d64487b814c305cbd5feb272c29fcd3d79634ba03131ade171e5972bc7ede8dbc83ba0deb02f1e62d318c87770
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -1540,14 +1540,14 @@ __metadata:
|
|||
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.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"
|
||||
"@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.24.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
|
||||
version: 7.24.9
|
||||
resolution: "@babel/types@npm:7.24.9"
|
||||
dependencies:
|
||||
"@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/2d7bf561ae993e794cb052c5a81d3a6d1877da13e1e2eb2a59ae75a8fb1c965b618fb3e4abd42548f5f9a4587d3a149185a32d6c4c4ea82195da7dd86f2da0f1
|
||||
checksum: 10c0/4970b3481cab39c5c3fdb7c28c834df5c7049f3c7f43baeafe121bb05270ebf0da7c65b097abf314877f213baa591109c82204f30d66cdd46c22ece4a2f32415
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
Loading…
Reference in New Issue