Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update 2 to 4 has problem [ts] Property 'map' does not exist on type 'Observable<Response>'. #15548

Closed
AlicePrincess opened this issue Mar 28, 2017 · 50 comments

Comments

@AlicePrincess
Copy link

@AlicePrincess AlicePrincess commented Mar 28, 2017

image

I need to how to solve

@DzmitryShylovich

This comment has been minimized.

Copy link
Contributor

@DzmitryShylovich DzmitryShylovich commented Mar 28, 2017

import 'rxjs/add/operator/map';

@AlicePrincess

This comment has been minimized.

Copy link
Author

@AlicePrincess AlicePrincess commented Mar 28, 2017

image

@Toxicable

This comment has been minimized.

Copy link
Contributor

@Toxicable Toxicable commented Mar 28, 2017

Works fine here https://plnkr.co/edit/ovErXQGoQT5PQCzrSi6K?p=preview
If you remove import 'rxjs/add/operator/map' you'll notice that you get the error

In the future please fill out the Issue template correctly, otherwise your issue may be ignored.
Also note that this Issue tracker is not suitable for support requests, please Post on stack Overflow with the tag angular or see https://gitter.im/angular/angular

@pkozlowski-opensource

This comment has been minimized.

Copy link
Member

@pkozlowski-opensource pkozlowski-opensource commented Mar 28, 2017

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular.

If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.

@AlicePrincess

This comment has been minimized.

Copy link
Author

@AlicePrincess AlicePrincess commented Mar 28, 2017

I know the cause of the problem,should not use cnpm,thanks all

@MedFirasMrabet

This comment has been minimized.

Copy link

@MedFirasMrabet MedFirasMrabet commented Aug 10, 2017

@AlicePrincess can u be more specific about your solution please because I have the same exactly issue ?

@sengemann

This comment has been minimized.

Copy link

@sengemann sengemann commented Oct 27, 2017

For anyone still curious as to the fix, If you import the generic import { Observable } from 'rxjs/Rx'; rather than import { Observable } from 'rxjs/add/operator/map', that should resolve your issue.

See stackoverflow.

@sarunint

This comment has been minimized.

Copy link
Contributor

@sarunint sarunint commented Oct 27, 2017

