[workbench] Improve asynchronous tool use (#30184)

GitOrigin-RevId: d1bd33469b557c29968049af99b9c3c85731151d
This commit is contained in:
Alf Eaton
2025-12-10 09:06:43 +00:00
committed by Copybot
parent 851f0c92b1
commit b811da0695
13 changed files with 40 additions and 25 deletions
@@ -14,6 +14,7 @@ import {
import classNames from 'classnames'
import { useCallback, useMemo } from 'react'
import { useTranslation } from 'react-i18next'
import { Doc } from '@ol-types/doc'
// Should be kept in sync with $max-user-circles-displayed CSS constant
const MAX_USER_CIRCLES_DISPLAYED = 5
@@ -26,7 +27,7 @@ export const OnlineUsersWidget = ({
goToUser,
}: {
onlineUsers: OnlineUser[]
goToUser: (user: OnlineUser) => void
goToUser: (user: OnlineUser) => Promise<Doc | undefined>
}) => {
const hasOverflow = onlineUsers.length > MAX_USER_CIRCLES_DISPLAYED
const usersBeforeOverflow = useMemo(
@@ -11,9 +11,9 @@ export const OnlineUsers = () => {
const { onlineUsersArray } = useOnlineUsersContext()
const goToUser = useCallback(
(user: OnlineUser) => {
async (user: OnlineUser) => {
if (user.doc && typeof user.row === 'number') {
openDoc(user.doc, { gotoLine: user.row + 1 })
return await openDoc(user.doc, { gotoLine: user.row + 1 })
}
},
[openDoc]