Origin: crypto-random-string and notifications error

Created on 22 Aug 2019  ·  4Comments  ·  Source: OriginProtocol/origin

Renovate upgraded our packages, specifically crypto-random-string to 3.0.0.

unique-string depends on it...
configstore depends on that...
gcs-resumable-upload on that...
@google-cloud/storage on that
firebase-admin on that..
@origin/notifications on that

This caused this error when trying to send a chat message:

bundle.esm.js:63 Uncaught (in promise) Error: GraphQL error: Expected a `length` to be a non-negative finite number
    at new t (bundle.esm.js:63)
    at Object.next (bundle.esm.js:1003)
    at b (Observable.js:130)
    at v (Observable.js:165)
    at e.value (Observable.js:219)
    at bundle.esm.js:865
    at Set.forEach (<anonymous>)
    at Object.next (bundle.esm.js:865)
    at b (Observable.js:130)
    at v (Observable.js:165)
    at e.value (Observable.js:219)
    at bundle.esm.js:23

Should either pin this package(or a parent one) and/or repro and file a bug upstream.

The renovate upgrade commit was pulled out of stable and staging but will go out again with any following deploys. This should be dealt with ASAP.

P0 bug messaging notifications

All 4 comments

Setting this as p0 since it blocks merging anything to staging/stable.

@franckc, do you know anything about firebase-admin and this package? Wonder if we can pin the old version at 8.3.0(I think)?

Hmm... I don't know much about firebase-admin. Stan implemented the notification server about 6 months ago and it has been fairly stable since then. I would think it's ok to pin an older version while we wait for the upstream bug to get fixed.

The fault is just in our code here, which I put up a PR for. Those packages install their own versions of this, so I think they should be fine. We do now have 1.x, 2.x and 3.x being installed though:

➜  yarn why crypto-random-string
yarn why v1.16.0
[1/4] 🤔  Why do we have the module "crypto-random-string"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found "[email protected]"
info Reasons this module exists
   - "_project_#unique-string" depends on it
   - Hoisted from "_project_#unique-string#crypto-random-string"
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
=> Found "@origin/messaging-client#[email protected]"
info This module exists because "_project_#@origin#messaging-client" depends on it.
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "60KB"
info Disk size with transitive dependencies: "60KB"
info Number of shared dependencies: 1
=> Found "gcs-resumable-upload#[email protected]"
info Reasons this module exists
   - "_project_#@origin#notifications#firebase-admin#@google-cloud#storage#gcs-resumable-upload#configstore#unique-string" depends on it
   - Hoisted from "_project_#@origin#notifications#firebase-admin#@google-cloud#storage#gcs-resumable-upload#configstore#unique-string#crypto-random-string"
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "20KB"
info Disk size with transitive dependencies: "20KB"
info Number of shared dependencies: 0
✨  Done in 2.11s.
Was this page helpful?
0 / 5 - 0 ratings

Related issues

davecraige picture davecraige  ·  5Comments

micahalcorn picture micahalcorn  ·  6Comments

davecraige picture davecraige  ·  8Comments

mikeshultz picture mikeshultz  ·  5Comments

micahalcorn picture micahalcorn  ·  5Comments