tRPC-query-procedure-performing-writes-contract-violation
In TaskFlow, reminders.checkDueTomorrow is implemented as a tRPC query that creates notification rows as a side effect. tRPC queries must be idempotent reads; any operation that writes state must be a mutation. Beyond the contract violation, this means reminders only fire when a user manually hits the endpoint — there is no background cron, so notifications are silently dropped unless a user opens the app.
Related
- trpc-query-procedures-must-not-write-data
- trpc-query-used-for-write-ops-breaks-reminder-delivery
- trpc-query-used-for-write-violates-idempotency-contract
- trpc-query-procedures-must-be-idempotent-reads-only
- trpc-query-used-for-side-effectful-reminder-writes
- trpc-query-used-as-mutation-breaks-reminder-delivery
- trpc-query-that-writes-silent-reminder-anti-pattern
- trpc-query-used-for-writes-breaks-reminder-delivery
- trpc-query-procedure-used-for-writes-contract-violation
- trpc-query-that-writes-is-silent-cron-failure