OptionalauditCap on the audit log size. When exceeded, the oldest entries are
dropped and a { userId: '__truncated__' } sentinel is inserted
at the head so consumers can render "older entries omitted".
Fabric.js canvas instance
File ID for this whiteboard
OptionalfileThe file owner's userId. Used together with sharedWith to filter
incoming broadcast messages. Only messages from the owner or a user
in sharedWith are accepted.
OptionalgetCalled when the owner needs to attach the current background spec
to a late-joiner snapshot. Returns the current pages spec (no
dataUrls) and active page index. The receiver applies via
onRemoteBackgroundPagesSpec after the canvas loads.
OptionalinitialInitial audit-log entries to seed the in-memory buffer at mount
(typically file.events from useWhiteboardFile). Reset whenever
fileId changes. Without this the audit panel would only show
events captured during the current session.
Whether the current user is the owner
OptionalonCalled when an async operation fails
OptionalonCalled when a peer broadcasts a background-page change. Consumer
applies via useBackgroundImage.applyRemoteActivePage.
OptionalonCalled when the file owner broadcasts a full background-pages spec
(add / remove / clear). Consumer rebuilds the local backgrounds
from the spec — usually by re-fetching each sourceFileId and
rendering. Receivers ignore this event from non-owner senders.
OptionalonCalled when canvas is cleared by remote
OptionalonCalled when a peer broadcasts a laser-pointer position batch.
Consumer typically wires this directly to
useLaserPointer.handleRemoteLaserUpdate. Without this callback,
remote laser pointers are dropped silently (laser is local-only).
OptionalonCalled when a remote object is added
OptionalonCalled when a remote object is modified
OptionalonCalled when a remote object is removed
OptionalonCalled when full state is received
OptionalsharedUser IDs that have access to this file. When empty or omitted, owner-only: only the file owner's broadcasts are accepted (effectively no cross-user sync for unshared files).
OptionalstylesCustom styles
User ID
Options for the useWhiteboardSync hook