Merge pull request #33687 from overleaf/mj-temporary-tabs-fix

[web] Only consider real key presses to make tab permanent

GitOrigin-RevId: 50ab453445e111de2b317f50470f9f4eec39a66f
This commit is contained in:
Mathias Jakobsen
2026-05-15 08:08:28 +00:00
committed by Copybot
parent 6538c00742
commit ac961f1d40
4 changed files with 105 additions and 7 deletions
@@ -17,6 +17,10 @@ import {
useState,
} from 'react'
import { useTranslation } from 'react-i18next'
import {
TAB_USER_EDIT_EVENT,
tabsEvents,
} from '@/features/source-editor/extensions/tabs-listener'
type TabProps = {
tab: EditorFileTab
@@ -186,9 +190,9 @@ export const Tab = memo(function Tab({
const handler = () => {
makeTabPermanent(tab.id)
}
document.body.addEventListener('keydown', handler)
tabsEvents.addEventListener(TAB_USER_EDIT_EVENT, handler)
return () => {
document.body.removeEventListener('keydown', handler)
tabsEvents.removeEventListener(TAB_USER_EDIT_EVENT, handler)
}
}
}, [isSelected, makeTabPermanent, tab])