Display correct guidance text for device permission error on safari#2590
Display correct guidance text for device permission error on safari#2590carocao-msft merged 19 commits intomainfrom
Conversation
Chat bundle size is increased❗.
|
Calling bundle size is increased❗.
|
CallWithChat bundle size is increased❗.
|
…2585) * Add continue button to browserVersion UI * update styles * add new button logic to call adapter * add logic to callWithChat * fix handler logic * fix styles * Fix cc and build stable API * remove console * Change files * Duplicate change files for beta release * update strings * update styles for strings * update per comments * update UI state naming * build API * fix test errors * Update packages/react-composites CallComposite browser test snapshots * Update packages/react-composites CallComposite browser test snapshots * update styles * Update packages/react-composites CallComposite browser test snapshots * update styles * Update packages/react-composites CallComposite browser test snapshots * Add new tests * Change files * Duplicate change files for beta release * Update packages/react-composites CallComposite browser test snapshots * fix styles and storybook bug * Update packages/react-composites CallComposite browser test snapshots Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…fulCallClientState (#2593) * update adapted selector function * Change files * Duplicate change files for beta release * remove console
| /** | ||
| * Whether we are using safari browser or not | ||
| */ | ||
| isSafari?: boolean; |
There was a problem hiding this comment.
isSafari is OK, but if we ever needed to do something specific for firefox having a boolean makes it less extensible
There was a problem hiding this comment.
If we want to move the logic to callreadinessmodal and pass it down to domain permissions, we can only pass along a boolean. Earlier I had the logic inside domain permissions component so that when we need to do something for firefox it also works
There was a problem hiding this comment.
Why is it we can only pass a boolean? We can do
const isSafari = _isSafari(environmentInfo);
<CameraAndMicrophoneDomainPermissions
browser={isSafari ? 'safari' | 'other'}
/>
There was a problem hiding this comment.
In this way we are still limited when we need to do something specific for firefox, since 'other' includes chrome and firefox and edge. Should we have the browser type to be safari | firefox | chrome | other ? But then our logic here doesn't make sense browser={isSafari ? 'safari' | 'other'} since we are assigning chrome and firefox to other.
There was a problem hiding this comment.
When we need to do firefox we can then add it, but you're correct that other isn't so great, perhaps:
browserHint: 'safari' | 'unset'
?
There was a problem hiding this comment.
So I like the idea of spreading it out to define the major browsers explicitly so other refers to browsers like Brave, duckduckgo and so on. I'd argue Opera might be in there too but it is prominent enough in the world that Calling could want to support it in the distant future.
this would also give a vector to have the component know which browser its on in the future. (thinking of maybe that gif thing Mikhail mentioned this morning in the review)
JamesBurnside
left a comment
There was a problem hiding this comment.
We can iterate on the isSafari prop in future so not blocking for this PR, at GA we will likely get feedback from review boards to avoid the boolean - we can always update then - otherwise Pr looks great!
What
Display correct guidance text for device permission error on safari
Why
https://skype.visualstudio.com/SPOOL/_workitems/edit/3086741
How Tested
Process & policy checklist
Is this a breaking change?