Skip to content

v5.1.0 - iOS Safari & In-App Browser Fix

Choose a tag to compare

@github-actions github-actions released this 18 Jan 17:58

🍎 iOS Safari & In-App Browser Compatibility Fix

This release fixes a critical bug that prevented the viewer from working on iOS Safari and in-app browsers (like opening links from Telegram, Twitter, etc.).

🐛 What Was Broken

When opening the viewer on iOS Safari or any in-app browser, users would see "Authentication is disabled" even when authentication was properly configured. The app appeared broken with no way to log in.

🔍 Root Cause

The Notification API does not exist in iOS Safari and many in-app browsers. The code used optional chaining (Notification?.permission), but JavaScript throws a ReferenceError when accessing an undeclared variable—even with ?.. This crashed the Vue app before authentication could even be checked.

✅ The Fix

  • Use typeof Notification !== "undefined" check before accessing the API
  • Fixed auth check returning null instead of false (Python's None and X quirk)
  • Added helpful error message for in-app browser users
  • Added notification blocked detection banner

📦 Upgrade

# Pull the new viewer image
docker pull drumsergio/telegram-archive-viewer:v5.1.0

# Update your docker-compose.yml to use v5.1.0
# Then restart
docker compose up -d

🆕 New Environment Variable

Variable Default Description
AUTH_SESSION_DAYS 30 How long the login session lasts (in days)

📋 Full changelog: docs/CHANGELOG.md