Giveth / DeVouch-BE

DeVouch - Decentralized Vouching via Attestations
GNU General Public License v3.0
22 stars 2 forks source link

Showing duplicate projects from Retro Funding #93

Closed divine-comedian closed 2 months ago

divine-comedian commented 3 months ago

The EAS team reported a bug - it appears that there are 3 different projects listed on DeVouch that are duplicate of a single application

https://devouch.xyz/?term=ethereum+attestation+service&source=rf4

Image

We show three separate project cards for what is the same application. However when you go to https://retrolist.app/ you can see only one project is listed for EAS.

Image

Why is DeVouch showing three projects when from the source platform we get the API data from it only shows one?

aminlatifi commented 3 months ago

@divine-comedian It seems that the project's id has been changed in the retro list, so we have saved a copy of each. For instance, it's the link to the previous version https://retrolist.app/project/0x7bb29b2ebad8b7f4a8921b7a2b9c72ffe8612260574e157c3228b821c09a940e If we clean the db and refetch the projects again, it will be resolved.

divine-comedian commented 3 months ago

@divine-comedian It seems that the project's id has been changed in the retro list, so we have saved a copy of each. For instance, it's the link to the previous version https://retrolist.app/project/0x7bb29b2ebad8b7f4a8921b7a2b9c72ffe8612260574e157c3228b821c09a940e If we clean the db and refetch the projects again, it will be resolved.

Got it! So if we clean the DB we won't lose any attestation data but some project data may change and some projects might no longer be listed? If that is the case I think we should go ahead and test it on staging

EDIT: @GriffGreen requested we additionally filter out applications that have been rejected from participating in RF4. The review process concluded just last week to filter out applications - we should be able to get this from the JSON response given by retrolist and set the filter conditions

Image

aminlatifi commented 3 months ago

@divine-comedian

Got it! So if we clean the DB we won't lose any attestation data but some project data may change and some projects might no longer be listed? If that is the case I think we should go ahead and test it on staging

I did it and it seems to be fixed.

aminlatifi commented 3 months ago

@divine-comedian

EDIT: @GriffGreen requested we additionally filter out applications that have been rejected from participating in RF4. The review process concluded just last week to filter out applications - we should be able to get this from the JSON response given by retrolist and set the filter conditions

The output json has a prelimResult field with three values. The field value mapping to the project status Keep -> Approved Removed -> Rejected Missing -> Missing

Will add this to the project fields

aminlatifi commented 3 months ago

@divine-comedian

EDIT: @GriffGreen requested we additionally filter out applications that have been rejected from participating in RF4. The review process concluded just last week to filter out applications - we should be able to get this from the JSON response given by retrolist and set the filter conditions

The output json has a prelimResult field with three values. The field value mapping to the project status Keep -> Approved Removed -> Rejected Missing -> Missing

Will add this to the project fields

The changes are merged, now it's supported on the backend Sample query:

{
  projects(where: {sourceStatus_eq: "Keep"}, limit: 5) {
    title
    source
    sourceStatus
  }
}

Response

{
  "data": {
    "projects": [
      {
        "title": "Whale",
        "source": "rf4",
        "sourceStatus": "Keep"
      },
      {
        "title": "Poster",
        "source": "rf4",
        "sourceStatus": "Keep"
      },
      {
        "title": "/send",
        "source": "rf4",
        "sourceStatus": "Keep"
      },
      {
        "title": "MiniBridge",
        "source": "rf4",
        "sourceStatus": "Keep"
      },
      {
        "title": "Guild.xyz",
        "source": "rf4",
        "sourceStatus": "Keep"
      }
    ]
  }
}
divine-comedian commented 3 months ago

OK then @MohammadPCh needs to change the FE to look only for rf4 projects with sourceStatus of "Keep"

divine-comedian commented 3 months ago

Remove all RF4 projects and re-import just the ones with value of Keep

aminlatifi commented 3 months ago

Remove all RF4 projects and re-import just the ones with value of Keep

Required change pushed to develop branch, after @MohammadPCh approve will push to production as well.