<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>278339</bug_id>
          
          <creation_ts>2024-08-19 13:22:03 -0700</creation_ts>
          <short_desc>Implement WebAuthn Signal API</short_desc>
          <delta_ts>2025-09-16 14:59:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=298951</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="pascoe@apple.com">pascoe</reporter>
          <assigned_to name="pascoe@apple.com">pascoe</assigned_to>
          <cc>brandonjorg123</cc>
    
    <cc>k</cc>
    
    <cc>martin.gallo</cc>
    
    <cc>martinkellner470</cc>
    
    <cc>pascoe</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2053840</commentid>
    <comment_count>0</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2024-08-19 13:22:03 -0700</bug_when>
    <thetext>This API allows RPs to signal updates to credentials to be performed on a best-effort basis.

Details: https://github.com/w3c/webauthn/pull/2093 https://github.com/w3c/webauthn/wiki/Explainer:-WebAuthn-Signal-API-explainer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2053841</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-08-19 13:22:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/134285651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099243</commentid>
    <comment_count>2</comment_count>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2025-02-28 09:11:38 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/41630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099665</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-01 13:13:41 -0800</bug_when>
    <thetext>Committed 291458@main (445bbfd2a3de): &lt;https://commits.webkit.org/291458@main&gt;

Reviewed commits have been landed. Closing PR #41630 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2110711</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Kellner">martinkellner470</who>
    <bug_when>2025-04-13 05:10:23 -0700</bug_when>
    <thetext>Hey,

we have tried this out in the current Safari Technology Preview, Release 216 (Safari 18.4, WebKit 20622.1.7.2) on macOS 15.3.1.
Is it possible that the Promise returned from signalAllAcceptedCredentials does not resolve?

This is our test code:

// @ts-ignore
if (!window.PublicKeyCredential || !window.PublicKeyCredential.signalAllAcceptedCredentials) {
    return undefined;
}

// @ts-ignore
console.log(&apos;Running signalAllAcceptedCredentials&apos;);

try {
    // @ts-ignore
    await window.PublicKeyCredential.signalAllAcceptedCredentials({
        rpId: rpId,
        userId: userId,
        allAcceptedCredentialIds: credentialIds,
    });
    console.log(&apos;Signal all accepted credentials success&apos;);
} catch (e) {
    console.log(&apos;Signal all accepted credentials error&apos;, e);
    return;
}

What we observe:
- signalAllAcceptedCredentials is not defined on PublicKeyCredential =&gt; &quot;Running signalAllAcceptedCredentials&quot; is being logged
- neither &quot;Signal all accepted credentials success&quot; nor &quot;Signal all accepted credentials error&quot; are being logged =&gt; the signalAllAcceptedCredentials seems to block

Is this expected?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112596</commentid>
    <comment_count>5</comment_count>
    <who name="Kostas">k</who>
    <bug_when>2025-04-23 02:48:50 -0700</bug_when>
    <thetext>This problem persists in Release STP 217.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2142224</commentid>
    <comment_count>6</comment_count>
    <who name="">brandonjorg123</who>
    <bug_when>2025-09-10 16:17:36 -0700</bug_when>
    <thetext>This is still broken in Safari 26. await window.PublicKeyCredential.signalAllAcceptedCredentials() never resolves.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>