Service Worker

This document describes how the service worker enhances the application’s behavior, including its supported features like session management, client communication, and request tracking, as well as the potential impact if it fails or becomes unavailable.

Supported Features

Session Management

  • Auto Logout: The service worker keeps track of open tabs and logs you out automatically when no clients are active.
  • Session Check: It periodically checks if your session is still active. If the session has expired or is no longer valid, all open tabs will be notified.
  • Session Update Notifications: When your session changes (e.g., you log out, or your session expires), all open tabs are updated with the new session information.

Client Communication and Coordination

  • Active Tab Updates: The service worker keeps track of which tabs are open and ensures all of them are updated when a new tab opens or an existing one is closed.
  • Language & Project Updates: Relays language changes and locked project updates among all active tabs, so they stay in sync.

Impact When the Service Worker Is Not Working

If the service worker fails or is unavailable, the following issues may arise:

  • Session Problems: Without the service worker, automatic logout and periodic session validation may not occur. This could lead to stale sessions or unexpected logouts.
  • Delayed or Missing Notifications: Real-time notifications regarding session updates, language changes, or locked projects may not be delivered, causing inconsistencies across tabs.
  • Tabs Out of Sync: If you have multiple tabs open, they may not stay coordinated. Changes in one tab (e.g., language updates) might not be reflected in other tabs, leading to inconsistencies and potential user confusion.

Troubleshooting

If you’re experiencing issues with the service worker, here’s what you can do to resolve it:

  1. Check Browser Support
    Ensure that your browser supports service workers. Most modern browsers support them, including:

    • Chrome
    • Firefox (note that it might not work in private browsing mode)
    • Safari
    • Edge

    Some browsers may block service workers in certain modes, so be sure to check your browser’s settings.
    For a detailed list of supported browsers and any known compatibility issues, please refer to the official Service Worker Browser Compatibility page on MDN Web Docs.

  2. Verify the Service Worker is Active
    Use the browser’s developer tools to check if the service worker is registered and active. Here’s how:

    • In Chrome, Edge and Firefox:
      1. Open Developer Tools (F12).
      2. Go to the “Application” tab.
      3. Under “Service Workers”, verify if the service worker is registered and listed as “Activated”. Service Worker
  3. Re-register the Service Worker
    If the service worker is not active or seems outdated, try re-registering it:

    • In Chrome, Edge and Firefox:
      1. Open Developer Tools (F12).
      2. Go to the “Application” tab.
      3. Under “Service Workers”, click “Unregister” if it’s listed there.
      4. After unregistering, refresh the page to force the registration of the latest service worker.
  4. Look for Fallback Notifications
    The application may display a warning if the service worker is unavailable. Pay attention to any messages or prompts in the app that provide more details or steps to take.

Last modified June 12, 2025: 3881c26