Instead of panicking when trying to handle non utf8 lines we should
return `null` as line output.
This way we can on the frontend detect if a file has any lines the api
wasn't able to parse and fallback to show a file as a `Binary File`
The usage of the term `delegate` when handling a DID isn't explicit
enough, so this commit changes the places where the word `delegate` is
used when actually it's a DID.
Don't require a repo to have a `xyz.radicle.project` payload.
If there are issues with obtaining the repo `head`, issue count or patch
count, filter that repo from the list.
This allows us to avoid querying the repo stats and relying on maybe bad
routing tables and take the hardcoded pinned repo array in case of
querying for pinned repos.
We also remove the `/api/v1/profile` endpoint because that was only
supposed to be used with a local node and not publicly accessible. All
fields that are still used in the UI were moved to `/api/v1/node`.
We bump the API and crate versions since this is a breaking change.
squash or drop!: Small suggestion for improvement
Previously the /api/v1/stats endpoint would count any repository that is
in the storage regardless of whether the repository is publicly seeded or not.
We used the `RADICLE_VERSION` env variable to display the node version,
which as of recently matched always the `radicle-httpd` version.
Since the separation this isn't the case anymore, and the user agent
seems a more reliable metric.