Skip to content

fix: Dashboard enters infinite reload loop when base URL differs only by case (/Dashboard/ vs /dashboard/) - #2278

Merged
n-lark merged 2 commits into
mainfrom
2274-reload-loop
Oct 6, 2026
Merged

n-lark merged 2 commits into
mainfrom
2274-reload-loop

Conversation

@n-lark

@n-lark n-lark commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Description

Visiting /Dashboard/ instead of /dashboard/ caused an infinite reload loop. The page loads regardless of case, but socket.io doesn't, so the socket failed and the page kept reloading the same wrong URL.

The client now corrects the case of the base path using the configured path from the server.

Test plan

  • /Dashboard/ loads once with no reloadTime loop and the socket connects
  • /dashboard/ still loads normally
  • Dashboard behind a proxy prefix / custom httpNodeRoot still connects

Related Issue(s)

Resolves #2274

Checklist

  • I have read the contribution guidelines
  • Suitable unit/system level tests have been added and they pass
  • Documentation has been updated
    • Upgrade instructions
    • Configuration details
    • Concepts
  • Changes flowforge.yml?
    • Issue/PR raised on FlowFuse/helm to update ConfigMap Template
    • Issue/PR raised on FlowFuse/CloudProject to update values for Staging/Production
  • Link to Changelog Entry PR, or note why one is not needed.

Labels

  • Includes a DB migration? -> add the area:migration label

@n-lark n-lark self-assigned this Oct 5, 2026

@cstns cstns left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally, /Dashboard/ and /nr/Dashboard/ load once and the socket connects, no more reload loop. Looks good.

@n-lark
n-lark merged commit 034c8a5 into main Oct 6, 2026
5 checks passed
@n-lark
n-lark deleted the 2274-reload-loop branch October 6, 2026 13:11
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.

Dashboard enters infinite reload loop when base URL differs only by case (/Dashboard/ vs /dashboard/)

2 participants