Skip to content

[FEAT]: Full PWA support on desktop and mobile devices #4592

@christiandesantis

Description

@christiandesantis

What would you like to see?

When using AnythingLLM from Safari and Chrome, installing as PWA through the browser should be fully supported and it needs to behave like a native desktop or mobile app. This way people using the web version can install it on their devices and have a more native-like experience accessing it directly without having to deal with the browser.

Besides adding the necessary PWA configuration files, the following issues need to also be worked on to achieve the most optimal PWA experience:

Core PWA Requirements

  • Dynamic manifest with custom branding: When installing the PWA to any device it should show by default the custom name and icon the user gave to the app in settings, and only use "AnythingLLM" with default icon if the user didn't set any custom branding.
  • Standalone app mode: The installed PWA should open as a standalone app outside the browser, not open inside Safari/Chrome.

Mobile-Specific Issues to Resolve

For all mobile devices:

  • The over-scroll behavior of the web app needs to be removed for mobile devices (smaller screen widths) to provide a more app-like feel.

For iOS/Safari:

  • The status bar area (including notch area on iPhone) needs to match the app's theme color so it feels like it's using the whole iPhone's screen. This should automatically adapt between light and dark color schemes.
  • When selecting the chat's input element, the web app gets zoomed in, which has a negative impact on the overall UX because then the user needs to zoom out manually after finishing typing to be able to see the whole screen again. This auto-zoom needs to be prevented without breaking accessibility (i.e., users should still be able to manually zoom).

Enhanced PWA Experience

  • When running as an installed standalone PWA (not in browser), the mobile UI should have slightly refined spacing and styling to feel even more polished and app-like.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions