Skip to content

PWA Offline & Updates: Work Anywhere, Stay Current

Learn how SnowB BMF works offline as a Progressive Web App, how automatic updates keep your tool current, and how to manually check for new versions.

SnowB BMF works fully offline after your first visit. A Service Worker caches all application resources (HTML, CSS, JavaScript, fonts, icons). After that, you can create and edit bitmap fonts without an internet connection.

  1. First visit: The browser downloads and caches all application files via the Service Worker.
  2. Offline ready notification: A green success notification appears at the bottom left: “App is ready for offline use”. This notification automatically dismisses after 5 seconds.
  3. Subsequent visits: The application loads entirely from the local cache, regardless of network availability.

All your project data is stored in the browser’s IndexedDB database, not on a remote server. This means:

  • Your fonts and projects are always available locally.
  • No data is sent to or stored on external servers.
  • Projects persist across browser sessions (unless browser data is cleared).

For more details on data persistence, see Project Operations.

When online, the Service Worker detects new versions automatically. Updates are non-disruptive: you choose when to apply them.

The Service Worker checks for new versions in the background. When it finds one, notifications walk you through the process:

  1. Update downloading: An info notification appears with a refresh icon: the new version is being downloaded in the background.
  2. Update ready: A warning notification appears: “New version available, click update to experience now” with an Update button.
  3. Applying the update: Click Update to apply. A loading indicator shows “Updating to new version…” while the update is applied.
  4. Update complete: The page automatically refreshes with the new version.

If the update fails, an error notification appears with a Retry button. Click Retry to attempt the update again. If the problem persists, try refreshing the page or clearing the browser cache.

You can check for updates manually at any time through the notification panel.

  1. The notification panel displays a “Check for Updates” button.
  2. Click it to trigger a manual check. A loading spinner appears while checking.
  3. If a new version is found, the update notification appears as described above.
  4. If no new version is available, the notification automatically closes after 2 seconds.
  5. The notification displays “Last checked: {time}” showing when you last checked.

If the manual check fails (e.g., due to network issues), an error notification appears: “Failed to check for updates” with a Retry button.

Color-coded notifications at the bottom left show Service Worker and update status:

StateSeverityIconMessageAction
Offline readySuccess (green)Checkmark”App is ready for offline use”Auto-dismisses after 5 seconds
Update downloadingInfo (blue)RefreshDownloading new versionNone (automatic)
Update readyWarning (yellow)Update arrow”New version available, click update to experience now”Update button
UpdatingWarning (yellow)Loading spinner”Updating to new version…”Button disabled during update
Update failedError (red)Error iconError messageRetry button
Check failedError (red)Error icon”Failed to check for updates”Retry button

All notifications can be manually dismissed by clicking the close (X) button, except they will not close if you click outside the notification area (clickaway is ignored).