qri-io / qri

you're invited to a data party!
https://qri.io
GNU General Public License v3.0
1.1k stars 66 forks source link

fix(lib): `/get` endpoint should return preview if no `selector` given #1980

Closed ramfox closed 2 years ago

ramfox commented 2 years ago

closes #1973

ramfox commented 2 years ago

Thank you for bringing this up & making this list, it was definitely necessary to think through

  • Workflows/transforms loading a dataset might now get trimmed datasets
  • Frontend expecting to load full body but getting a preview?

In frontend, for workflows and in the history, we do a separate call to fetch the body, so frontend will not be negatively affected by this change In backend, we only call lib.Get (really instance.Datasets().Get()) in api, cmd, and in lib for testing, so there is no case where some internal call will cause workflow or transform to return unexpected values.

  • direct downloads - should be fine as I think most/call calls have a selector (but not a 100% due to the sugar routes)

double checked, you are right, all download sugar routes have a selector. The only sugar route that does not it is the Get endpoint + the ref in the URL sugar route, and in that case the expected behavior is to return a preview.

  • API usage - others have used the get endpoint to integrate a dataset into their blog/app/something

This is the only one that I can't account for. Other folks who use qri to integrate a dataset in something will definitely be affected by this!

Should we do some notifying? a post on discord? It should definitely go in any release notes when we do a release.