Оценить приложение?
Тип лучше указывать не через конструктор примитива, а через тип string (тот что из TypeScript, с маленькой буквы).url: String = '';
Вы не используете возможности RxJS. Этот кусок кода можно сделать иначе:ngOnInit() {
    this.Preview.url
      .subscribe(new_url => this.url = new_url);
  }
Подписчик не будет уничтожен при OnDestroy компонента, а будет слушать новый урл до тех пор, пока не выгрузится из памяти сборщиком мусора. Правильнее было бы сделать вот так:public previewUrl$: Observable<string>

ngOnInit() {
    this.previewUrl$ = this.Preview.url
}<div class="preview" *ngIf="(previewUrl$ | async) as url">
  <img class="preview__img" [src]="url">
</div>
В сервисе так же (https://github.com/BuG1K/task/blob/master/src/app/... вы подписались на http запрос и дальше не используете RxJS. Все манипуляции можно было сделать в tap/map и вернуть поток, с которым удобно работать.
Тип лучше указывать не через конструктор примитива, а через тип string (тот что из TypeScript, с маленькой буквы).url: String = '';
Вы не используете возможности RxJS. Этот кусок кода можно сделать иначе:ngOnInit() {
    this.Preview.url
      .subscribe(new_url => this.url = new_url);
  }
Подписчик не будет уничтожен при OnDestroy компонента, а будет слушать новый урл до тех пор, пока не выгрузится из памяти сборщиком мусора. Правильнее было бы сделать вот так:public previewUrl$: Observable<string>

ngOnInit() {
    this.previewUrl$ = this.Preview.url
}<div class="preview" *ngIf="(previewUrl$ | async) as url">
  <img class="preview__img" [src]="url">
</div>
В сервисе так же (https://github.com/BuG1K/task/blob/master/src/app/... вы подписались на http запрос и дальше не используете RxJS. Все манипуляции можно было сделать в tap/map и вернуть поток, с которым удобно работать.