mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-12-25 13:31:15 +00:00
fix(editor): catch error when refreshing note metadata
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
0dcfb0524c
commit
29afcce555
1 changed files with 13 additions and 4 deletions
|
@ -4,6 +4,7 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
import { updateMetadata } from '../../../../../redux/note-details/methods'
|
||||
import { useUiNotifications } from '../../../../notifications/ui-notification-boundary'
|
||||
import type { MessageTransporter } from '@hedgedoc/commons'
|
||||
import { MessageType } from '@hedgedoc/commons'
|
||||
import type { Listener } from 'eventemitter2'
|
||||
|
@ -15,12 +16,20 @@ import { useEffect } from 'react'
|
|||
* @param websocketConnection The websocket connection that emits the metadata changed event
|
||||
*/
|
||||
export const useOnMetadataUpdated = (websocketConnection: MessageTransporter): void => {
|
||||
const { showErrorNotification } = useUiNotifications()
|
||||
|
||||
useEffect(() => {
|
||||
const listener = websocketConnection.on(MessageType.METADATA_UPDATED, () => void updateMetadata(), {
|
||||
objectify: true
|
||||
}) as Listener
|
||||
const listener = websocketConnection.on(
|
||||
MessageType.METADATA_UPDATED,
|
||||
() => {
|
||||
updateMetadata().catch(showErrorNotification('common.errorWhileLoading', { name: 'note metadata refresh' }))
|
||||
},
|
||||
{
|
||||
objectify: true
|
||||
}
|
||||
) as Listener
|
||||
return () => {
|
||||
listener.off()
|
||||
}
|
||||
}, [websocketConnection])
|
||||
}, [showErrorNotification, websocketConnection])
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue