Skip to main content
September 10, 2026
Solved

1Password for Safari on iPadOS/iOS: High CPU usage

  • September 10, 2026
  • 4 replies
  • 2 views

Device: M4 iPad Pro 13”.

OS: iPadOS 27.

Have both 1Password for Safari and 1Password app installed.

 

I noticed recently my iPad gets extremely hot when I have 1Password browser extension enabled in Safari. I confirmed it by just turning off the extension. It does not seem to depend on the website (tried only few).

 

Ready to provide any relevant information.

Best answer by frixa

An update: I managed to fix this on my iPad without reinstalling 1Password. I connected it to my Mac and inspected the Safari extension through remote Web Inspector.

This was with 1Password 8.12.36, extension version 8.12.36.40, on iPadOS 27.0.

Here’s what I found:

  • The extension’s IndexedDB database, b5x, was at schema version 21 but had zero object stores. The code expects 17 stores, including accounts.
  • Account reads were failing with NotFoundError. A fresh diagnostic report captured while the iPad was hot contained 1,594 “Failed to get accounts” messages in about 105 seconds.
  • In background/database/connection.ts, _getDatabase() calls initDatabase() when the availability check fails. From reading the code, it appears to repeatedly open new connections and replace the database reference without closing the previous connection.
  • Since the database was already at version 21, reopening it at that same version didn’t trigger the upgrade callback or recreate the missing stores.

The connection-handling explanation is my reading of the shipped code, so I’d appreciate confirmation from the developers.

To repair it, I temporarily paused the reopening loop, closed the retained database handles, deleted only the verified-empty b5x database, and reloaded the extension. I didn’t modify the native app database or make any permanent code changes.

The extension then recreated all 17 stores, finished initializing, and loaded my account. The database-error loop stopped, a follow-up live capture showed no errors, and CPU activity was low. The extension is working again now.

I still don’t know why the stores disappeared in the first place, and I don’t recall changing any relevant settings before the problem started.

I have the before/after database metadata, relevant source excerpts, and verification results available.

4 replies

1P_Dave
1Password Employee
1Password Employee
September 22, 2026

Hello ​@frixa! 👋

I’m sorry that you’re seeing unexpected device usage on your iPad when using 1Password for Safari. The next time that the issue occurs, I'd like to ask you to create and share a 1Password diagnostics report from your iOS device:

Send a diagnostics report (iOS)

Attach the diagnostics to an email message addressed to support@1password.com

With your email please include:
- A link to this thread: https://www.1password.community/1password-at-home-31/1password-for-safari-on-ipados-ios-high-cpu-usage-25542
- Your forum username: frixa

You should receive an automated reply from our BitBot assistant with a Support ID number.  Please post that number here.  Thanks very much!

-Dave

frixaAuthor
September 22, 2026

Hi, thanks for the reply.

Here’s the ticked ID: 794803

1P_Dave
1Password Employee
1Password Employee
September 22, 2026

Thank you for posting the Support ID! I’ve moved your ticket to the right team on our end and one of my colleagues will reach out to you as soon as possible via email. 

-Dave

frixaAuthorAnswer
September 30, 2026

An update: I managed to fix this on my iPad without reinstalling 1Password. I connected it to my Mac and inspected the Safari extension through remote Web Inspector.

This was with 1Password 8.12.36, extension version 8.12.36.40, on iPadOS 27.0.

Here’s what I found:

  • The extension’s IndexedDB database, b5x, was at schema version 21 but had zero object stores. The code expects 17 stores, including accounts.
  • Account reads were failing with NotFoundError. A fresh diagnostic report captured while the iPad was hot contained 1,594 “Failed to get accounts” messages in about 105 seconds.
  • In background/database/connection.ts, _getDatabase() calls initDatabase() when the availability check fails. From reading the code, it appears to repeatedly open new connections and replace the database reference without closing the previous connection.
  • Since the database was already at version 21, reopening it at that same version didn’t trigger the upgrade callback or recreate the missing stores.

The connection-handling explanation is my reading of the shipped code, so I’d appreciate confirmation from the developers.

To repair it, I temporarily paused the reopening loop, closed the retained database handles, deleted only the verified-empty b5x database, and reloaded the extension. I didn’t modify the native app database or make any permanent code changes.

The extension then recreated all 17 stores, finished initializing, and loaded my account. The database-error loop stopped, a follow-up live capture showed no errors, and CPU activity was low. The extension is working again now.

I still don’t know why the stores disappeared in the first place, and I don’t recall changing any relevant settings before the problem started.

I have the before/after database metadata, relevant source excerpts, and verification results available.