feat: Prevent Screen Sleep During Response Generation (#10597)

* feat: prevent screen sleep during response generation

* refactor: screen wake lock functionality during response generation

* chore: import order

* chore: reorder import statements in WakeLockManager component

---------

Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
michnovka 2025-11-21 15:14:32 +01:00 committed by GitHub
parent 5ac9ac57cc
commit 040d083088
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 262 additions and 0 deletions

View file

@ -190,6 +190,14 @@ const isSubmittingFamily = atomFamily({
],
});
const anySubmittingSelector = selector<boolean>({
key: 'anySubmittingSelector',
get: ({ get }) => {
const keys = get(conversationKeysAtom);
return keys.some((key) => get(isSubmittingFamily(key)) === true);
},
});
const optionSettingsFamily = atomFamily<TOptionSettings, string | number>({
key: 'optionSettingsByIndex',
default: {},
@ -399,6 +407,7 @@ export default {
showPopoverFamily,
latestMessageFamily,
messagesSiblingIdxFamily,
anySubmittingSelector,
allConversationsSelector,
conversationByKeySelector,
useClearConvoState,

View file

@ -25,6 +25,7 @@ const localStorageAtoms = {
LocalStorageKeys.ENABLE_USER_MSG_MARKDOWN,
true,
),
keepScreenAwake: atomWithLocalStorage('keepScreenAwake', true),
// Chat settings
enterToSend: atomWithLocalStorage('enterToSend', true),