When a saved node (e.g. localhost) is down, the app previously showed a
dead-end "Node not found" page with no way to navigate away.
Now the not-found page displays the seed selector inline with the error
title, showing which node failed and letting users switch to a different
one directly. The same treatment applies when navigating to a repo on an
unreachable node.
They were not run by the test suite at all, because they lacked the
.spec.ts suffix. This change makes sure they're run again and fixes a
all failing specs.
Work around an issue where radicle-node takes a long time to respond to
status and config requests blocking the UI because we use the node
avatar from the config in almost all layouts.
radicle 0.18.0 -> 0.21.0
radicle-surf 0.22.0 -> 0.27.0
radicle-term 0.14.0 -> 0.17.0
radicle-crypto 0.13.0 -> 0.15.0
Fixes the following issues:
- broken pinned repo listing while repos are being fetched
- broken source tree browser when there are `[]` characters in folder names
This patch adds support for serving `/{rid}/{nid}/...` paths as
`GIT_NAMESPACE`-d http remotes, using `{nid}` as the namespace.
Radicle's on-disk repo storage already uses a Git-namespace-compatible
notion for peer refs (`refs/namespaces/*`), so it is merely a matter of
passing the right `$GIT_NAMESPACE` to the `git http-backend` process.
This way, it becomes possible to directly clone or fetch from URLs like
`http://httpd.domain.tld/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM`
to directly access the given node's ref namespace:
$ cd radicle-explorer
$ git remote add intelfx https://iris.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/z6MkqbVudjUcuxUmwWfW6U886CnhoX5wmkEDsAXju9F9UBAo
$ git pull intelfx work/httpd-git-namespace // or fetch, or ...
Instead of mucking about with
$ git fetch origin refs/namespaces/{nid}/refs/heads/{branch}:refs/heads/{branch}
Enable hot-reloading of web configuration (pinned repos, avatar, banner,
description) by sending SIGHUP to the process, eliminating the need for
server restarts when updating these settings.
Co-authored-by: Fintan Halpenny <fintan.halpenny@gmail.com>
Allow radicle-explorer to connect to a locally running radicle-httpd via
https://app.radicle.xyz/nodes/localhost. This was previously disabled to
encourage use of Radicle Desktop, but is now useful for testing the new
always-on node in local development environments.
Remove support for /nodes/radicle.local, an undocumented and unused convention.
Fix remote node loading when Cloudflare URL-encodes port separator (: → %3A).
Our Cloudflare deployments via GitHub broke. We can run deployments
manually to app.radicle.xyz via:
npm run deploy
This also takes care of injecting the plausible.io script.
Seemed to me there was no way to browse all the repositories being seeded on a node.
On the massive public nodes this is not that useful a feature since there are too many
and too jumbled an assortment, but for a smaller personal node, this feature might be
valuable to make the explorer's contents a bit easier to explore.
Went with the most unintrusive implementation of this idea for now; just enough
that it "does the job" (you can access this view, and paginate the results)
but does not have any of the bells and whistles it should have (search/filtering,
sorting, page query parameters support).
As part of this work, since the repos section gets much more complex, I extracted
the repos part of the page into its own component. Otherwise, it is just very simply
allowing the parameters to the `fetchRepoInfos` call to be manipulated from the page.