chromeos_smart_card_connector
chromeos_smart_card_connector copied to clipboard
Switch Smart Card Connector to Extensions Manifest V3
Currently, Smart Card Connector is a Chrome App. A couple of years ago we started the work on migrating it an Extension (https://github.com/GoogleChromeLabs/chromeos_smart_card_connector/projects/3), however originally this was targeting Manifest V2 Extensions.
With the new deprecation timelines (https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline), we should switch to Extensions Manifest V3 instead.
Is it possible that this could this be an issue for us, considering the fact that we use a chrome kiosk app with manifest version 2 and also using smart card connector reader chrome app, or does this only apply for extension of smart card connector?
Is it possible that this could this be an issue for us, considering the fact that we use a chrome kiosk app with manifest version 2 and also using smart card connector reader chrome app, or does this only apply for extension of smart card connector?
The latter is correct, so the timelines aren't pressuring as long as one stays on ChromeOS Apps.
Okay, thank you, that is good news.
Capturing one thought: probably #1152 should be enhanced in a way similar to the code touched in #1155. In other words, when we await on an incoming port, the port should initially freeze incoming messages until it's marked as "ready". Otherwise we risk the following race condition:
- receiver: creates
PortMessageChannelWaiter, and startsawaiting on it - sender:
port = chrome.runtime.connect(...) - receiver:
chrome.runtime.onConnectreceived byPortMessageChannelWaiter, and thePortis created - receiver: the
awaited promise starts being resolved - sender:
port.postMessage(...) - receiver: the
Portreceives the message, and discards it because there's been no service registered for incoming messages yet - receiver: the
awaited promise gets resolved, and the code registers services, but the message that has been sent is already lost
So the fix would be to move the message handling to happen at a later step ("8") instead of step 6.