Importing the whole rxjs/Rx is considered a bad practise since it will import all operators (including the ones that you don't use) and make your bundle too big.

I recommend using Lettable Operators, which was recently introduced in rxjs@5.5.0, to allow better tree shaking.

@GregGorman

This comment has been minimized.

Copy link

@GregGorman GregGorman commented Dec 24, 2017

I'm new to Angular so I may be wrong here but it looks like there are some breaking changes with the new versions on rxjs/Rx (major version change usually means breaking changes.) If you look in the node modules rxjs folder you'll find an add folder. In there will be the operator folder.

import 'rxjs/add/operator/map'; will fix one of your errors.

adding import 'rxjs/add/operator/take'; will fix the second

and import 'rxjs/add/operator/subscribeOn'; will get you part of the way to fixing the third. This looks like a breaking change and you're going to have to read the documentation.

@sasikiranr

This comment has been minimized.

Copy link

@sasikiranr sasikiranr commented Jan 8, 2018

I'm having the same issue, even though I imported the map from 'import 'rxjs/add/operator/map''
Property 'map' does not exist on type observable.
is this related with any typescript version or something else.

@manartaha

This comment has been minimized.

Copy link

@manartaha manartaha commented Mar 22, 2018

@sasikiranr make sure that you have imported import { Http , Response} from '@angular/http'; and import { Observable } from 'rxjs/Observable';

@chathurangakup

This comment has been minimized.

Copy link

@chathurangakup chathurangakup commented May 7, 2018

have there any opetrator without map??

@crossRT

This comment has been minimized.

Copy link

@crossRT crossRT commented May 7, 2018

@chathurangakup I guess I having the same problem as u.
even if import 'rxjs/add/operator/map'; is not able to solve this issue.

@crossRT

This comment has been minimized.

Copy link

@crossRT crossRT commented May 7, 2018

Not sure whether it's related or not, I found out the official document is using pipe() to chain the logic.
Have a look on https://angular.io/guide/http
My solution to solve this:

import { map } from 'rxjs/operators';
return this.http.post(`${environment.apiPrefix}/auth/login`, credential).pipe(map((res: any) => {
      console.log('res', res);
      return res;
    }));
@manartaha

This comment has been minimized.

Copy link

@manartaha manartaha commented May 7, 2018

Try to use httpClient instead of http in your constructor and remove the operator map from your return it may solve your problem

@ronnyyu

This comment has been minimized.

Copy link

@ronnyyu ronnyyu commented May 7, 2018

I met the same problem with the angular cli 6.0.0 and rxjs 6.1.0. And I solved the problem by replacing the former code with latter code below.

import 'rxjs/add/operator/map';
this.myObservable().map(data => {})
import { map } from "rxjs/operators";
this.myObservable().pipe(map(data => {}))

This is the update guide for your reference: https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md

@crossRT

This comment has been minimized.

Copy link

@crossRT crossRT commented May 8, 2018

@manartaha I'm using HttpClient from angular core instead of HTTP.

@crossRT

This comment has been minimized.

Copy link

@crossRT crossRT commented May 8, 2018

thanks @vermouthyr
the link is very useful.

@Rasive

This comment has been minimized.

Copy link

@Rasive Rasive commented May 10, 2018

@vermouthyr Holy moly, thanks man, was driving me nuts!

@senthilkumarpn

This comment has been minimized.

Copy link

@senthilkumarpn senthilkumarpn commented May 14, 2018

nice man. saved time.

@BryanMCarroll

This comment has been minimized.

Copy link

@BryanMCarroll BryanMCarroll commented May 14, 2018

@vermouthyr Thank you!

@karim-khan

This comment has been minimized.

Copy link

@karim-khan karim-khan commented May 16, 2018

Thanks @crossRT

@AnisBOULAID

This comment has been minimized.

Copy link

@AnisBOULAID AnisBOULAID commented May 29, 2018

@engemasa instead of using import { Observable } from 'rxjs/Rx'; , just install the package rxjs-compat, this will fix the issue

@abhargavasharma

This comment has been minimized.

Copy link

@abhargavasharma abhargavasharma commented May 30, 2018

I installed rxjs-compat(npm install rxjs-compat), and also used below code

import { Http, Headers, Response } from '@angular/http';
import 'rxjs/Rx';
import { map } from "rxjs/operators";
import { Observable } from 'rxjs/Observable';

It worked for me

@hamzaavvan

This comment has been minimized.

Copy link

@hamzaavvan hamzaavvan commented Jun 6, 2018

Angular apps rely on rxjs@5.5+ import map operator like this:
import { map } from "rxjs/operators";

And if you're using rxjs@6+ then execute the command for backward compatibility:
npm install --save rxjs-compat@6

Note Sometimes map operator gives an error Property map does not exist on type Observable<Object>

To kick this out, import Observable like this:
import { Observable } from "rxjs/Rx";

And it should work 👍 Best of luck

@govarthananve

This comment has been minimized.

Copy link

@govarthananve govarthananve commented Jun 26, 2018

thanks @vermouthyr

@susampath

This comment has been minimized.

Copy link

@susampath susampath commented Jun 27, 2018

@vermouthyr Thanks for Your Code .Its Totally Worked for Me.

@tmell004

This comment has been minimized.

Copy link

@tmell004 tmell004 commented Jul 6, 2018

Thank you vermouthyr it is very helpfull

@lkolli33

This comment has been minimized.

Copy link

@lkolli33 lkolli33 commented Jul 11, 2018

Thanks @hamzaavvan
import 'rxjs/add/operator/map';
installing*
npm install --save rxjs-compat
worked for me..no need for importing extra libraries

@maroom1

This comment has been minimized.

Copy link

@maroom1 maroom1 commented Jul 12, 2018

how to read getItems in the component ? @lkolli33
I am getting an error

this.dataService.getItems().subscribe((posts) => {
console.log(posts);
});

when subscribe function is not present in the recommendations , please suggest

@KhayelihleS

This comment has been minimized.

Copy link

@KhayelihleS KhayelihleS commented Jul 12, 2018

@engemasa, Thanks it works

@diegodelfin7

This comment has been minimized.

Copy link

@diegodelfin7 diegodelfin7 commented Jul 13, 2018

@hamzaavvan thanks bro , it worked for me.

@smitpatelx

This comment has been minimized.

Copy link

@smitpatelx smitpatelx commented Jul 15, 2018

THE FINAL ANSWER FOR THOSE WHO USES ANGULAR 6:

Add the below command in your *.service.ts file"

import { map } from "rxjs/operators";

**********************************************Example**Below**************************************
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}

I am using
windows 10;

angular6 with typescript V 2.3.4.0

@BeTheChange1994

This comment has been minimized.

Copy link

@BeTheChange1994 BeTheChange1994 commented Jul 16, 2018

@smitpatelx Thank you so much, true gent!!!

@Mohammad-Quanit

This comment has been minimized.

@lkolli33

