angular / angular/components

mat-icon shows text before showing properly

Open
#12,171 29 comments 52 reactions 0 assignees View on GitHub
area: material/icon feature P4
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

#### Bug, feature request, or proposal:
Bug or feature request.

#### What is the expected behavior?
When using `home`, nothing should be displayed until the icon is loaded properly. As soon as the icon is loaded, it should render.

#### What is the current behavior?
Depending on the speed of your connection, it is possible, that you see the text (for example `home`) instead of the icon.

#### What are the steps to reproduce?

1. Start the Angular Material Icon example in [Stackblitz](https://stackblitz.com/angular/yogqmggjokx).
It might be better to open it in it's own tab.
2. Open the Developer-Tools (in Chrome) and under the `Network`-Tab choose a very slow network throttling profile. This is needed, as the sample app is very small and therefore the problem is not noticeable with normal connections.
3. Reload the page and wait until it is loaded. You will see something like this:
![image](https://user-images.githubusercontent.com/18258317/42627235-b224a5e2-85cc-11e8-89d9-29b94933423a.png)
After some time it shows the icon:
![image](https://user-images.githubusercontent.com/18258317/42632653-2e332d8c-85de-11e8-95b2-5a18c09c5fcb.png)

#### What is the use-case or motivation for changing an existing behavior?
In an app I am currently working on, this happens pretty often. Even if I only change the route (which does not trigger a reload of the page) I often see the text of the icons before the icon is displayed properly, so it does not seem to be related to the loading of the icon font.

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I am using @angular/material 6.3.1 together with TypeScript 2.7.2 on a Windows 10 PC.
The problem occures at least on Chrome, Opera, Firefox and Edge.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue from the linked StackBlitz example using a very slow network profile, focusing on the mat-icon component and its loading behavior. Confirm the intermediate text display and verify that the completed behavior keeps the icon text hidden until the icon is ready across the reported browsers.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.