diff --git a/src/CONST.ts b/src/CONST.ts index a983a18e3d6a..de458fa67c09 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2059,7 +2059,7 @@ const CONST = { LOGIN_CHARACTER_LIMIT: 254, CATEGORY_NAME_LIMIT: 256, TAG_NAME_LIMIT: 256, - REPORT_NAME_LIMIT: 256, + REPORT_NAME_LIMIT: 100, TITLE_CHARACTER_LIMIT: 100, DESCRIPTION_LIMIT: 500, WORKSPACE_NAME_CHARACTER_LIMIT: 80, diff --git a/src/libs/ValidationUtils.ts b/src/libs/ValidationUtils.ts index d5a87fc07e28..13fe326c2c1c 100644 --- a/src/libs/ValidationUtils.ts +++ b/src/libs/ValidationUtils.ts @@ -337,7 +337,7 @@ function isValidCompanyName(name: string) { } function isValidReportName(name: string) { - return name.trim().length < CONST.REPORT_NAME_LIMIT; + return name.trim().length <= CONST.REPORT_NAME_LIMIT; } /** diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index 8d337df4feba..504c8e33b3ee 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -57,6 +57,7 @@ import {prepareDraftComment} from '@libs/DraftCommentUtils'; import * as EmojiUtils from '@libs/EmojiUtils'; import * as Environment from '@libs/Environment/Environment'; import * as ErrorUtils from '@libs/ErrorUtils'; +import * as Localize from '@libs/Localize'; import Log from '@libs/Log'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; @@ -636,14 +637,44 @@ function updateGroupChatName(reportID: string, reportName: string) { key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`, value: { reportName, + pendingFields: { + reportName: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE, + }, errorFields: { reportName: null, }, }, }, ]; + + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`, + value: { + pendingFields: { + reportName: null, + }, + }, + }, + ]; + const failureData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`, + value: { + reportName: currentReportData?.[reportID]?.reportName ?? null, + errors: { + reportName: Localize.translateLocal('common.genericErrorMessage'), + }, + pendingFields: { + reportName: null, + }, + }, + }, + ]; const parameters: UpdateGroupChatNameParams = {reportName, reportID}; - API.write(WRITE_COMMANDS.UPDATE_GROUP_CHAT_NAME, parameters, {optimisticData}); + API.write(WRITE_COMMANDS.UPDATE_GROUP_CHAT_NAME, parameters, {optimisticData, successData, failureData}); } function updateGroupChatAvatar(reportID: string, file?: File | CustomRNImageManipulatorResult) {