This comment has been minimized.

Copy link

@lkolli33 lkolli33 commented Jul 18, 2018

Thanks @manartaha ..
Actually http is deprecated and httpclient is introduced in Angular 6 which automatically includes map operator.
So we can remove map operator and include httpclient instead of http.
Below is the working code..

import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Injectable({
providedIn: 'root'
})
export class EmployeeService {

constructor(private _httpClient:HttpClient) { }

getEmployees()
{
return this._httpClient.get('http://localhost:3000/emp/employees');
}
}

@vineesh33

This comment has been minimized.

Copy link

@vineesh33 vineesh33 commented Jul 25, 2018

we can resolve this issue, try below things

import{Http, RequestOptions, Response, Headers} from '@angular/http';
import { map } from 'rxjs/operators';

constructor(private http : Http) { }
httpdata;
ngOnInit() {
this.http.get("http://jsonplaceholder.typicode.com/users").
pipe(map(
(response) => response.json()
)).
subscribe(
(data) => {this.displaydata(data);}
)

}

displaydata(data) {this.httpdata = data;}

}

This is working as expected.

Thanks
Vineesh

@pasame-el-codigo

This comment has been minimized.

Copy link

@pasame-el-codigo pasame-el-codigo commented Jul 29, 2018

@hamzaavvan thanx

@maksof-kashif

This comment has been minimized.

Copy link

@maksof-kashif maksof-kashif commented Jul 31, 2018

hello! angular new version not support .map you have to install this through cmd
npm install --save rxjs-compat
via this you can enjoy with old technique .
note:
don't forget to import these lines.
import { Observable, Subject } from 'rxjs';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
thank you

@HarshaDhananjaya

This comment has been minimized.

Copy link

@HarshaDhananjaya HarshaDhananjaya commented Aug 8, 2018

@vineesh33 it was really helpful

@Rename94

This comment has been minimized.

Copy link

@Rename94 Rename94 commented Sep 10, 2018

npm install --save rxjs-compat@6
SOLVED

@blondie63

This comment has been minimized.

Copy link

@blondie63 blondie63 commented Sep 18, 2018

Thanks @manartaha ..
Actually http is deprecated and httpclient is introduced in Angular 6 which automatically includes map operator.
So we can remove map operator and include httpclient instead of http.
Below is the working code..

import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Injectable({
providedIn: 'root'
})
export class EmployeeService {

constructor(private _httpClient:HttpClient) { }

getEmployees()
{
return this._httpClient.get('http://localhost:3000/emp/employees');
}
}

i've a simple api.service.ts based on http and need to convert to httpclient
someone can help me ?

@lkolli33

This comment has been minimized.

Copy link

@lkolli33 lkolli33 commented Sep 22, 2018

Thanks @manartaha ..
Actually http is deprecated and httpclient is introduced in Angular 6 which automatically includes map operator.
So we can remove map operator and include httpclient instead of http.
Below is the working code..
import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class EmployeeService {
constructor(private _httpClient:HttpClient) { }
getEmployees()
{
return this._httpClient.get('http://localhost:3000/emp/employees');
}
}

i've a simple api.service.ts based on http and need to convert to httpclient
someone can help me ?

Sure ...post your service..

@blondie63

This comment has been minimized.

Copy link

@blondie63 blondie63 commented Sep 22, 2018

Thanks, this is my code using HTTP:

`
import { Injectable } from "@angular/core";
import { Http, Headers, RequestOptions, Response } from "@angular/http";
import GlobalConfig from "./global-config";
import { Store } from "./store";
import { Device } from '@ionic-native/device';

@Injectable()
export class ApiService {

state;
version = null;

constructor(public http: Http,
public store: Store,
public device: Device) {
this.state = store.getState();
// this.state.subscribe(() => {
// console.log("apiService - state changed", this.state.source.value);
// });
}

login(email, password){
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
let options = new RequestOptions({ headers: header });
let data = {
"email": email,
"password": password
};

  this.http.post(GlobalConfig.SERVER_URL + "/api/v1/token", JSON.stringify(data), options)
    .map((res: Response) => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

getUser(){
// console.log("getUser");
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
header.append('Authorization', "Bearer " + this.state.source.value.access_token);
let options = new RequestOptions({ headers: header });

  this.http.get(GlobalConfig.SERVER_URL  + "/api/v1/user/me", options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

refreshToken(){
console.log("refreshToken");
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
let options = new RequestOptions({ headers: header });

  let data = {
    "refresh": this.state.source.value.refresh_token
  };

  this.http.post(GlobalConfig.SERVER_URL  + "/api/v1/token/refresh", JSON.stringify(data), options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

checkin(session){
console.log("checkin", session);
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
header.append('Authorization', "Bearer " + this.state.source.value.access_token);
let options = new RequestOptions({ headers: header });

  let data = {
    event_type: 0, // (0, 'manual'), (1, 'geolocalized') // refers to automatic background geolocalization
    device_type: "mobil",
    mobile_app_version: GlobalConfig.APP_VERSION,

    event_dt: session.checkin.datetime,
    lat: session.checkin.lat,
    lng: session.checkin.lng,

    cordova: this.device.cordova,
    model: this.device.model,
    platform: this.device.platform,
    uuid: this.device.uuid,
    version: this.device.version,
    manufacturer: this.device.manufacturer,
    isVirtual: this.device.isVirtual,
    serial: this.device.serial,
  };

  this.http.post(GlobalConfig.SERVER_URL  + "/api/v1/event/checkin", JSON.stringify(data), options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

checkout(session){
console.log("checkout", session);
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
header.append('Authorization', "Bearer " + this.state.source.value.access_token);
let options = new RequestOptions({ headers: header });

  let data = {
    event_type: 0, // (0, 'manual'), (1, 'geolocalized') // refers to automatic background geolocalization
    device_type: "mobil",

    id: session.id_server,
    event_dt: session.checkout.datetime,
    lat: session.checkout.lat,
    lng: session.checkout.lng,

    cordova: this.device.cordova,
    model: this.device.model,
    platform: this.device.platform,
    uuid: this.device.uuid,
    version: this.device.version,
    manufacturer: this.device.manufacturer,
    isVirtual: this.device.isVirtual,
    serial: this.device.serial,
  };

  this.http.post(GlobalConfig.SERVER_URL  + "/api/v1/event/checkout", JSON.stringify(data), options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

updateCheckin(session){
console.log("updateCheckin", session);
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
header.append('Authorization', "Bearer " + this.state.source.value.access_token);
let options = new RequestOptions({ headers: header });

  let data = {
    id: session.id_server,
    event_dt: session.checkin.datetime,
  };

  this.http.put(GlobalConfig.SERVER_URL  + "/api/v1/event/checkin", JSON.stringify(data), options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

updateCheckout(session){
console.log("updateCheckout", session);
return new Promise((resolve, reject) => {
let header = new Headers();
header.append('Content-Type', "application/json");
header.append('Authorization', "Bearer " + this.state.source.value.access_token);
let options = new RequestOptions({ headers: header });

  let data = {
    id: session.id_server,
    event_dt: session.checkout.datetime,
  };

  this.http.put(GlobalConfig.SERVER_URL  + "/api/v1/event/checkout", JSON.stringify(data), options)
    .map(res => res.json())
    .subscribe(
      data => resolve(data),
      error => reject(error)
    );
})

}

}
`

@lkolli33

This comment has been minimized.

Copy link

@lkolli33 lkolli33 commented Sep 24, 2018

Hi @blondie63 ,
I've modified your code,please check if it is working or not.

import { Injectable } from "@angular/core";
import { Http, Headers, RequestOptions, Response } from "@angular/http";
import {HttpClient,HttpHeaders} from '@angular/common/http';
import GlobalConfig from "./global-config";
import { Store } from "./store";
import { Device } from '@ionic-native/device';

