mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-18 18:18:23 -05:00
Rename "Self-Deleting Messages" to "Burn-on-Read Messages" (#35318) (#35331)
Some checks are pending
Server CI / Compute Go Version (push) Waiting to run
Server CI / Check mocks (push) Blocked by required conditions
Server CI / Check go mod tidy (push) Blocked by required conditions
Server CI / check-style (push) Blocked by required conditions
Server CI / Check serialization methods for hot structs (push) Blocked by required conditions
Server CI / Vet API (push) Blocked by required conditions
Server CI / Check migration files (push) Blocked by required conditions
Server CI / Generate email templates (push) Blocked by required conditions
Server CI / Check store layers (push) Blocked by required conditions
Server CI / Check mmctl docs (push) Blocked by required conditions
Server CI / Postgres with binary parameters (push) Blocked by required conditions
Server CI / Postgres (push) Blocked by required conditions
Server CI / Postgres (FIPS) (push) Blocked by required conditions
Server CI / Generate Test Coverage (push) Blocked by required conditions
Server CI / Run mmctl tests (push) Blocked by required conditions
Server CI / Run mmctl tests (FIPS) (push) Blocked by required conditions
Server CI / Build mattermost server app (push) Blocked by required conditions
Web App CI / check-lint (push) Waiting to run
Web App CI / check-i18n (push) Blocked by required conditions
Web App CI / check-types (push) Blocked by required conditions
Web App CI / test (platform) (push) Blocked by required conditions
Web App CI / test (mattermost-redux) (push) Blocked by required conditions
Web App CI / test (channels shard 1/4) (push) Blocked by required conditions
Web App CI / test (channels shard 2/4) (push) Blocked by required conditions
Web App CI / test (channels shard 3/4) (push) Blocked by required conditions
Web App CI / test (channels shard 4/4) (push) Blocked by required conditions
Web App CI / upload-coverage (push) Blocked by required conditions
Web App CI / build (push) Blocked by required conditions
Some checks are pending
Server CI / Compute Go Version (push) Waiting to run
Server CI / Check mocks (push) Blocked by required conditions
Server CI / Check go mod tidy (push) Blocked by required conditions
Server CI / check-style (push) Blocked by required conditions
Server CI / Check serialization methods for hot structs (push) Blocked by required conditions
Server CI / Vet API (push) Blocked by required conditions
Server CI / Check migration files (push) Blocked by required conditions
Server CI / Generate email templates (push) Blocked by required conditions
Server CI / Check store layers (push) Blocked by required conditions
Server CI / Check mmctl docs (push) Blocked by required conditions
Server CI / Postgres with binary parameters (push) Blocked by required conditions
Server CI / Postgres (push) Blocked by required conditions
Server CI / Postgres (FIPS) (push) Blocked by required conditions
Server CI / Generate Test Coverage (push) Blocked by required conditions
Server CI / Run mmctl tests (push) Blocked by required conditions
Server CI / Run mmctl tests (FIPS) (push) Blocked by required conditions
Server CI / Build mattermost server app (push) Blocked by required conditions
Web App CI / check-lint (push) Waiting to run
Web App CI / check-i18n (push) Blocked by required conditions
Web App CI / check-types (push) Blocked by required conditions
Web App CI / test (platform) (push) Blocked by required conditions
Web App CI / test (mattermost-redux) (push) Blocked by required conditions
Web App CI / test (channels shard 1/4) (push) Blocked by required conditions
Web App CI / test (channels shard 2/4) (push) Blocked by required conditions
Web App CI / test (channels shard 3/4) (push) Blocked by required conditions
Web App CI / test (channels shard 4/4) (push) Blocked by required conditions
Web App CI / upload-coverage (push) Blocked by required conditions
Web App CI / build (push) Blocked by required conditions
* Rename "Self-Deleting Messages" to "Burn-on-Read Messages"
Updated the Burn on Read feature naming in the System Console for consistency with the product terminology and made all Posts subsection titles translatable for better internationalization support.
- Renamed section title from "Self-Deleting Messages" to "Burn-on-Read Messages"
- Updated section description to clarify that messages delete after being read (removed "or sent")
- Added translation keys for all 6 Posts subsection titles
- Updated type definitions and UI components to support translatable subsection titles
* Linting
---------
(cherry picked from commit 28406fbe23)
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
35408e8b14
commit
cd1fe0a98f
8 changed files with 57 additions and 35 deletions
|
|
@ -3006,7 +3006,7 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
sections: [
|
||||
{
|
||||
key: 'PostSettings.Threads',
|
||||
title: 'Threads',
|
||||
title: defineMessage({id: 'admin.posts.sections.threads.title', defaultMessage: 'Threads'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.threads.description', defaultMessage: 'Configure threaded discussions and auto-follow defaults.'}),
|
||||
settings: [
|
||||
{
|
||||
|
|
@ -3066,7 +3066,7 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
},
|
||||
{
|
||||
key: 'PostSettings.Drafts',
|
||||
title: 'Drafts and Scheduled Posts',
|
||||
title: defineMessage({id: 'admin.posts.sections.drafts.title', defaultMessage: 'Drafts and Scheduled Posts'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.drafts.description', defaultMessage: 'Control draft syncing and scheduled sending.'}),
|
||||
settings: [
|
||||
{
|
||||
|
|
@ -3089,7 +3089,7 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
},
|
||||
{
|
||||
key: 'PostSettings.Priority',
|
||||
title: 'Priority & Urgent Notifications',
|
||||
title: defineMessage({id: 'admin.posts.sections.priority.title', defaultMessage: 'Priority & Urgent Notifications'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.priority.description', defaultMessage: 'Set message priority and repeating notifications for urgent delivery.'}),
|
||||
settings: [
|
||||
{
|
||||
|
|
@ -3223,8 +3223,8 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
},
|
||||
{
|
||||
key: 'PostSettings.BurnOnRead',
|
||||
title: 'Self-Deleting Messages',
|
||||
description: defineMessage({id: 'admin.posts.sections.burnOnRead.description', defaultMessage: 'Controls for messages that delete automatically a certain time after being sent or read.'}),
|
||||
title: defineMessage({id: 'admin.posts.sections.burnOnRead.title', defaultMessage: 'Burn-on-Read Messages'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.burnOnRead.description', defaultMessage: 'Controls for messages that delete automatically a certain time after being read.'}),
|
||||
license_sku: LicenseSkus.EnterpriseAdvanced,
|
||||
component: LicensedSectionContainer,
|
||||
componentProps: {
|
||||
|
|
@ -3333,7 +3333,7 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
},
|
||||
{
|
||||
key: 'PostSettings.Previews',
|
||||
title: 'Content & Previews',
|
||||
title: defineMessage({id: 'admin.posts.sections.previews.title', defaultMessage: 'Content & Previews'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.previews.description', defaultMessage: 'Configure link previews and how advanced formatting renders.'}),
|
||||
settings: [
|
||||
{
|
||||
|
|
@ -3437,7 +3437,7 @@ const AdminDefinition: AdminDefinitionType = {
|
|||
},
|
||||
{
|
||||
key: 'PostSettings.Performance',
|
||||
title: 'Performance & Limits',
|
||||
title: defineMessage({id: 'admin.posts.sections.performance.title', defaultMessage: 'Performance & Limits'}),
|
||||
description: defineMessage({id: 'admin.posts.sections.performance.description', defaultMessage: 'Configure limits that protect client performance and rendering.'}),
|
||||
settings: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import './custom_profile_attributes.scss';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
import {FormattedMessage, defineMessage} from 'react-intl';
|
||||
import {useSelector} from 'react-redux';
|
||||
import {Link} from 'react-router-dom';
|
||||
|
||||
|
|
@ -135,12 +135,10 @@ const CustomProfileAttributes: React.FC<Props> = (props: Props): JSX.Element | n
|
|||
<div className='custom-profile-attributes'>
|
||||
<SettingsGroup
|
||||
id={props.id}
|
||||
title={
|
||||
<FormattedMessage
|
||||
id='admin.customProfileAttributes.title'
|
||||
defaultMessage='Custom profile attributes sync'
|
||||
/>
|
||||
}
|
||||
title={defineMessage({
|
||||
id: 'admin.customProfileAttributes.title',
|
||||
defaultMessage: 'Custom profile attributes sync',
|
||||
})}
|
||||
container={false}
|
||||
subtitle={
|
||||
<FormattedMessage
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import AdminHeader from 'components/widgets/admin_console/admin_header';
|
|||
import WithTooltip from 'components/with_tooltip';
|
||||
|
||||
import Constants from 'utils/constants';
|
||||
import {isMessageDescriptor} from 'utils/i18n';
|
||||
|
||||
import LDAPBooleanSetting from './ldap_boolean_setting';
|
||||
import LDAPButtonSetting from './ldap_button_setting';
|
||||
|
|
@ -592,20 +593,23 @@ const LDAPWizard = (props: Props) => {
|
|||
defaultMessage='Sections'
|
||||
/>
|
||||
</div>
|
||||
{memoizedSections.map((section) => (
|
||||
<button
|
||||
key={section.key + '-sidebar-item'}
|
||||
className={`ldap-wizard-sidebar-item ${section.key === activeSectionKey ? 'ldap-wizard-sidebar-item--active' : ''}`}
|
||||
onClick={() => {
|
||||
const sectionElement = sectionRefs.current[section.key];
|
||||
if (sectionElement) {
|
||||
sectionElement.scrollIntoView({behavior: 'smooth', block: 'start'});
|
||||
}
|
||||
}}
|
||||
>
|
||||
{section.sectionTitle || section.title}
|
||||
</button>
|
||||
))}
|
||||
{memoizedSections.map((section) => {
|
||||
const title = section.sectionTitle || section.title;
|
||||
return (
|
||||
<button
|
||||
key={section.key + '-sidebar-item'}
|
||||
className={`ldap-wizard-sidebar-item ${section.key === activeSectionKey ? 'ldap-wizard-sidebar-item--active' : ''}`}
|
||||
onClick={() => {
|
||||
const sectionElement = sectionRefs.current[section.key];
|
||||
if (sectionElement) {
|
||||
sectionElement.scrollIntoView({behavior: 'smooth', block: 'start'});
|
||||
}
|
||||
}}
|
||||
>
|
||||
{isMessageDescriptor(title) ? <FormattedMessage {...title}/> : title}
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import type {GlobalState} from 'types/store';
|
|||
type OwnProps = {
|
||||
settingsList: React.ReactNode[];
|
||||
requiredSku: LicenseSkus;
|
||||
sectionTitle?: string;
|
||||
sectionTitle?: string | MessageDescriptor;
|
||||
sectionDescription?: string | MessageDescriptor;
|
||||
featureDiscoveryConfig: {
|
||||
featureName: string;
|
||||
|
|
|
|||
|
|
@ -2,12 +2,14 @@
|
|||
// See LICENSE.txt for license information.
|
||||
|
||||
import React, {memo} from 'react';
|
||||
import type {MessageDescriptor} from 'react-intl';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
type Props = {
|
||||
id?: string;
|
||||
show?: boolean;
|
||||
header?: React.ReactNode;
|
||||
title?: React.ReactNode;
|
||||
title?: string | MessageDescriptor;
|
||||
subtitle?: React.ReactNode;
|
||||
children?: React.ReactNode;
|
||||
container?: boolean;
|
||||
|
|
@ -35,7 +37,15 @@ const SettingsGroup = ({
|
|||
|
||||
let sectionTitle = null;
|
||||
if (!header && title) {
|
||||
sectionTitle = <div className={'section-title'}>{title}</div>;
|
||||
sectionTitle = (
|
||||
<div className={'section-title'}>
|
||||
{typeof title === 'string' ? (
|
||||
title
|
||||
) : (
|
||||
<FormattedMessage {...title}/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
let sectionSubtitle = null;
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ export type AdminDefinitionConfigSchemaSettings = {
|
|||
|
||||
export type AdminDefinitionConfigSchemaSection = {
|
||||
key: string;
|
||||
title?: string;
|
||||
title?: string | MessageDescriptor;
|
||||
subtitle?: string;
|
||||
description?: string | MessageDescriptor;
|
||||
license_sku?: string;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import {LicenseSkuBadge} from 'components/widgets/badges';
|
|||
import './admin_section_panel.scss';
|
||||
|
||||
type Props = {
|
||||
title?: string;
|
||||
title?: string | MessageDescriptor;
|
||||
description?: string | MessageDescriptor;
|
||||
licenseSku?: string;
|
||||
children: React.ReactNode;
|
||||
|
|
@ -28,7 +28,11 @@ const AdminSectionPanel: React.FC<Props> = ({
|
|||
<div className='AdminSectionPanel__header'>
|
||||
{title && (
|
||||
<h3 className='AdminSectionPanel__title'>
|
||||
{title}
|
||||
{typeof title === 'string' ? (
|
||||
title
|
||||
) : (
|
||||
<FormattedMessage {...title}/>
|
||||
)}
|
||||
{licenseSku && <LicenseSkuBadge sku={licenseSku}/>}
|
||||
</h3>
|
||||
)}
|
||||
|
|
|
|||
|
|
@ -2365,12 +2365,18 @@
|
|||
"admin.posts.postPriority.title": "Message Priority",
|
||||
"admin.posts.scheduledPosts.description": "When enabled, users can schedule and send messages in the future.",
|
||||
"admin.posts.scheduledPosts.title": "Scheduled Posts",
|
||||
"admin.posts.sections.burnOnRead.description": "Controls for messages that delete automatically a certain time after being sent or read.",
|
||||
"admin.posts.sections.burnOnRead.description": "Controls for messages that delete automatically a certain time after being read.",
|
||||
"admin.posts.sections.burnOnRead.title": "Burn-on-Read Messages",
|
||||
"admin.posts.sections.drafts.description": "Control draft syncing and scheduled sending.",
|
||||
"admin.posts.sections.drafts.title": "Drafts and Scheduled Posts",
|
||||
"admin.posts.sections.performance.description": "Configure limits that protect client performance and rendering.",
|
||||
"admin.posts.sections.performance.title": "Performance & Limits",
|
||||
"admin.posts.sections.previews.description": "Configure link previews and how advanced formatting renders.",
|
||||
"admin.posts.sections.previews.title": "Content & Previews",
|
||||
"admin.posts.sections.priority.description": "Set message priority and repeating notifications for urgent delivery.",
|
||||
"admin.posts.sections.priority.title": "Priority & Urgent Notifications",
|
||||
"admin.posts.sections.threads.description": "Configure threaded discussions and auto-follow defaults.",
|
||||
"admin.posts.sections.threads.title": "Threads",
|
||||
"admin.privacy.showEmailDescription": "When false, hides the email address of members from everyone except System Administrators and the System Roles with read/write access to Compliance, Billing, or User Management.",
|
||||
"admin.privacy.showEmailTitle": "Show Email Address:",
|
||||
"admin.privacy.showFullNameDescription": "When false, hides the full name of members from everyone except System Administrators. Username is shown in place of full name.",
|
||||
|
|
|
|||
Loading…
Reference in a new issue