From e71d6fa34478e0a44d726b57d949f0a05d3b41db Mon Sep 17 00:00:00 2001 From: Echo Date: Wed, 15 Apr 2026 13:39:27 +0200 Subject: [PATCH] Makes RelativeTimestamp default to not showing the future (#38689) --- app/javascript/mastodon/components/account/index.tsx | 2 +- .../mastodon/components/account_list_item/index.tsx | 6 +----- app/javascript/mastodon/components/poll.tsx | 2 +- .../mastodon/components/relative_timestamp/index.tsx | 8 ++++---- .../relative_timestamp/relative_timestamp.stories.tsx | 6 +++--- app/javascript/mastodon/components/status/header.tsx | 5 +---- .../features/account_timeline/v2/status_header.tsx | 5 +---- 7 files changed, 12 insertions(+), 22 deletions(-) diff --git a/app/javascript/mastodon/components/account/index.tsx b/app/javascript/mastodon/components/account/index.tsx index d93415f15a..9ec2e13205 100644 --- a/app/javascript/mastodon/components/account/index.tsx +++ b/app/javascript/mastodon/components/account/index.tsx @@ -277,7 +277,7 @@ export const Account: React.FC = ({ if (account?.mute_expires_at) { muteTimeRemaining = ( <> - · + · ); } diff --git a/app/javascript/mastodon/components/account_list_item/index.tsx b/app/javascript/mastodon/components/account_list_item/index.tsx index 647adbfa79..34ae8b0daf 100644 --- a/app/javascript/mastodon/components/account_list_item/index.tsx +++ b/app/javascript/mastodon/components/account_list_item/index.tsx @@ -149,11 +149,7 @@ export const AccountListItem: React.FC = ({ } > {account.last_status_at ? ( - + ) : ( '-' )} diff --git a/app/javascript/mastodon/components/poll.tsx b/app/javascript/mastodon/components/poll.tsx index 3ab31f4229..c77ce8bcee 100644 --- a/app/javascript/mastodon/components/poll.tsx +++ b/app/javascript/mastodon/components/poll.tsx @@ -70,7 +70,7 @@ export const Poll: React.FC = ({ pollId, disabled, status }) => { if (expired) { return intl.formatMessage(messages.closed); } - return ; + return ; }, [expired, intl, poll]); const votesCount = useMemo(() => { if (!poll) { diff --git a/app/javascript/mastodon/components/relative_timestamp/index.tsx b/app/javascript/mastodon/components/relative_timestamp/index.tsx index 493e535a71..fa6200b7d1 100644 --- a/app/javascript/mastodon/components/relative_timestamp/index.tsx +++ b/app/javascript/mastodon/components/relative_timestamp/index.tsx @@ -23,16 +23,16 @@ export const RelativeTimestamp: FC<{ timestamp: string; long?: boolean; noTime?: boolean; - noFuture?: boolean; -}> = ({ timestamp, long = false, noTime = false, noFuture = false }) => { + hasFuture?: boolean; +}> = ({ timestamp, long = false, noTime = false, hasFuture = false }) => { const intl = useIntl(); const [now, setNow] = useState(() => Date.now()); const date = useMemo(() => { const date = new Date(timestamp); - return noFuture ? new Date(Math.min(date.getTime(), now)) : date; - }, [noFuture, now, timestamp]); + return !hasFuture ? new Date(Math.min(date.getTime(), now)) : date; + }, [hasFuture, now, timestamp]); const ts = date.getTime(); useEffect(() => { diff --git a/app/javascript/mastodon/components/relative_timestamp/relative_timestamp.stories.tsx b/app/javascript/mastodon/components/relative_timestamp/relative_timestamp.stories.tsx index 978382515d..96965d3f3a 100644 --- a/app/javascript/mastodon/components/relative_timestamp/relative_timestamp.stories.tsx +++ b/app/javascript/mastodon/components/relative_timestamp/relative_timestamp.stories.tsx @@ -11,7 +11,7 @@ const meta = { timestamp: new Date(Date.now() - DAY * 3).toISOString(), long: false, noTime: false, - noFuture: false, + hasFuture: false, }, argTypes: { timestamp: { @@ -44,10 +44,10 @@ export const DateOnly: Story = { }, }; -export const NoFuture: Story = { +export const HasFuture: Story = { args: { timestamp: new Date(Date.now() + DAY * 3).toISOString(), - noFuture: true, + hasFuture: true, }, }; diff --git a/app/javascript/mastodon/components/status/header.tsx b/app/javascript/mastodon/components/status/header.tsx index 9b1445e9c1..65790bb493 100644 --- a/app/javascript/mastodon/components/status/header.tsx +++ b/app/javascript/mastodon/components/status/header.tsx @@ -56,10 +56,7 @@ export const StatusHeader: FC = ({ className='status__relative-time' > - + {editedAt && } diff --git a/app/javascript/mastodon/features/account_timeline/v2/status_header.tsx b/app/javascript/mastodon/features/account_timeline/v2/status_header.tsx index 9958a47d96..5f0ff88685 100644 --- a/app/javascript/mastodon/features/account_timeline/v2/status_header.tsx +++ b/app/javascript/mastodon/features/account_timeline/v2/status_header.tsx @@ -36,10 +36,7 @@ export const AccountStatusHeader: FC = ({ className='status__relative-time' > - + {editedAt && }