/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
shared/settings/feedback/shared.tsx
56 строк
2 KB
chrisnojima
perf: fix chat re-render hotspots, drop react-compiler bailouts (#29299)
10 июн 2026, 16:14
Не верифицирован
10 июн 2026, 16:14
78d1745
Код
Авторство
О чём код?
import * as T from '@/constants/types' import * as C from '@/constants' import * as React from 'react' import logger from '@/logger' import {RPCError} from '@/util/errors' import {androidIsTestDevice, version} from '@/constants/platform' export const getExtraChatLogsForLogSend = () => { return {} } const sendFeedbackToDaemon = async ( feedback: string, sendLogs: boolean, sendMaxBytes: boolean, setError: (e: string) => void ) => { // We don't want test devices (pre-launch reports) to send us log sends. if (androidIsTestDevice) { return } try { setError('') if (sendLogs) { await logger.dump() } const status = {version} logger.info(`Sending ${sendLogs ? 'log' : 'feedback'} to daemon`) const extra = sendLogs ? {...status, ...getExtraChatLogsForLogSend()} : status const logSendId = await T.RPCGen.configLogSendRpcPromise( { feedback: feedback || '', sendLogs, sendMaxBytes, statusJSON: JSON.stringify(extra), }, C.waitingKeySettingsSendFeedback ) logger.info('logSendId is', logSendId) } catch (error) { if (!(error instanceof RPCError)) { return } logger.warn('err in sending logs', error) setError(error.desc) } } export const useSendFeedback = () => { const [error, setError] = React.useState('') const sendFeedback = (feedback: string, sendLogs: boolean, sendMaxBytes: boolean) => { C.ignorePromise(sendFeedbackToDaemon(feedback, sendLogs, sendMaxBytes, setError)) } return {error, sendFeedback} }