[bugfix] handle attempt to notify destruction of no-admin channel
requested to merge bugfix-dont-throw-when-trying-to-notify-admins-of-destruction-for-channel-without-admins into main
- SYMPTOM: "process destruction requests" job alerts:
Error processing destruction jobs: TypeError: Cannot read property 'memberships' of null
- CAUSE: job is trying to notify admins of channel with no admins.
- FIX: detect this state and don't attempt to notify
NOTE FOR FUTURE WORK:
the full stack trace is confusing:
`2021-02-12 13:09:12
at Object.processDestructionRequests (/signalboost/app/registrar/phoneNumber/destroy.js:78:11)
2021-02-12 13:09:12
at _warnOfPendingDestruction (/signalboost/app/registrar/phoneNumber/destroy.js:104:25)
2021-02-12 13:09:12
at Array.map (<anonymous>)
2021-02-12 13:09:12
at /signalboost/app/registrar/phoneNumber/destroy.js:105:16
2021-02-12 13:09:12
at Object.notifyAdmins (/signalboost/app/notifier.js:34:60)
2021-02-12 13:09:12
at getAdminMemberships (/signalboost/app/db/repositories/channel.js:180:48)
this suggests that getNotifiableDestructionRequests
returns a null
field for channel when the channel has no memberhsips, which is what
causes getAdminMemberships
to throw. we would expect it to return a
channel with null memberships or an empty array. a more robust fix
would address that issue, but as a stopgap measure, we present this
patch and leave documentation to cleanup later.