Alias merging between nodes, network name on info page, same subpage on node switch, overall improvaments - #736
Merged
Conversation
…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>
|
Important Review available on request
Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 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. Comment |
🔎 Trivy Security Report
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.