[Bug]: WebKit projects fail to store input files in IndexedDB

Open
#42,795 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
javascript

Research direction

Start by cloning the linked playwright-webkit-file-idb-bug repository, running npm install and npm run test, and comparing the Chromium and WebKit cases. Investigate the file input, IndexedDB transaction, and Playwright setInputFiles flow; done means the WebKit test completes and the span reports that the File was stored.

Written by the indexing model from the issue text.

Description

Version

1.63.0

Steps to reproduce
  1. Clone https://github.com/BeeDice/playwright-webkit-file-idb-bug
  2. npm install
  3. npm run test

The repo has an HTML file with a file input element. On file select, it stores the File object in IndexedDB and notifies the user of success via a span element. The Playwright test uses setInputFiles to set a dummy text file on the file input.

Expected behavior

The span element should indicate that the selected File object has been stored in IndexedDB. You can see that happen in the Chromium test, or, by manually reproducing the test in Safari (open the HTML file, select the fixture text file, and notice the span updates).

Actual behavior

On Webkit, via Playwright, the span does NOT update, and the test times out.

Additional context

There is no console output in Playwright. Presumably, this means that the IndexedDB transaction is stalling indefinitely. I have tried upping the timeout to 10 seconds but it does not help. When reproducing the test manually (as described above), the transaction completes successfully on the order of miliseconds.

Environment
System:
    OS: macOS 26.6.2
    CPU: (10) arm64 Apple M4
    Memory: 2.75 GB / 16.00 GB
  Binaries:
    Node: 24.7.0 - /Users/danmaftei/.nvm/versions/node/v24.7.0/bin/node
    npm: 11.5.1 - /Users/danmaftei/.nvm/versions/node/v24.7.0/bin/npm
  IDEs:
    Codex: 0.155.1 - /opt/homebrew/bin/codex
  Languages:
    Bash: 3.2.57 - /bin/bash
Dominant language
TypeScript
Stars
96.4k
Forks
6.5k
Avg merge
1d 7h
Merged PRs (30d)
170

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/playwright

All issues in microsoft/playwright

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.