displayName & ngIf not working properly

That looks like your UserService is not annotated to return the correct type of object. You can either change the return from that method or update UserService

I was able to find a solution here

so any one might face the same issue may change the code as follows:

get appUser$(): Observable<AppUser> {
    return this.user$
      .pipe(switchMap( (user: firebase.User) => this.userService.get(user.uid).valueChanges()));