Skip to content

BrowserQRCodeReader.decodeFromImage() never returns #635

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
monyxie opened this issue Apr 20, 2025 · 0 comments
Open

BrowserQRCodeReader.decodeFromImage() never returns #635

monyxie opened this issue Apr 20, 2025 · 0 comments
Labels

Comments

@monyxie
Copy link

monyxie commented Apr 20, 2025

Describe the bug
BrowserQRCodeReader.decodeFromImage() never returns when passed the following image.

Image

To Reproduce
Run this in a browser:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
</head>
<body>
<span id="result2"></span><br>
<img id="img2" src="data:image/png;base64,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" />

  <script src="https://unpkg.com/@zxing/library@latest"></script>
  <script type="module">
    const { BrowserQRCodeReader } = ZXing;
    const reader = new BrowserQRCodeReader();

    const scan = async (i,r) => {
      const img = document.querySelector(i);
      const res = document.querySelector(r);

      try {
        res.innerText = 'scanning...'
        const results = await reader.decodeFromImage(img);
        res.innerText = "success: " + JSON.stringify(results);
      } catch (err) {
        res.innerText = "error: " + err.toString();
      }
    }

    await scan("#img2", "#result2")
  </script>
</body>
</html>

Expected behavior
The function should either return or throw an error.

Additional context
This call might be the cause, where retryIfChecksumOrFormatError=true is passed, causing decodeOnce() to keep retrying even though it's a still image.

@monyxie monyxie added the bug label Apr 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant