digitalcredentials / learner-credential-wallet

Learner Credential Wallet is a cross-platform iOS and Android mobile application for storing and sharing digital learner credentials.
https://lcw.app
MIT License
53 stars 26 forks source link

Unable to Create Public Share Link #610

Closed kayaelle closed 2 months ago

kayaelle commented 3 months ago

Describe the bug When clicking on "Create Public Link" on the share, page, getting error popup: "Unable to create Public Link" AN error occurred while creating the Public Link for this credential". Clicking on details reveals this error: Error: Failed to post credential to Verifier Plus.

To Reproduce Steps to reproduce the behavior:

  1. Choose a credential
  2. Click on share icon
  3. Click on "Create Public Link"
  4. See error

Expected behavior Should be able to create a public link that is saved in the VerifierPlus MongoDB

Screenshots If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

Additional context Only tested on iphone. Possibly related: previously created links are serving 404. No issue for this yet.

kayaelle commented 3 months ago

Example of VerifierPlus link created from LCW that serves a 404: https://verifierplus.org/credentials/4d0e729f-460b-49bc-a93b-1136ca433509

This credentials data (verifies fine when uploaded directly to VerifierPlus):

{ "@context": [ "https://www.w3.org/2018/credentials/v1" ], "type": [ "VerifiablePresentation" ], "verifiableCredential": [ { "type": [ "VerifiableCredential", "OpenBadgeCredential" ], "name": "DCC Wallet Experience Demo Credential", "issuer": { "url": "https://digitalcredentials.mit.edu/", "type": "Profile", "name": "DCC Demo University", "image": { "id": "https://github.com/digitalcredentials/test-files/assets/206059/3f3e1476-fd1e-4c8f-a560-5cfb4017bbc3", "type": "Image" }, "id": "did:key:z6MknNQD1WHLGGraFi6zcbGevuAgkVfdyCdtZnQTGWVVvR5Q" }, "@context": [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json", "https://w3id.org/vc/status-list/2021/v1", "https://w3id.org/security/suites/ed25519-2020/v1" ], "credentialSubject": { "type": [ "AchievementSubject" ], "name": "Kerri Lemoie", "achievement": { "type": [ "Achievement" ], "name": "DCC Wallet Experience Demo Credential", "image": { "id": "https://github.com/digitalcredentials/docs/assets/206059/9290e932-d9b7-416e-8365-5987aa168e90", "type": "Image" }, "criteria": { "type": "Criteria", "narrative": "This demo credential represents the experience of claiming the credential into the Learner Credential Wallet. Recipients are encouraged to explore share options where they may create unique, verifiable urls to share online and on LinkedIn.\n\n Look for share options in the three dot menu in the top right corner of the app when the credential is being viewed." }, "description": "DCC wallet experience demo credential", "achievementType": "comptency" }, "id": "did:key:z6MkpCSjiYdZe55pvraC8N9SNxthqtMfJQUry3Yhk8XwZ7co" }, "id": "66325ca5883e43486eeb1a39", "credentialStatus": { "id": "https://digitalcredentials.github.io/lef-dashboard-cred-status/Y4DF9YY3Z7#89", "type": "StatusList2021Entry", "statusPurpose": "revocation", "statusListIndex": "89", "statusListCredential": "https://digitalcredentials.github.io/lef-dashboard-cred-status/Y4DF9YY3Z7" }, "issuanceDate": "2024-05-01T15:18:25Z", "proof": { "type": "Ed25519Signature2020", "created": "2024-05-01T15:18:25Z", "verificationMethod": "did:key:z6MknNQD1WHLGGraFi6zcbGevuAgkVfdyCdtZnQTGWVVvR5Q#z6MknNQD1WHLGGraFi6zcbGevuAgkVfdyCdtZnQTGWVVvR5Q", "proofPurpose": "assertionMethod", "proofValue": "z3rBZQHM28nhsnVBym8JfCPTL2FXt1kVUsB1B51Vnsi96AQAoaXfTCLDmXE679chrqyfHjkGaV8nYU2h8sV5QBagL" } } ] }

kayaelle commented 3 months ago

This issue appears to be related to a connections max that we are hitting with mongodb atlas. But we shouldn't be hitting the max connections because the connections should only occur when the server using it starts. I believe we only have VerifierPlus and Demo Issuer using this service so there could be connections when we don't need them that are left open.

alexfigtree commented 3 months ago

Dmitri says: # connections can grow with refresh and is currently refactoring - WIP - looking into node

alexfigtree commented 2 months ago

Temp fix by restarting V+, but permanent fix is in: https://github.com/digitalcredentials/web-verifier-plus/issues/127. Closing this issue to continue addressing https://github.com/digitalcredentials/web-verifier-plus/issues/127