rowy icon indicating copy to clipboard operation
rowy copied to clipboard

Derivative with Connected Table listener not reacting to changes

Open oersted opened this issue 8 months ago • 2 comments

Describe the bug

Derivatives listening to a Connected Table column fail to react to changes in any of their dependencies, even if the column that was changed was not a Connected Table column.

The logs of the Cloud Function show the following internal error:

TypeError: change.before.get(...).map is not a function
  at .updateLinks ( /workspace/src/propagates/index.js:22 )
  at undefined. ( /workspace/src/propagates/index.js:46 )
  at .Array.forEach
  at .propagate ( /workspace/src/propagates/index.js:46 )
  at undefined. ( /workspace/src/index.js:58 )
  at process.processTicksAndRejections ( node:internal/process/task_queues:95 )

I've also seen the same error with change.after.get, but less frequently.

The same Derivative does work correctly when running it manually (Evaluate cell or Evaluate All). It also works well when creating a new row (programmatically, with the requirements filled in), which makes sense it seems to be a bug with the code handling updates (change).

To Reproduce

Create a Derivative column that listens to a Connected Table column and try to manually update any column it listens to. The Derivative value will not update, no logs will be shown for that column, and the error shown above will appear in Google Cloud when looking at the Cloud Function.

Expected behavior The Derivative should run properly whenever any Column it listens to changes.

Rowy Run version Rowy Run v1.9.3

oersted avatar Feb 12 '25 21:02 oersted