hunk.code_window:             }
               // Prevent `cancel: true` from ending the current `runAsync` call,
               // except when the default `cancel` prop is being set.
               else if (isDefaultProp(props, 'cancel')) {
                 cancelAsync(state, props.callId)
               }
             },
           },
         })
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit:             else if (hasDefaultProp(props, 'cancel')) {
  
hunk.file_path: packages/core/src/Controller.ts
hunk.type: replace
file: import { test } from 'spec.ts';
  import { RefObject } from 'react';
  import { SpringHandle } from 'core';
  import { useChain } from '../..';
  
  const refs: RefObject<SpringHandle>[] = [];
  
  test('basic usage', () => {
    // No timesteps
    useChain(refs);
  
    // With timesteps
    useChain(refs, [0, 1]);
  
    // Cut timesteps in half
    useChain(refs, [0, 1], 1000 / 2);
  });
  