diff --git a/packages/kit/src/utils/hardware/deviceUtils.ts b/packages/kit/src/utils/hardware/deviceUtils.ts index 5d3209bc87a..b874a10554c 100644 --- a/packages/kit/src/utils/hardware/deviceUtils.ts +++ b/packages/kit/src/utils/hardware/deviceUtils.ts @@ -461,6 +461,9 @@ class DeviceUtils { if (msg.indexOf('Failure_UnexpectedMessage') !== -1) { return new Error.UnknownMethod(payload); } + if (msg.indexOf('string overflow') !== -1) { + return new Error.NameExceedingMaximumLimit(payload); + } return new Error.UnknownHardwareError(payload); case HardwareErrorCode.PinInvalid: return new Error.InvalidPIN(payload); diff --git a/packages/kit/src/utils/hardware/errors.ts b/packages/kit/src/utils/hardware/errors.ts index 56874a9767f..002e01f00fc 100644 --- a/packages/kit/src/utils/hardware/errors.ts +++ b/packages/kit/src/utils/hardware/errors.ts @@ -60,6 +60,12 @@ export class UnknownMethod extends OneKeyHardwareError { override key: LocaleIds = 'msg__hardware_unknown_message_error'; } +export class NameExceedingMaximumLimit extends OneKeyHardwareError { + override code = HardwareErrorCode.RuntimeError; + + override key: LocaleIds = 'msg__exceeding_the_maximum_word_limit'; +} + export class ConnectTimeout extends OneKeyHardwareError { override key: LocaleIds = 'msg__hardware_connect_timeout_error'; } diff --git a/packages/kit/src/views/Hardware/Onekey/OnekeyHardwareDeviceName.tsx b/packages/kit/src/views/Hardware/Onekey/OnekeyHardwareDeviceName.tsx index 01c80317b4d..0ce48d9419c 100644 --- a/packages/kit/src/views/Hardware/Onekey/OnekeyHardwareDeviceName.tsx +++ b/packages/kit/src/views/Hardware/Onekey/OnekeyHardwareDeviceName.tsx @@ -145,7 +145,7 @@ const OnekeyHardwareDeviceName: FC = ({ control={control} rules={{ maxLength: { - value: 16, + value: 32, message: intl.formatMessage({ id: 'msg__exceeding_the_maximum_word_limit', }),