Why the next Chrome version will break websites

Hussein Nasser · Beginner ·📰 AI News & Updates ·4y ago

Key Takeaways

The upcoming version 100 update for Google Chrome, Microsoft Edge, and Firefox may break several websites due to a bug in checking the browser version, and the browsers are updating to version 100 at the same time to pressure big websites to fix their code

Full Transcript

microsoft edge google chrome and firefox are approaching version 100 in their software this might actually break some of the websites such as yahoo t-mobile hbo go and many others bethesda and others the reason is due to a bug in checking the version of the browser let's jump into and discuss so this comes from forbes let's read this a little bit of a blurb and then we'll discuss a little bit more serious warning issued for millions of edge firefox and chrome users um written by gordon kelly google microsoft and mozilla have warned users of chrome edge and firefox that a unified update will be soon be made to all three browsers which could bring down some of the world's biggest website in a move which has echoed off the y2k bug if you're unfamiliar this is the 2000s bug right people used to use the date as double digits you know for the 90s but when we moved to 2000 we're flipping back to zero zero so nothing really broke back then i don't even remember i i just i barely entered university that day that year so uh but but surprisingly nothing much broke except apps that uses two digits here so this is very similar chrome edge and firefox will soon move to version number 100 and this will cause some of the biggest size to fail so they are very sure because they build up a temporary version and they bumped up the version 200 and they started visiting different websites to basically test the browser and yeah these are the websites that broke bethesda t-mobile hbo go and yahoo so for currently i i believe some of the other ones have been fixed the developers actually fixed the problem right but so why why is that so let's look at the problem here and then a little bit discuss more the problem most websites check the version number of your browser when you visit for security i would say not just security to be honest there are there are some features that the browser have and that i want to take advantage of so in my back end i can force you to fail if you don't or you're not using that particular version of the browser because i'm i i know that i don't know the the the the beacon api has been introduced in this version of chrome and i want to use it so if you don't have it i'm sorry i'm not going to let you or the for example uh the modular javascript the mjs files have been introduced in this particular version and i want users to use that particular chrome browser so this is this is basically it so what they are doing the bug is they're checking the first two digits right so if you're uh if you're version 100 the version will come up to be 10. so based on that you're gonna check only the first two digits and if that gives you 10 instead of 100 then you will fail right so how do you actually let's talk about how do you check the version of the browser so there are two methods right look at all these beautiful arrows oh my god forbes i'm not gonna even attempt to devtool your sites jesus all right so here's one way you can do a window dot user agent right and that gives you a huge you know this string that tells you oh this is me right this is the equivalent version of my what i'm browsing a chrome 98 0 right and a safari so this is always fascinating to me i need to read more about it maybe the front-end engineers here and the channel can can shed more lights i don't know why we re the user agent actually have all of them there might be a good reason but but you can actually get the versions from here so i'm using chrome 98 let's actually verify that chrome 984758 right about about chrome sounds like the same version right 102 102 baby so that that's one way so in once the page load locally in the client side you can have some javascript that kicks in and check the browser and fail with an alert message or just don't continue loading the site or just give up sending any more requests right the other approach is just uh stop it on its knees and the backing really so when you make a request the first request that you send there's something that we send here jesus look at this look at this oh my god i don't know if you watched my death tooling series but this is this is atrocious all right so uh let's see you probably won't see this from uh yeah you won't see that guy dang it you won't see it now you should probably see it yeah my my face still covers it let's do that right so now you see it right see when you send a request the first request or all of them really uh we add a header on the request headers here right which says hey this is the user agent that tries to connect and any client that connects supposed to fill this you know you can easily fake this you know from your app if you have like a python app you can literally say anything in the user agent and we're just getting over it already right so when you do that you can check on the back and that hey i really only want i don't know chrome this particular version and if nothing else i don't want anyone to uh to connect to me that will really if you do this in the back end right then your page you can just serve some other page unauthorized or version is incorrect but this is really not a good idea because that that means even google right when they try to uh to what they call the crowl your website then they won't be able to connect to you right because you're blocking them you're blocking them from connecting those so their user agent won't be chrome they're probably gonna be some some other headless app right so this is this is a problem right and i believe as as forbes says so why are all the browsers updating to version 100 at the same time i believe it's just to pressure the this big website to actually fix their code right so whether it's in the javascript or on the back and i really doubt it's on the back and to be honest right it's probably some javascript local code that executes says hey you have an old browser so just fixing that it's not going to be easy for those big companies because those this code is probably as we say in arabic which means it's been there forever you know and nobody know anything about it right so so getting there and trying to fix it people will get freaked out to just touch anything you know especially legacy code so yeah i think it's going to take a little bit while to to fix that and make sure nothing actually else break but then they have they have to fix it otherwise uh chrome uh firefox and others will will break and uh according to their website also they they mentioned that if they might actually delay the 100 release it's like okay let's freeze it on 99 or 99 let's add some patches and some minor bump up some minor versions but yeah yeah that's about it i thought this was an interesting news i wanted to talk about it catch you in the next one thank you so much stay awesome

Original Description

Chrome, Edge and Firefox are approaching version 100. that version is 3 digit version where most websites only checked two digits. You can imagine what can go wrong. Lets discuss https://www.forbes.com/sites/gordonkelly/2021/12/23/google-chrome-update-warning-new-chrome-version-100/ Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) https://database.husseinnasser.com Introduction to NGINX (link redirects to udemy with coupon) https://nginx.husseinnasser.com Python on the Backend (link redirects to udemy with coupon) https://nginx.husseinnasser.com Become a Member on YouTube https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join 🔥 Members Only Content https://www.youtube.com/playlist?list=UUMO_ML5xP23TOWKUcc-oAE_Eg 🏭 Backend Engineering Videos in Order https://backend.husseinnasser.com 💾 Database Engineering Videos https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2 🎙️Listen to the Backend Engineering Podcast https://husseinnasser.com/podcast Gears and tools used on the Channel (affiliates) 🖼️ Slides and Thumbnail Design Canva https://partner.canva.com/c/2766475/647168/10068 Stay Awesome, Hussein
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Hussein Nasser · Hussein Nasser · 0 of 60

← Previous Next →
1 Extending ArcObjects (IGeometry) - 01 - Getting Started
Extending ArcObjects (IGeometry) - 01 - Getting Started
Hussein Nasser
2 Extending ArcObjects  (IGeometry) - 02 - The Document, The Map and The Layers
Extending ArcObjects (IGeometry) - 02 - The Document, The Map and The Layers
Hussein Nasser
3 Channel Update - New Book, New Job, New Videos
Channel Update - New Book, New Job, New Videos
Hussein Nasser
4 Learn Programming with VB.NET - 01 - Getting Started
Learn Programming with VB.NET - 01 - Getting Started
Hussein Nasser
5 Learn Programming with VB.NET - 02 - Classes and Objects (Part 1)
Learn Programming with VB.NET - 02 - Classes and Objects (Part 1)
Hussein Nasser
6 Learn Programming with VB.NET - 03 - Classes and Objects (Part 2)
Learn Programming with VB.NET - 03 - Classes and Objects (Part 2)
Hussein Nasser
7 Learn Programming with VB.NET - 04 - User Interface
Learn Programming with VB.NET - 04 - User Interface
Hussein Nasser
8 Learn Programming with VB.NET - 05 - By Value v. By Reference
Learn Programming with VB.NET - 05 - By Value v. By Reference
Hussein Nasser
9 Learn Programming with VB.NET - 06 - Variable size, 32 bit vs 64 bit
Learn Programming with VB.NET - 06 - Variable size, 32 bit vs 64 bit
Hussein Nasser
10 Learn Programming with VB.NET - 07 - Conditional Statements
Learn Programming with VB.NET - 07 - Conditional Statements
Hussein Nasser
11 Learn Programming with VB.NET - 08 - Inheritance
Learn Programming with VB.NET - 08 - Inheritance
Hussein Nasser
12 Learn Programming with VB.NET - 09 - Strategy Design Pattern
Learn Programming with VB.NET - 09 - Strategy Design Pattern
Hussein Nasser
13 Learn Programming with VB.NET - 10 -  How did I learn programming
Learn Programming with VB.NET - 10 - How did I learn programming
Hussein Nasser
14 IGeometry 2016 Retrospective - Channel Update
IGeometry 2016 Retrospective - Channel Update
Hussein Nasser
15 Javascript by Example - The Vook
Javascript by Example - The Vook
Hussein Nasser
16 Vlog - Keep your servers close and your database closer
Vlog - Keep your servers close and your database closer
Hussein Nasser
17 Vlog - Client/Server Programming Languages
Vlog - Client/Server Programming Languages
Hussein Nasser
18 Javascript By Example L1E01 - Getting Started
Javascript By Example L1E01 - Getting Started
Hussein Nasser
19 Persistent Connections (Pros and Cons)
Persistent Connections (Pros and Cons)
Hussein Nasser
20 Javascript By Example L1E02 - Building the Calculator Interface
Javascript By Example L1E02 - Building the Calculator Interface
Hussein Nasser
21 Happy new Year from IGeometry!
Happy new Year from IGeometry!
Hussein Nasser
22 Synchronous v. Asynchronous
Synchronous v. Asynchronous
Hussein Nasser
23 Javascript By Example L1E03 - Displaying the Digits on Calculator Screen
Javascript By Example L1E03 - Displaying the Digits on Calculator Screen
Hussein Nasser
24 Show Your Work. Blog, Vlog, Write, Create and Develop!
Show Your Work. Blog, Vlog, Write, Create and Develop!
Hussein Nasser
25 Relational Database Atomicity Explained By Example
Relational Database Atomicity Explained By Example
Hussein Nasser
26 Javascript By Example L1E04 - Operators, All Clear with Arrow Functions
Javascript By Example L1E04 - Operators, All Clear with Arrow Functions
Hussein Nasser
27 What Comes First, User Experience or Software Architecture?
What Comes First, User Experience or Software Architecture?
Hussein Nasser
28 Javascript By Example L1E05 -  Evaluate the Calculator Expressions with eval
Javascript By Example L1E05 - Evaluate the Calculator Expressions with eval
Hussein Nasser
29 Fastest Way to Learn Programming Language or Technology
Fastest Way to Learn Programming Language or Technology
Hussein Nasser
30 Javascript By Example L1E06 -  Fix Leading Zero Bug with Conditions
Javascript By Example L1E06 - Fix Leading Zero Bug with Conditions
Hussein Nasser
31 Stateful vs Stateless Applications (Explained by Example)
Stateful vs Stateless Applications (Explained by Example)
Hussein Nasser
32 Javascript By Example L1E07 - Running our Calculator on the Mobile Phone
Javascript By Example L1E07 - Running our Calculator on the Mobile Phone
Hussein Nasser
33 Advice for New Software Engineers and Developers
Advice for New Software Engineers and Developers
Hussein Nasser
34 Why JSON is so Popular?
Why JSON is so Popular?
Hussein Nasser
35 Building Scalable Software - SLA, HS, VS
Building Scalable Software - SLA, HS, VS
Hussein Nasser
36 Vlog (Istanbul) - Datacenter Proximity
Vlog (Istanbul) - Datacenter Proximity
Hussein Nasser
37 Should Software Engineers Learn Bleeding-Edge Technologies?
Should Software Engineers Learn Bleeding-Edge Technologies?
Hussein Nasser
38 Do Developers Build Bad User Interfaces/Experience?
Do Developers Build Bad User Interfaces/Experience?
Hussein Nasser
39 Learn By Doing.
Learn By Doing.
Hussein Nasser
40 I Wrote Bad Front-End Code That Broke Chrome
I Wrote Bad Front-End Code That Broke Chrome
Hussein Nasser
41 My Story
My Story
Hussein Nasser
42 Vlog - Horizontal vs Vertical Scaling
Vlog - Horizontal vs Vertical Scaling
Hussein Nasser
43 Can User Experience Help Build Better Rest API?
Can User Experience Help Build Better Rest API?
Hussein Nasser
44 Reverse engineering Instagram in flight mode
Reverse engineering Instagram in flight mode
Hussein Nasser
45 The Benefits of the 3-Tier Architecture (e.g. REST API)
The Benefits of the 3-Tier Architecture (e.g. REST API)
Hussein Nasser
46 Stateless v. Stateful Architecture (Podcast)
Stateless v. Stateful Architecture (Podcast)
Hussein Nasser
47 The evolution from virtual machines to containers
The evolution from virtual machines to containers
Hussein Nasser
48 Proxy vs. Reverse Proxy (Explained by Example)
Proxy vs. Reverse Proxy (Explained by Example)
Hussein Nasser
49 Canary Deployment (Explained by Example)
Canary Deployment (Explained by Example)
Hussein Nasser
50 No Excuses
No Excuses
Hussein Nasser
51 Synchronous vs Asynchronous Applications (Explained by Example)
Synchronous vs Asynchronous Applications (Explained by Example)
Hussein Nasser
52 What is an Asynchronous service?
What is an Asynchronous service?
Hussein Nasser
53 Difference between Client Polling vs Server Push in Notifications
Difference between Client Polling vs Server Push in Notifications
Hussein Nasser
54 Software vs. Hardware AdBlockers (Explained by Example)
Software vs. Hardware AdBlockers (Explained by Example)
Hussein Nasser
55 HTTP Caching with E-Tags -  (Explained by Example)
HTTP Caching with E-Tags - (Explained by Example)
Hussein Nasser
56 Simple Object Access Protocol Pros and Cons (Explained by Example)
Simple Object Access Protocol Pros and Cons (Explained by Example)
Hussein Nasser
57 Nodejs Express "Hello, World"
Nodejs Express "Hello, World"
Hussein Nasser
58 Reverse Engineering Instagram feed
Reverse Engineering Instagram feed
Hussein Nasser
59 Popup Modal Dialog with Javascript and HTML
Popup Modal Dialog with Javascript and HTML
Hussein Nasser
60 MIME and Media Type sniffing explained and the type of attacks it leads to
MIME and Media Type sniffing explained and the type of attacks it leads to
Hussein Nasser

The upcoming version 100 update for Google Chrome, Microsoft Edge, and Firefox may break several websites due to a bug in checking the browser version. The browsers are updating to version 100 at the same time to pressure big websites to fix their code. This update highlights the importance of website compatibility and the need for developers to stay up-to-date with the latest browser updates.

Key Takeaways
  1. Check the browser version using the user agent string
  2. Use javascript to check the browser version and handle compatibility issues
  3. Test website compatibility with different browser versions
  4. Update website code to handle the new browser version
💡 The browser version bug can cause websites to break, and it's essential for developers to stay up-to-date with the latest browser updates and test their website's compatibility.

Related Reads

📰
Only10 Vol.26.01 | 10 AI Projects Worth Watching This Week
Discover 10 noteworthy AI projects using the CRP framework to stay updated on the latest developments in the field
Medium · ChatGPT
📰
Kimi K3 is so popular Moonshot ran out of GPUs and paused new sign-ups
Moonshot AI's Kimi K3 model is so popular it exceeded computing power, prompting a pause on new sign-ups, highlighting the importance of scaling infrastructure for AI startups
The Next Web AI
📰
What smart people are saying about IBM’s AI warning and SaaSpocalypse fears
Learn about IBM's AI warning and SaaSpocalypse fears from industry experts and their implications for business leaders
Dev.to AI
📰
Dutch company ASML is $300bn from a trillion. AI could close the gap
ASML, a Dutch company, is nearing a $1 trillion valuation, with AI potentially playing a key role in closing the gap
The Next Web AI
Up next
How To Install SteamOS On ANY PC in 2026 (Using BAZZITE)
Ksk Royal
Watch →