Skip to content

bijeebuss/youneedabutton

Repository files navigation

Temporal Gotchas

  1. workflows are single threaded but the signal and update callbacks are asynchronous so you could have multiple executions of a callback running at once IF you await anything in the callback
  2. in a workflow make sure you add all your handlers before awaiting anything since that could cause a signal to "not have a handler" due to a race condition
  3. a client you cannot wait for a signal to complete even if you "await" the promise it returns, for this you have to use an "update" but workflows cannot natively send updates to eachother, only the regular client can send updates. (maybe a workflow could send an "update" if you just send a signal with the same name, need to try this later)

Remix Gotchas

  1. If you dont have a render function for a route the error handler will not trigger properly

Doing a Release

  1. run the new workflow code in a new worker with a new task-queue
  2. update the app code by updating the image tag and restarting the app
    • This will make new workflows go onto the new task queue
    • Existing workflows will still work so long as the signature of signals didnt change
  3. migrate the existing workflows to the new task queue
  4. retire the old worker when no more workflows are on that task-queue

Quick and dirty integration test

  1. create new account
  2. switch ynab accounts
  3. test /account
  4. logout of everything (including ynab too) and back in

About

YNAB plugin I created that lets you select a category (before a transaction) that will be automatically used for the next transaction.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors