he issue specifically relates to the context[this.$$cache] used by PgExecutor not being reset between subscription payloads. This is specifically a bug in PgExecutor, a false assumption about the appropriateness of caching. This cache should also be cleared just before a new mutation field executes.
Summary
he issue specifically relates to the
context[this.$$cache]
used by PgExecutor not being reset between subscription payloads. This is specifically a bug in PgExecutor, a false assumption about the appropriateness of caching. This cache should also be cleared just before a new mutation field executes.https://github.com/graphile/crystal/blob/91e87ab6516490a4cc7b7fc6400efb7623fbd331/grafast/dataplan-pg/src/executor.ts#L403
Steps to reproduce
See https://github.com/benjie/ouch-my-finger/issues/11 for a reproduction.
With my edits; see: https://github.com/benjie/ouch-my-finger/tree/gitrojones-subscription-bug
.env.example
to.env
yarn serve
Expected results
New payload on each subscription update.
Actual results
Initial payload is repeated:
Additional context
From the logs: