raycast / raycast/extensions

[Quick Web] Async Config Import Race Causes Empty Argument Lists

Open
#29,028 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug extension extension: quick-web platform: macOS
Dominant language
TypeScript
Stars
7.8k
Forks
6.9k
Avg merge
2d 6h
Merged PRs (30d)
442

Description

Extension

https://www.raycast.com/ShawYoungTang/quick-web

Raycast Version

0.66.1.0

OS Version

macOS Tahoe 26.4.1 arm64

Description

This issue occurs when a JS project starts multiple async config writes but does not wait for them to finish before updating the index state or rendering the UI. As a result, the app may see a config key exists while its related value list has not been written yet, causing empty or incomplete data to appear

Steps To Reproduce

Solution: Ensure all async config writes are awaited before marking import as complete. Collect each LocalStorage.setItem operation into an array and use await Promise.all(...) before writing the index key, navigating away, or refreshing the UI. On the read side, also await all batch queries before updating state, so the page does not render with partially loaded argument data.

Current Behaviour

No response

Expected Behaviour

No response

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.

Research direction

Start in the Quick Web extension linked in the issue and trace the async config import path, including LocalStorage.setItem writes and the index update. Verify that import completion, navigation, and UI state updates wait for all writes and that batch reads finish before rendering, with no empty or incomplete argument lists.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.