Implement lazy loading for combobox technology icons using IntersectionObserver#1264
Open
max-ostapenko wants to merge 1 commit into
Open
Implement lazy loading for combobox technology icons using IntersectionObserver#1264max-ostapenko wants to merge 1 commit into
max-ostapenko wants to merge 1 commit into
Conversation
…rsectionObserver Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
tunetheweb
reviewed
Jun 6, 2026
| // Add options in the dropdown list | ||
| const listbox = this.element.querySelector('[role="listbox"]'); | ||
|
|
||
| const hasObserver = typeof IntersectionObserver !== 'undefined'; |
Member
There was a problem hiding this comment.
This loading=lazy attribute means all this code shouldn't be needed.
However, it seems to me Safari is not honouring this and loads everything 😔 It seems to work fine in Chrome and Firefox. But then we see the error in Lighthouse too, which uses Chrome 🤔
But this does seem to fix it for Safari. Is that why you're adding this? Or are there other reasons? I think we should add a comment here.
Suggested change
| const hasObserver = typeof IntersectionObserver !== 'undefined'; | |
| // Safari doesn't seem to honour `loading=lazy and loads all icons | |
| // so use a manual IntersectionObserver for now. | |
| const hasObserver = typeof IntersectionObserver !== 'undefined'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The log entries indicated that an incoming request to the report-api backend service was denied with a 403 Forbidden status code by a Google Cloud Armor security policy. Specifically, the request from particular IPs exceeded the rate limit threshold defined in the policy named report-api-backend-security-policy.
This means:
The solution:
Optimized the technology dropdown list to prevent fetching 2,000+ technology icons simultaneously on load or filter, avoiding overwhelming both the client browser's connection limit and the CDN.