mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
fix(app): keep push-to-talk release delays above 500 ms (#3453)
This commit is contained in:
1 parent
959b03b5f4
commit
f509bef1fb
7 files changed
+78
-17
No files matched your search
@@ -13,7 +13,8 @@ import {getCachedNumberFormat} from '@app/features/i18n/utils/IntlCache';
|
||||
import {Message as MessageModel} from '@app/features/messaging/models/MessagingMessage';
|
||||
import {remFromPx} from '@app/features/theme/layout/RemFromPx';
|
||||
import {Button} from '@app/features/ui/button/Button';
|
||||
import {type ComboboxOption, resolveNearestNumericOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {resolveNearestNumericOption} from '@app/features/ui/components/form/ComboboxNumericInput';
|
||||
import type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {Switch} from '@app/features/ui/components/form/FormSwitch';
|
||||
import {MockAvatar} from '@app/features/ui/components/MockAvatar';
|
||||
import MobileLayout from '@app/features/ui/state/MobileLayout';
|
||||
|
||||
@@ -15,6 +15,7 @@ import NativePermission from '@app/features/permissions/system/state/NativePermi
|
||||
import {Button} from '@app/features/ui/button/Button';
|
||||
import * as ModalCommands from '@app/features/ui/commands/ModalCommands';
|
||||
import {modal} from '@app/features/ui/commands/ModalCommands';
|
||||
import {parseNumericInput} from '@app/features/ui/components/form/ComboboxNumericInput';
|
||||
import type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {Switch} from '@app/features/ui/components/form/FormSwitch';
|
||||
import {RESET_SLIDER_TO_DEFAULT_VALUE_DESCRIPTOR, Slider} from '@app/features/ui/components/Slider';
|
||||
@@ -161,10 +162,8 @@ const resolvePushToTalkReleaseDelayInput = (
|
||||
options: ReadonlyArray<ComboboxOption<number>>,
|
||||
): number | undefined => {
|
||||
const normalized = inputValue.trim().toLowerCase();
|
||||
const numericMatch = normalized.match(/([0-9]+(?:\.[0-9]+)?)/);
|
||||
if (!numericMatch) return undefined;
|
||||
const parsedValue = Number(numericMatch[1]);
|
||||
if (!Number.isFinite(parsedValue)) return undefined;
|
||||
const parsedValue = parseNumericInput(normalized);
|
||||
if (parsedValue === undefined) return undefined;
|
||||
const unitMatch = normalized.match(/[0-9.]\s*([a-z]+)/);
|
||||
const unit = unitMatch?.[1] ?? 'ms';
|
||||
const valueInMs = unit.startsWith('s') ? parsedValue * 1000 : parsedValue;
|
||||
|
||||
@@ -12,7 +12,8 @@ import Channels from '@app/features/channel/state/Channels';
|
||||
import {getCachedNumberFormat} from '@app/features/i18n/utils/IntlCache';
|
||||
import {Message as MessageModel} from '@app/features/messaging/models/MessagingMessage';
|
||||
import {isNewMessageGroup} from '@app/features/messaging/utils/MessageGroupingUtils';
|
||||
import {type ComboboxOption, resolveNearestNumericOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {resolveNearestNumericOption} from '@app/features/ui/components/form/ComboboxNumericInput';
|
||||
import type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {Switch} from '@app/features/ui/components/form/FormSwitch';
|
||||
import {canResetSliderValue, SliderResetIconButton} from '@app/features/ui/components/slider/SliderResetIconButton';
|
||||
import type {RadioOption} from '@app/features/ui/radio_group/RadioGroup';
|
||||
|
||||
@@ -8,7 +8,8 @@ import Accessibility, {
|
||||
} from '@app/features/accessibility/state/Accessibility';
|
||||
import {APP_ZOOM_LEVEL_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors';
|
||||
import {getCachedNumberFormat} from '@app/features/i18n/utils/IntlCache';
|
||||
import {type ComboboxOption, resolveNearestNumericOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {resolveNearestNumericOption} from '@app/features/ui/components/form/ComboboxNumericInput';
|
||||
import type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {Slider} from '@app/features/ui/components/Slider';
|
||||
import {canResetSliderValue, SliderResetIconButton} from '@app/features/ui/components/slider/SliderResetIconButton';
|
||||
import {formatRoundedPercentage, roundPercentage} from '@app/features/ui/utils/PercentageFormatting';
|
||||
|
||||
Reference in new issue
Block a user