Skip to content

Alias merging between nodes, network name on info page, same subpage on node switch, overall improvaments - #736

Merged
mjadach-iv merged 2 commits into
mainfrom
feat/network-name-blokli-url-alias-merging
Aug 16, 2026
Merged

Alias merging between nodes, network name on info page, same subpage on node switch, overall improvaments#736
mjadach-iv merged 2 commits into
mainfrom
feat/network-name-blokli-url-alias-merging

Conversation

@mjadach-iv

Copy link
Copy Markdown
Contributor

No description provided.

mjadach-iv and others added 2 commits August 16, 2026 16:50
…rging

Show the HOPR network name on the Info page, let the blokli URL be
overridden per node, and display aliases merged across saved nodes.

- info: add a "Network name" row under Connectivity status reading
  info.hoprNetworkName, and drop the dead commented-out row that still
  referenced the removed v3 field info.network
- configuration: add a Blokli URL field at the top, prefilled with the
  providerUrl the node reports and saved per node under
  node/blokliUrl/<nodeAddress>. Nothing fetches from it yet, it is stored
  and exposed for future consumers
- auth: saved nodes now carry network and nodeAddress. The network is
  stamped in loginThunk.fulfilled so both login paths keep it up to date,
  and older entries are backfilled from jazzIcon, which already holds the
  node address
- aliases: 2 exclusive toggles below Notifications, saved globally under
  app/configuration/aliases and defaulting to merging between nodes on the
  same network. Aliases keep being saved per node while store.node.aliases
  becomes the merged map, so every existing consumer picks it up unchanged.
  On a conflict, nodes are sorted A-Z and the first one wins

Aliases are now written from aliasesOwn instead of the displayed map, so a
node can no longer persist another node's aliases into its own key, and
aliasesSource lets a merged in alias be deleted where it actually lives.

Also fixes setInfo clobbering the { data, isFetching } wrapper, which left
store.node.info.data undefined after a modal login.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Switching node from the connect modal always redirected to /node/info,
so comparing the peers or channels of 2 nodes meant re-navigating every
time. Keep the current subpage instead, and only fall back to /node/info
when coming from the landing page, /tos or /privacy-notice.

applicationMap now exports subpagePaths / isNodeSubpage, derived from the
map with the same expression the router uses to build the routes, so the
2 cannot drift apart. External LINKS items have no element and are left
out.

Staying put only works if the destination page has data, and the 2 login
paths did not fetch the same things: LayoutEnhanced dispatches 13 thunks
but its effect has [] deps and runs on mount only, while the modal
dispatched 7, missing channels, peers, balances, ticket statistics and
info. That was hidden by the redirect, since the info page fetches
exactly those itself. Channels IN/OUT have no mount fetch at all, so they
would have stayed empty until the 60s watcher tick.

Both paths now call a shared fetchNodeData helper. Every thunk in it
already has an isFetching condition guard, so the info page fetching
concurrently is deduped rather than doubled.

Also passes the formatted endpoint everywhere. The modal mixed formatted
and raw, and LayoutEnhanced passed raw throughout, but
getInfoThunk.fulfilled drops its result when the endpoint does not match
the formatted store.node.apiEndpoint, so logging in by url with
localhost:3001 rather than http://localhost:3001 silently discarded the
info response.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 4f7c8404-4f8d-42bc-ad15-7280d06f4d4a


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mjadach-iv mjadach-iv changed the title Feat/network name blokli url alias merging Alias merging between nodes, network name on info page, same subpage on node switch, overall improvaments Aug 16, 2026
@mjadach-iv
mjadach-iv merged commit a19b45d into main Aug 16, 2026
5 of 6 checks passed
@mjadach-iv
mjadach-iv deleted the feat/network-name-blokli-url-alias-merging branch August 16, 2026 15:26
@github-actions

Copy link
Copy Markdown

🔎 Trivy Security Report

Target Package Installed Severity CVE
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) c-ares 1.34.6-r0 HIGH CVE-2026-33630
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) curl 8.17.0-r1 HIGH CVE-2026-5773
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) curl 8.17.0-r1 HIGH CVE-2026-6276
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libcrypto3 3.5.6-r0 HIGH CVE-2026-45447
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libcurl 8.17.0-r1 HIGH CVE-2026-5773
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libcurl 8.17.0-r1 HIGH CVE-2026-6276
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libexpat 2.7.5-r0 HIGH CVE-2026-45186
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libexpat 2.7.5-r0 HIGH CVE-2026-56408
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libssl3 3.5.6-r0 HIGH CVE-2026-45447
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) libxml2 2.13.9-r0 HIGH CVE-2026-6732
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:4.0.0-rc.3-commit.86e00c3-linux-amd64 (alpine 3.23.4) nghttp2-libs 1.68.0-r0 HIGH CVE-2026-27135

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant