FlowFuse / FlowFuse/node-red-dashboard

Support a configurable landing page and optional URL-preserving page navigation

Open
#2,164 0 comments 0 reactions 0 assignees View on GitHub
needs-triage
Dominant language
HTML
Stars
355
Forks
82
Avg merge
4d 23h
Merged PRs (30d)
24

Description

### Description

## Problem

FlowFuse Dashboard currently uses Vue Router in HTML5 History mode.

Whenever the user navigates between Dashboard pages, the browser URL changes, e.g.

/dashboard/heating
/dashboard/lighting

This works well on desktop browsers.

However, on iOS/iPadOS (Safari / Home Screen Web App), every route change is interpreted as browser navigation. As a consequence:

- Safari displays the navigation bar ("Close", Back, Forward).
- The application no longer behaves like a native full-screen dashboard.
- When the Home Screen shortcut is created, iOS stores the current page URL instead of only `/dashboard`.
Therefore the shortcut always opens the same dashboard page.

## Requested features

### 1. Configurable landing page

Allow the Dashboard base URL

/dashboard

to open a configurable default page without permanently changing the visible URL.

This would allow users to change the default page later without recreating Home Screen shortcuts.

### 2. Optional URL-preserving navigation

Provide an optional navigation mode where switching between dashboard pages does not modify the browser URL.

Possible implementations could include:

- Hash routing (`createWebHashHistory`)
- Optional memory routing
- Configurable router mode
- Any other implementation that keeps `/dashboard` constant.

## Benefit

This would significantly improve the user experience for:

- iPhone
- iPad
- kiosk installations
- dedicated wall tablets

while remaining fully backward compatible.

### Have you provided an initial effort estimate for this issue?

I am no FlowFuse team member

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Vue Router configuration and tracing navigation between /dashboard, /dashboard/heating, and /dashboard/lighting. Determine how a configurable default page and an optional URL-preserving mode can remain backward compatible. Done means /dashboard opens the configured page, the optional mode keeps /dashboard in the address bar, and existing navigation continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.