webcompat / web-bugs

A place to report bugs on websites.
https://webcompat.com
Mozilla Public License 2.0
749 stars 68 forks source link

ti.com - TI online calculator emulators do not support Firefox #144058

Closed twonfi closed 2 weeks ago

twonfi commented 2 weeks ago

URLs:

Tested browsers:

("Hack inconsistent" indicates the hack script bypassed sniffing on first load after adding script and cache clear, but not subsequent loads.)

Testing videos
Firefox 132.0.2 on macOS https://github.com/user-attachments/assets/80bffcf0-0f82-4c87-91ea-12a0298f7ede https://github.com/user-attachments/assets/a7a92813-a81f-434b-a6dd-0cbeeba08ac1
Safari 18.1 on macOS https://github.com/user-attachments/assets/963e082a-b4a7-4815-9350-0759a79ae565 https://github.com/user-attachments/assets/7fb1e338-2701-4721-9278-c369ce4f8e75
Opera 114.0 on macOS https://github.com/user-attachments/assets/27e00059-f0d0-4c95-abd6-e0469553ef33 https://github.com/user-attachments/assets/26675a62-8f3b-4037-a937-629c955bf6f5
Edge 131.0.2903.51 on macOS https://github.com/user-attachments/assets/eb690803-6afa-4b54-9d0e-7c97c6a4a310 https://github.com/user-attachments/assets/36e253c8-cf07-461b-9ce3-35fd2b0458c0
Edge 131.0.2903.51 on macOS https://github.com/user-attachments/assets/eb690803-6afa-4b54-9d0e-7c97c6a4a310 https://github.com/user-attachments/assets/36e253c8-cf07-461b-9ce3-35fd2b0458c0
Safari on iPadOS https://github.com/user-attachments/assets/3afada90-5fbf-4445-832f-a109c0736b33 https://github.com/user-attachments/assets/d707a83c-2394-4dca-9f3d-0a7cd1c141e1

The sites, official online emulators for the TI-84 Plus CE and TI-Nspire CX II graphing calculators, only allows Google Chrome and redirects to https://84plusce.ti.com/8eu/invalid-browser if other browsers are used. The "invalid browser" page for the TI-84 Plus CE emulator lists Chrome, as well as clipboard and SubtleCrypto access as requirements. The TI-Nspire CX II emulator requirements also include shared memory, local file system access and OffscreenCanvas. (The "invalid browser" page lists all requirements that block

The browser sniffer does not use traditional user agent sniffing; rather, it uses client side JavaScript to check navigator.userAgentData, and only checks that property using client-side JavaScript (nothing server-side, works even with Firefox user agent). The mechanism itself is obviously minified and obfuscated, but seems to use https://84plusce.ti.com/8eu/main.efa824bb64b6df7d.js.

I have gotten the site working on Firefox by spoofing navigator.userAgentData to something that Chrome uses through a userscript. The userscript works on Firefox using Violentmonkey (cache clear required after adding userscript). I have only tested the userscript on Violentmonkey

I cannot test the functionality of the TI-Nspire CX II emulator as both require separate licenses, and I only have the TI-84 Plus CE emulator license, but the "Unsupported OS/Browser" message is reproducible without an account.

twonfi commented 2 weeks ago

I have a testing account for the TI-84 Plus CE emulator available temporarily upon request. As previously mentioned, I don't have a license for the TI-Nspire emulator (separate licenses, either bundled with calculator or on TI's web store).

softvision-raul-bucata commented 2 weeks ago

Thanks for the report. I was able to reproduce in firefox-nightly, and firefox-release.

Reproducible issues are moved to our Bugzilla component; please see: https://bugzilla.mozilla.org/show_bug.cgi?id=1931835

Closing as moved.

[qa_47/2024]