@@ -242,47 +242,45 @@ export function useUpdateStartEndTimeCell() {
242242 const { rowMap, ensureRow } = useDatabaseContext ( ) ;
243243
244244 return useCallback (
245- ( rowId : string , fieldId : string , startTimestamp : string , endTimestamp ?: string , isAllDay ?: boolean ) => {
246- void ( async ( ) => {
247- let rowDoc = rowMap ?. [ rowId ] ;
248- let target = rowDoc ? getWritableRowTarget ( rowDoc ) : null ;
245+ async ( rowId : string , fieldId : string , startTimestamp : string , endTimestamp ?: string , isAllDay ?: boolean ) => {
246+ let rowDoc = rowMap ?. [ rowId ] ;
247+ let target = rowDoc ? getWritableRowTarget ( rowDoc ) : null ;
249248
250- if ( ! target && ensureRow ) {
251- rowDoc = ( await ensureRow ( rowId ) ) ?? rowDoc ;
252- target = rowDoc ? await waitForWritableRowTarget ( rowDoc ) : null ;
253- }
249+ if ( ! target && ensureRow ) {
250+ rowDoc = ( await ensureRow ( rowId ) ) ?? rowDoc ;
251+ target = rowDoc ? await waitForWritableRowTarget ( rowDoc ) : null ;
252+ }
254253
255- if ( ! rowDoc || ! target ) {
256- Log . warn ( '[useUpdateStartEndTimeCell] Row doc not ready for cell update' , { rowId, fieldId } ) ;
257- return ;
258- }
254+ if ( ! rowDoc || ! target ) {
255+ const error = new Error ( 'Row doc not ready for cell update' ) ;
256+
257+ Log . warn ( '[useUpdateStartEndTimeCell] Row doc not ready for cell update' , { rowId, fieldId } ) ;
258+ throw error ;
259+ }
259260
260- const writableTarget = target ;
261+ const writableTarget = target ;
261262
262- rowDoc . transact ( ( ) => {
263- let cell = writableTarget . cells . get ( fieldId ) ;
263+ rowDoc . transact ( ( ) => {
264+ let cell = writableTarget . cells . get ( fieldId ) ;
264265
265- if ( ! cell ) {
266- cell = new Y . Map ( ) as YDatabaseCell ;
267- cell . set ( YjsDatabaseKey . field_type , FieldType . DateTime ) ;
266+ if ( ! cell ) {
267+ cell = new Y . Map ( ) as YDatabaseCell ;
268+ cell . set ( YjsDatabaseKey . field_type , FieldType . DateTime ) ;
268269
269- cell . set ( YjsDatabaseKey . created_at , String ( dayjs ( ) . unix ( ) ) ) ;
270- writableTarget . cells . set ( fieldId , cell ) ;
271- }
270+ cell . set ( YjsDatabaseKey . created_at , String ( dayjs ( ) . unix ( ) ) ) ;
271+ writableTarget . cells . set ( fieldId , cell ) ;
272+ }
272273
273- cell . set ( YjsDatabaseKey . data , startTimestamp ) ;
274- cell . set ( YjsDatabaseKey . last_modified , String ( dayjs ( ) . unix ( ) ) ) ;
274+ cell . set ( YjsDatabaseKey . data , startTimestamp ) ;
275+ cell . set ( YjsDatabaseKey . last_modified , String ( dayjs ( ) . unix ( ) ) ) ;
275276
276- updateDateCell ( cell , {
277- data : startTimestamp ,
278- endTimestamp,
279- isRange : ! ! endTimestamp ,
280- includeTime : ! isAllDay ,
281- } ) ;
282- writableTarget . row . set ( YjsDatabaseKey . last_modified , String ( dayjs ( ) . unix ( ) ) ) ;
277+ updateDateCell ( cell , {
278+ data : startTimestamp ,
279+ endTimestamp,
280+ isRange : ! ! endTimestamp ,
281+ includeTime : ! isAllDay ,
283282 } ) ;
284- } ) ( ) . catch ( ( error : unknown ) => {
285- Log . error ( '[useUpdateStartEndTimeCell] failed to update cell' , { rowId, fieldId, error } ) ;
283+ writableTarget . row . set ( YjsDatabaseKey . last_modified , String ( dayjs ( ) . unix ( ) ) ) ;
286284 } ) ;
287285 } ,
288286 [ ensureRow , rowMap ]
0 commit comments