@Injectable()
export class ApiService {

state;
version = null;

constructor(public http: HttpClient,
public store: Store,
public device: Device) {
this.state = store.getState();
// this.state.subscribe(() => {
// console.log("apiService - state changed", this.state.source.value);
// });
}

login(email, password){
return new Promise((resolve, reject) => {
let httpHeaders = new HttpHeaders({'Content-Type':"application/json"});

let data = {
"email": email,
"password": password
};
this.http.post(GlobalConfig.SERVER_URL + "/api/v1/token", JSON.stringify(data), {headers:httpHeaders})
// .map((res: Response) => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

getUser(){
// console.log("getUser");
return new Promise((resolve, reject) => {
let httpHeaders = new HttpHeaders({'Content-Type': "application/json",'Authorization': "Bearer " + this.state.source.value.access_token});

this.http.get(GlobalConfig.SERVER_URL + "/api/v1/user/me", { headers: httpHeaders })
// .map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

refreshToken(){
console.log("refreshToken");
return new Promise((resolve, reject) => {
let httpHeaders= new HttpHeaders({'Content-Type':"application/json"});

let data = {
"refresh": this.state.source.value.refresh_token
};

this.http.post(GlobalConfig.SERVER_URL + "/api/v1/token/refresh", JSON.stringify(data), { headers: httpHeaders })
//.map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

checkin(session){
console.log("checkin", session);
return new Promise((resolve, reject) => {
let httpHeaders= new HttpHeaders({'Content-Type':"application/json",'Authorization': "Bearer " + this.state.source.value.access_token});

let data = {
event_type: 0, // (0, 'manual'), (1, 'geolocalized') // refers to automatic background geolocalization
device_type: "mobil",
mobile_app_version: GlobalConfig.APP_VERSION,

event_dt: session.checkin.datetime,
lat: session.checkin.lat,
lng: session.checkin.lng,

cordova: this.device.cordova,
model: this.device.model,
platform: this.device.platform,
uuid: this.device.uuid,
version: this.device.version,
manufacturer: this.device.manufacturer,
isVirtual: this.device.isVirtual,
serial: this.device.serial,

};

this.http.post(GlobalConfig.SERVER_URL + "/api/v1/event/checkin", JSON.stringify(data), { headers: httpHeaders })
//.map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

checkout(session){
console.log("checkout", session);
return new Promise((resolve, reject) => {
let httpHeaders = new HttpHeaders({'Content-Type': "application/json",'Authorization': "Bearer " + this.state.source.value.access_token});

let data = {
event_type: 0, // (0, 'manual'), (1, 'geolocalized') // refers to automatic background geolocalization
device_type: "mobil",

id: session.id_server,
event_dt: session.checkout.datetime,
lat: session.checkout.lat,
lng: session.checkout.lng,

cordova: this.device.cordova,
model: this.device.model,
platform: this.device.platform,
uuid: this.device.uuid,
version: this.device.version,
manufacturer: this.device.manufacturer,
isVirtual: this.device.isVirtual,
serial: this.device.serial,

};

this.http.post(GlobalConfig.SERVER_URL + "/api/v1/event/checkout", JSON.stringify(data), { headers: httpHeaders })
// .map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

updateCheckin(session){
console.log("updateCheckin", session);
return new Promise((resolve, reject) => {
let httpHeaders = new HttpHeaders({'Content-Type': "application/json",'Authorization':"Bearer " + this.state.source.value.access_token);

let data = {
id: session.id_server,
event_dt: session.checkin.datetime,
};

this.http.put(GlobalConfig.SERVER_URL + "/api/v1/event/checkin", JSON.stringify(data), { headers: httpHeaders })
// .map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

updateCheckout(session){
console.log("updateCheckout", session);
return new Promise((resolve, reject) => {
let httpHeaders = new HttpHeaders({'Content-Type':"application/json",'Authorization': "Bearer " + this.state.source.value.access_token});

let data = {
id: session.id_server,
event_dt: session.checkout.datetime,
};

this.http.put(GlobalConfig.SERVER_URL + "/api/v1/event/checkout", JSON.stringify(data), { headers: httpHeaders })
//.map(res => res.json())
.subscribe(
data => resolve(data),
error => reject(error)
);
})
}

}

@blondie63

This comment has been minimized.

Copy link

@blondie63 blondie63 commented Sep 24, 2018

Many thanks, there was only two errors:

  1. need to comment row 2
  2. i add a missing } in row 141

ps. a friend said me that my code is not good because is not OOP.. what do you think ?

@Anirudh16

This comment has been minimized.

Copy link

@Anirudh16 Anirudh16 commented Dec 26, 2018

Angular apps rely on rxjs@5.5+ import map operator like this:
import { map } from "rxjs/operators";

And if you're using rxjs@6+ then execute the command for backward compatibility:
npm install --save rxjs-compat@6

Note Sometimes map operator gives an error Property map does not exist on type Observable<Object>

To kick this out, import Observable like this:
import { Observable } from "rxjs/Rx";

Hello tried these steps but still issue persists

@SatyaShekhar

This comment has been minimized.

Copy link

@SatyaShekhar SatyaShekhar commented Jan 24, 2019

import {map} from 'rxjs/operators'

constructor(private _http:Http){

}
getEmployees() {
    return this._http
                    .get('http://jsonplaceholder.typicode.com/posts')
                    .pipe(map((response: Response) => response.json()));
}
@SamiddhaD

This comment has been minimized.

Copy link

@SamiddhaD SamiddhaD commented May 9, 2019

Run this command:
sudo npm install --save rxjs-compat
Also import:
import 'rxjs/Rx'
This solved in my case.

@angular-automatic-lock-bot

This comment has been minimized.

Copy link

@angular-automatic-lock-bot angular-automatic-lock-bot bot commented Sep 15, 2019

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.