mirror of
https://github.com/RocketChat/Rocket.Chat.git
synced 2025-12-28 06:47:25 +00:00
feat: Move Timestamp parser out of Feature Preview (#36976)
This commit is contained in:
parent
d7a620459b
commit
0c02586046
8
.changeset/empty-buses-walk.md
Normal file
8
.changeset/empty-buses-walk.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
"@rocket.chat/meteor": major
|
||||
"@rocket.chat/gazzodown": major
|
||||
"@rocket.chat/i18n": major
|
||||
"@rocket.chat/ui-client": major
|
||||
---
|
||||
|
||||
Promotes Timestamp Parser from preview state to stable
|
||||
@ -3,7 +3,6 @@ import { useLocalStorage } from '@rocket.chat/fuselage-hooks';
|
||||
import type { ChannelMention, UserMention } from '@rocket.chat/gazzodown';
|
||||
import { MarkupInteractionContext } from '@rocket.chat/gazzodown';
|
||||
import { escapeRegExp } from '@rocket.chat/string-helpers';
|
||||
import { useFeaturePreview } from '@rocket.chat/ui-client';
|
||||
import { useLayout, useRouter, useUserPreference, useUserId, useUserCard } from '@rocket.chat/ui-contexts';
|
||||
import type { UIEvent } from 'react';
|
||||
import { useCallback, memo, useMemo } from 'react';
|
||||
@ -26,7 +25,6 @@ type GazzodownTextProps = {
|
||||
};
|
||||
|
||||
const GazzodownText = ({ mentions, channels, searchText, children }: GazzodownTextProps) => {
|
||||
const enableTimestamp = useFeaturePreview('enable-timestamp-message-parser');
|
||||
const [userLanguage] = useLocalStorage('userLanguage', 'en');
|
||||
|
||||
const highlights = useMessageListHighlights();
|
||||
@ -136,7 +134,6 @@ const GazzodownText = ({ mentions, channels, searchText, children }: GazzodownTe
|
||||
ownUserId,
|
||||
showMentionSymbol,
|
||||
triggerProps,
|
||||
enableTimestamp,
|
||||
language: userLanguage,
|
||||
}}
|
||||
>
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import type { GenericMenuItemProps } from '@rocket.chat/ui-client';
|
||||
import { useFeaturePreview } from '@rocket.chat/ui-client';
|
||||
import { useSetModal } from '@rocket.chat/ui-contexts';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
@ -9,11 +8,6 @@ import type { ComposerAPI } from '../../../../../../lib/chats/ChatAPI';
|
||||
export const useTimestampAction = (composer: ComposerAPI | undefined): GenericMenuItemProps | undefined => {
|
||||
const setModal = useSetModal();
|
||||
const { t } = useTranslation();
|
||||
const timestampFeatureEnabled = useFeaturePreview('enable-timestamp-message-parser');
|
||||
|
||||
if (!timestampFeatureEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
const handleClick = () => {
|
||||
if (!composer) {
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 50 KiB |
@ -16,7 +16,7 @@ export default {
|
||||
decorators: [
|
||||
(Story) => (
|
||||
<Suspense fallback={null}>
|
||||
<MarkupInteractionContext.Provider value={{ enableTimestamp: true }}>
|
||||
<MarkupInteractionContext.Provider value={{}}>
|
||||
<MessageContainer>
|
||||
<MessageBody>
|
||||
<Box
|
||||
|
||||
@ -23,7 +23,6 @@ type MarkupInteractionContextValue = {
|
||||
ownUserId?: string | null;
|
||||
showMentionSymbol?: boolean;
|
||||
triggerProps?: AriaButtonProps<'button'>;
|
||||
enableTimestamp?: boolean;
|
||||
language?: string;
|
||||
};
|
||||
|
||||
|
||||
@ -35,19 +35,11 @@ const Timestamp = ({ format, value }: { format: 't' | 'T' | 'd' | 'D' | 'f' | 'F
|
||||
};
|
||||
|
||||
// eslint-disable-next-line react/no-multi-comp
|
||||
const TimestampWrapper = ({ children }: BoldSpanProps) => {
|
||||
const { enableTimestamp } = useContext(MarkupInteractionContext);
|
||||
|
||||
if (!enableTimestamp) {
|
||||
return <>{`<t:${children.value.timestamp}:${children.value.format}>`}</>;
|
||||
}
|
||||
|
||||
return (
|
||||
<ErrorBoundary fallback={<>{new Date(parseInt(children.value.timestamp) * 1000).toUTCString()}</>}>
|
||||
<Timestamp format={children.value.format} value={new Date(parseInt(children.value.timestamp) * 1000)} />
|
||||
</ErrorBoundary>
|
||||
);
|
||||
};
|
||||
const TimestampWrapper = ({ children }: BoldSpanProps) => (
|
||||
<ErrorBoundary fallback={<>{new Date(parseInt(children.value.timestamp) * 1000).toUTCString()}</>}>
|
||||
<Timestamp format={children.value.format} value={new Date(parseInt(children.value.timestamp) * 1000)} />
|
||||
</ErrorBoundary>
|
||||
);
|
||||
|
||||
// eslint-disable-next-line react/no-multi-comp
|
||||
const ShortTime = ({ value }: { value: Date }) => <Time value={format(value, 'p')} dateTime={value.toISOString()} />;
|
||||
|
||||
@ -1996,8 +1996,6 @@
|
||||
"Enable_of_limit_apps_currently_enabled": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** Disable another {{context}} app or upgrade to Premium to enable this app.",
|
||||
"Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nCommunity app limit has been exceeded. \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** You will need to disable at least {{exceed}} other {{context}} apps or upgrade to a Premium plan to enable this app.",
|
||||
"Enable_omnichannel_auto_close_abandoned_rooms": "Enable automatic closing of rooms abandoned by the visitor",
|
||||
"Enable_timestamp": "Timestamp in messages",
|
||||
"Enable_timestamp_description": "Render Unix timestamps inside messages in your local (system) timezone.",
|
||||
"Enable_to_bypass_email_verification": "Enable to bypass email verification",
|
||||
"Enable_two-factor_authentication": "Enable two-factor authentication",
|
||||
"Enable_two-factor_authentication_callout_description": "Two-factor authentication (2FA) is now required for your account on this workspace. 2FA must be setup and enabled before you can proceed with other tasks.",
|
||||
|
||||
@ -1898,8 +1898,6 @@
|
||||
"Enable_of_limit_apps_currently_enabled": "**{{enabled}} av {{limit}} {{context}} apper er for øyeblikket aktivert.** \n \nArbeidsområder på Community-utgave kan ha opptil {{limit}} {{context}} apper aktivert. \n \n**{{appName}} vil bli deaktivert som standard.** Deaktiver en annen {{context}} app eller oppgrader til Premium for å aktivere denne appen.",
|
||||
"Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} av {{limit}} {{context}} apper er for øyeblikket aktivert.** \n \nGrensen for apper i Community-utgave er overskredet. \n \nArbeidsområder i Community-utgave kan ha opptil {{limit}} {{context}} apper aktivert. \n \n**{{appName}} vil være deaktivert som standard.** Du må deaktivere minst {{exceed}} andre {{context}} apper eller oppgradere til et Premium-abonnement for å aktivere denne appen.",
|
||||
"Enable_omnichannel_auto_close_abandoned_rooms": "Aktiver automatisk stenging av rom som er forlatt av de besøkende",
|
||||
"Enable_timestamp": "Tidsstempel i meldinger",
|
||||
"Enable_timestamp_description": "Gjengi Unix-tidsstempler inne i meldinger i din lokale (system) tidssone.",
|
||||
"Enable_to_bypass_email_verification": "Aktiver for å omgå e-postbekreftelse",
|
||||
"Enable_two-factor_authentication": "Aktiver tofaktorautentisering via TOTP",
|
||||
"Enable_two-factor_authentication_callout_description": "To-faktor autentisering (2FA) er nå påkrevd for kontoen din på dette arbeidsområdet. 2FA må være konfigurert og aktivert før du kan fortsette med andre oppgaver.",
|
||||
|
||||
@ -1847,8 +1847,6 @@
|
||||
"Enable_of_limit_apps_currently_enabled": "**{{enabled}} av {{limit}} {{context}} apper er for øyeblikket aktivert.** \n \nArbeidsområder på Community-utgave kan ha opptil {{limit}} {{context}} apper aktivert. \n \n**{{appName}} vil bli deaktivert som standard.** Deaktiver en annen {{context}} app eller oppgrader til Premium for å aktivere denne appen.",
|
||||
"Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} av {{limit}} {{context}} apper er for øyeblikket aktivert.** \n \nGrensen for apper i Community-utgave er overskredet. \n \nArbeidsområder i Community-utgave kan ha opptil {{limit}} {{context}} apper aktivert. \n \n**{{appName}} vil være deaktivert som standard.** Du må deaktivere minst {{exceed}} andre {{context}} apper eller oppgradere til et Premium-abonnement for å aktivere denne appen.",
|
||||
"Enable_omnichannel_auto_close_abandoned_rooms": "Aktiver automatisk stenging av rom som er forlatt av de besøkende",
|
||||
"Enable_timestamp": "Tidsstempel i meldinger",
|
||||
"Enable_timestamp_description": "Gjengi Unix-tidsstempler inne i meldinger i din lokale (system) tidssone.",
|
||||
"Enable_to_bypass_email_verification": "Aktiver for å omgå e-postbekreftelse",
|
||||
"Enable_two-factor_authentication": "Aktiver tofaktorautentisering",
|
||||
"Enable_unlimited_apps": "Aktiver ubegrensede apper",
|
||||
|
||||
@ -1879,8 +1879,6 @@
|
||||
"Enable_of_limit_apps_currently_enabled": "**{{enabled}} de {{limit}} {{context}} aplicativos atualmente habilitados \n \nOs espaços de trabalho na Comunidade podem ter até {{limit}} {{context}} aplicativos ativados. \n \n** O{{appName}} será desativado por padrão.** Desative outro aplicativo {{context}} ou faça upgrade para o Premium para ativar esse aplicativo.",
|
||||
"Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} de {{limit}} {{context}} aplicativos atualmente habilitados \n \nO limite de aplicativos da comunidade foi excedido. \n \nOs espaços de trabalho na Comunidade podem ter até {{limit}} {{context}} aplicativos ativados. \n \n**{{appName}} será desativado por padrão.** Você precisará desativar pelo menos {{exceed}} outros aplicativos {{context}} ou fazer upgrade para um plano Premium para ativar esse aplicativo.",
|
||||
"Enable_omnichannel_auto_close_abandoned_rooms": "Habilitar o fechamento automático de salas abandonadas pelo visitante",
|
||||
"Enable_timestamp": "Registro de data e hora nas mensagens",
|
||||
"Enable_timestamp_description": "Renderiza os carimbos de data e hora Unix dentro das mensagens em seu fuso horário local (do sistema).",
|
||||
"Enable_to_bypass_email_verification": "Ativar para ignorar a verificação de e-mail",
|
||||
"Enable_two-factor_authentication": "Ativar autenticação de dois fatores por TOTP",
|
||||
"Enable_two-factor_authentication_callout_description": "A autenticação de dois fatores (2FA) agora é necessária para sua conta neste espaço de trabalho. a 2FA deve ser configurada e ativada antes que você possa prosseguir com outras tarefas.",
|
||||
|
||||
@ -1881,8 +1881,6 @@
|
||||
"Enable_of_limit_apps_currently_enabled": "**{{enabled}} av {{limit}} {{context}} appar som för närvarande är aktiverade.** \n \nArbetsytorna i Community Edition kan ha upp till {{limit}} {{context}} appar aktiverade. \n \n**{{appName}} är inaktiverad som standard.** Inaktivera en annan {{context}}-app eller uppgradera till Enterprise för att aktivera den här appen.",
|
||||
"Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} av {{limit}} {{context}} appar som för närvarande är aktiverade.** \n \nGränsen för apparna i gemenskapsutgåvan har överskridits. \n \nArbetsytorna i Community Edition kan ha upp till {{limit}} {{context}} appar aktiverade. \n \n**{{appName}} är inaktiverad som standard.** Du måste inaktivera minst {{exceed}} andra {{context}}-appar eller uppgradera till Enterprise för att aktivera den här appen.",
|
||||
"Enable_omnichannel_auto_close_abandoned_rooms": "Aktivera automatisk stängning av rum som avbrutits av besökaren",
|
||||
"Enable_timestamp": "Tidsstämpel i meddelanden",
|
||||
"Enable_timestamp_description": "Återge Unix-tidsstämplar i meddelanden i din lokala (system-) tidszon.",
|
||||
"Enable_to_bypass_email_verification": "Aktivera för att kringgå e-postverifiering",
|
||||
"Enable_two-factor_authentication": "Aktivera tvåfaktorsautentisering",
|
||||
"Enable_two-factor_authentication_callout_description": "Tvåfaktorsautentisering (2FA) krävs nu för ditt konto på den här arbetsytan. 2FA måste konfigureras och aktiveras innan du kan fortsätta med andra uppgifter.",
|
||||
|
||||
@ -2,7 +2,6 @@ import type { TranslationKey } from '@rocket.chat/ui-contexts';
|
||||
|
||||
export type FeaturesAvailable =
|
||||
| 'quickReactions'
|
||||
| 'enable-timestamp-message-parser'
|
||||
| 'contextualbarResizable'
|
||||
| 'newNavigation'
|
||||
| 'secondarySidebar';
|
||||
@ -33,15 +32,6 @@ export const defaultFeaturesPreview: FeaturePreviewProps[] = [
|
||||
value: false,
|
||||
enabled: true,
|
||||
},
|
||||
{
|
||||
name: 'enable-timestamp-message-parser',
|
||||
i18n: 'Enable_timestamp',
|
||||
description: 'Enable_timestamp_description',
|
||||
group: 'Message',
|
||||
imageUrl: 'images/featurePreview/timestamp.png',
|
||||
value: false,
|
||||
enabled: true,
|
||||
},
|
||||
{
|
||||
name: 'contextualbarResizable',
|
||||
i18n: 'Contextualbar_resizable',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user