Skip to content
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

Test in all supported browsers #6832

Merged
merged 19 commits into from
Jan 24, 2024
Merged

Test in all supported browsers #6832

merged 19 commits into from
Jan 24, 2024

Conversation

jrjohnson
Copy link
Member

@jrjohnson jrjohnson commented Aug 26, 2022

Using the browserstack API along with installing and running firefox ESR
versions to test all of our supported browser versions so we can ensure
everything works for all of our users.

Fixes ilios/ilios#4273

So.....

Give-it-a-shot-and-hope-for-the-best-Dory-Quote

Requires ilios/common#3033

@github-actions
Copy link
Contributor

github-actions bot commented Aug 26, 2022

3/18 Files got Bigger 🚨:

Details
File raw gzip
chunk.69.js +22.2 kB +2.36 kB
ilios.js +2.38 kB +357 B
vendor.js +18.3 kB +2.1 kB

15/18 Files stayed the same size 🤷‍:

Details
File raw gzip
chunk.143.js 0 B -1 B
chunk.177.js 0 B 0 B
chunk.178.js +2 B 0 B
chunk.199.js 0 B 0 B
chunk.25.js 0 B 0 B
chunk.32.js 0 B 0 B
chunk.328.js 0 B 0 B
chunk.530.js 0 B 0 B
chunk.65.js 0 B 0 B
chunk.739.js 0 B 0 B
chunk.83.js 0 B 0 B
chunk.963.js 0 B 0 B
chunk.998.js 0 B 0 B
ilios.css 0 B 0 B
vendor.css 0 B 0 B

Created by ember-asset-size-action

@jrjohnson jrjohnson force-pushed the i4273-browserstack branch 5 times, most recently from e2ec4c1 to 35a37bd Compare August 26, 2022 21:17
@jrjohnson jrjohnson force-pushed the i4273-browserstack branch 3 times, most recently from 667d58f to 13a575c Compare October 18, 2022 17:05
@jrjohnson jrjohnson force-pushed the i4273-browserstack branch 2 times, most recently from e83b814 to e86ab8d Compare October 31, 2022 21:49
@jrjohnson jrjohnson force-pushed the i4273-browserstack branch from 67f8cba to 9898a2e Compare May 5, 2023 16:10
@jrjohnson jrjohnson force-pushed the i4273-browserstack branch 2 times, most recently from 5860891 to 839be21 Compare January 22, 2024 19:01
Using the browserstack API along with installing and running firefox ESR
versions to test all of our supported browser versions so we can ensure
everything works for all of our users.
We needed to specify the major versions in our targets in order to get
the safari browsers we actually intended to support. While ember goes
back even further we can safely cap our support at the last 3 major
versions to cover the ios and OSX releases with security updates.
In order to cover some mobile devices and get the versions we really
thought we were already supporting.
These are the changes that have worked in common.
This ensures we don't get stuck in a weird time, safari especially seems
to need this.
We have this in our other chart tests, we need to wait for loading all
the data and rendering the chart otherwise this test is flaky.
I also consolidated all of these common arguments into a single place to
make it easier to edit them in the future.
With the release of Safari 16 we're no longer supporting Safari 13 and
can drop it from our tests.

Firefox ESR 91 is now EOL and 102 is the only supported ESR version so
we can update our tests to stop checking ESR 91.

Edge 104 is the currently active edge version.
We hide these columns from small screens to these are not visible on
some test devices, however the HTML is present and we can check for
that.
These are not real dates in our API and we mess with them in the
serializer which can make them flaky across timezones. Instead treat
them as date strings.
Updated to match our current supported browsers.
This is required for browserstack as the ember-cli-browserstack addon
doesn't quite parse strings correctly. Fix is merged upstream, but
unreleased.
These are not real dates and using a JS Date makes testing across
timezones and browsers very difficult. Sending a string is what our API
does, so it works well this way.
We were missing some features of these when they display on a mobile
device with a smaller screen.
Otherwise we check the entire page which breaks in smaller screens.
@jrjohnson jrjohnson marked this pull request as ready for review January 24, 2024 08:27
@jrjohnson jrjohnson requested a review from stopfstedt January 24, 2024 08:27
Copy link
Member

@stopfstedt stopfstedt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor request on code docs, otherwise this looks good to me.

app/components/user-profile-ics.js Show resolved Hide resolved
The existing method doesn't work in Safari in contexts that aren't
secure. This includes our browser tests. Should we generate tokens in
insecure contexts? I'm not sure, but we have always allowed Ilios to run
without SSL, it's not a great idea, but we haven't, so far, been in the
business of requiring a secure connection. This generation of an ICS
token doesn't, in my mind, provide less security. In an insecure context
we'd already be passing this data around anyway. The method itself is
secure enough that the resulting token should not be guessable, which is
all that is required.
This one breaks randomly, it may be a delay in updating the property on
the model so I'm gonna try this and see if adding a bit of delay helps.
Copy link
Member

@stopfstedt stopfstedt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dartajax dartajax merged commit 8a8f127 into master Jan 24, 2024
18 checks passed
@dartajax dartajax deleted the i4273-browserstack branch January 24, 2024 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test in all of our supported browsers
3 participants