Create web app PWA manifest (closes #24) #34

Merged
luca0N merged 4 commits from dev_client_pwa into dev 2026-01-14 23:32:07 +00:00
Owner

Create a simple Progressive Web App (PWA) for the web app. This
manifest uses the same icon used for `apple-touch-icon', but it has been
renamed, as that icon is no longer exclusively used for that purpose.

One caveat is that this pull request introduces a breaking change for those who would like to host this web app at a subpath of an already existing website (e.g., https://www.luca0n.com/lanbassador/ instead of a dedicated subdomain), assuming this was even possible before (which I haven't tested). This issue is caused by the start_url option in the PWA manifest.

  • Test on desktop
  • Test on mobile
Create a simple Progressive Web App (PWA) for the web app. This manifest uses the same icon used for `apple-touch-icon', but it has been renamed, as that icon is no longer exclusively used for that purpose. One caveat is that this pull request introduces a breaking change for those who would like to host this web app at a subpath of an already existing website (e.g., `https://www.luca0n.com/lanbassador/` instead of a dedicated subdomain), assuming this was even possible before (which I haven't tested). This issue is caused by [the `start_url` option in the PWA manifest](https://git.luca0n.com/luca0N/lanbassador/src/commit/c95715890fcead2517c470eabd97a36a20dc8163/client/public/assets/lanbassador_manifest.json#L8). - [x] Test on desktop - [x] Test on mobile
luca0N self-assigned this 2026-01-05 23:34:44 +00:00
Create a simple Progressive Web App (PWA) for the web app.  This
manifest uses the same icon used for `apple-touch-icon', but it has been
renamed, as that icon is no longer exclusively used for that purpose.
luca0N changed title from Create web app PWA manifest (closes #24) to WIP: Create web app PWA manifest (closes #24) 2026-01-05 23:34:48 +00:00
Author
Owner

I've thought about having the instance name appended to the PWA name, so as to help users in telling instances apart. The thing is, I believe most users will only have a single instance, plus, since the PWA manifest is a static JSON file, achieving this would mean doing it in the server side.

Since the web app runs from static files (there's no npm server or PHP script that serves it), this would have to be done in the web server configuration (for the lanbassador/client Docker image, this would have to be achieved with Apache).

Still, I think this is too much effort for such a niche combination.

I've thought about having the instance name appended to [the PWA name](https://git.luca0n.com/luca0N/lanbassador/src/commit/7157ebfbbeab86d70ec4bd49ac5feebd74bed72e/client/public/assets/lanbassador_manifest.json#L2), so as to help users in telling instances apart. The thing is, I believe most users will only have a single instance, plus, since the PWA manifest is a static JSON file, achieving this would mean doing it in the server side. Since the web app runs from static files (there's no npm server or PHP script that serves it), this would have to be done in the web server configuration (for the `lanbassador/client` Docker image, this would have to be achieved with Apache). Still, I think this is too much effort for such a niche combination.
Add extra attributes to the web app PWA manifest file, including
`description', `theme_color', and `categories'.
In the web app Progressive Web App manifest, add some options that are
required by Chromium-based browsers.  This allows Chromium users to
install the web app.
In the web app Progressive Web App manifest, fix the path to the app
icon, as it was (and still is) a relative path that should point to the
file contained within the same directory.
Author
Owner

The PWA seems to work well on Brave running on Linux. I would like to test this on mobile before merging this pull request.

The PWA seems to work well on Brave running on Linux. I would like to test this on mobile before merging this pull request.
luca0N changed title from WIP: Create web app PWA manifest (closes #24) to Create web app PWA manifest (closes #24) 2026-01-13 23:50:39 +00:00
Author
Owner

One thing to note is that all hyperlinks (as of now) will open on the user's web browser instead of the PWA, even though they are hosted on the same website. This is due to the use of target="_blank" in the anchor tags.

This is intended behavior, as changing the app page means losing the history of detected hosts (for now). Plus, it's not uncommon for native apps to open up the user's web browser that points to relevant legal documents (such as ToS, privacy policy, free software licenses, etc).

One thing to note is that all hyperlinks (as of now) will open on the user's web browser instead of the PWA, even though they are hosted on the same website. This is due to the use of `target="_blank"` in the anchor tags. This is intended behavior, as changing the app page means losing the history of detected hosts (for now). Plus, it's not uncommon for native apps to open up the user's web browser that points to relevant legal documents (such as ToS, privacy policy, free software licenses, etc).
luca0N deleted branch dev_client_pwa 2026-01-14 23:32:07 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
luca0N/lanbassador!34
No description provided.