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

[Grid] Support RxJS 7 #3314

Closed
prabh-62 opened this issue May 20, 2021 · 11 comments
Closed

[Grid] Support RxJS 7 #3314

prabh-62 opened this issue May 20, 2021 · 11 comments
Assignees

Comments

@prabh-62
Copy link

prabh-62 commented May 20, 2021

Describe the bug
Kendo grid errors out on launching angular 12 application with rxjs 7

TypeError: Cannot read property 'add' of undefined
    at ListComponent.ngOnInit (index.js:11146)
    at callHook (core.js:2526)
    at callHooks (core.js:2495)
    at executeInitAndCheckHooks (core.js:2446)
    at selectIndexInternal (core.js:8424)
    at Module.ɵɵadvance (core.js:8407)
    at GridComponent_ng_template_6_Template (index.js:168)
    at executeTemplate (core.js:9575)
    at refreshView (core.js:9441)
    at refreshEmbeddedViews (core.js:10566)
    at refreshView (core.js:9465)
    at refreshComponent (core.js:10612)
    at refreshChildComponents (core.js:9238)
    at refreshView (core.js:9491)
    at refreshComponent (core.js:10612)

To Reproduce

  • Create new Angular app
❯ npx @angular/cli@12 new web-apps --create-application false --strict
❯ cd web-apps
❯ yarn ng g app command-center
# yarn ng add @angular-eslint/schematics
❯ yarn ng add @progress/kendo-angular-grid
❯ yarn add rxjs@7 
❯ yarn start

Expected behavior
Kendo grid should not error

Screenshots
kendo_grid_error_console

kendo_grid_error

Browser

  • OS: macOS 11.3.1
  • Browser: Google Chrome
  • Version: 90

Additional context

yarn list --depth 0 | grep -i @angular
yarn list --depth 0 | grep -i @progress
yarn list --depth 0 | grep -i rxjs

├─ @angular-devkit/architect@0.1200.0
├─ @angular-devkit/build-angular@12.0.0
├─ @angular-devkit/build-optimizer@0.1200.0
├─ @angular-devkit/build-webpack@0.1200.0
├─ @angular-devkit/core@12.0.0
├─ @angular-devkit/schematics@12.0.0
├─ @angular/animations@12.0.1
├─ @angular/cdk@12.0.1
├─ @angular/cli@12.0.0
├─ @angular/common@12.0.1
├─ @angular/compiler-cli@12.0.1
├─ @angular/compiler@12.0.1
├─ @angular/core@12.0.1
├─ @angular/forms@12.0.1
├─ @angular/language-service@12.0.1
├─ @angular/localize@12.0.1
├─ @angular/platform-browser-dynamic@12.0.1
├─ @angular/platform-browser@12.0.1
├─ @angular/router@12.0.1
├─ @progress/jszip-esm@1.0.2
├─ @progress/kendo-angular-buttons@6.1.2
├─ @progress/kendo-angular-common@2.0.1
├─ @progress/kendo-angular-dateinputs@5.2.0
├─ @progress/kendo-angular-dialog@5.0.1
├─ @progress/kendo-angular-dropdowns@5.3.0
├─ @progress/kendo-angular-excel-export@4.0.1
├─ @progress/kendo-angular-grid@5.1.2
├─ @progress/kendo-angular-inputs@7.2.1
├─ @progress/kendo-angular-intl@3.1.1
├─ @progress/kendo-angular-l10n@3.0.1
├─ @progress/kendo-angular-label@3.0.3
├─ @progress/kendo-angular-layout@6.1.5
├─ @progress/kendo-angular-pdf-export@3.0.1
├─ @progress/kendo-angular-popup@4.0.1
├─ @progress/kendo-angular-progressbar@2.0.1
├─ @progress/kendo-angular-treeview@5.3.1
├─ @progress/kendo-common@0.2.1
├─ @progress/kendo-data-query@1.5.5
├─ @progress/kendo-date-math@1.5.2
├─ @progress/kendo-drawing@1.10.0
├─ @progress/kendo-file-saver@1.1.0
├─ @progress/kendo-licensing@1.1.4
├─ @progress/kendo-ooxml@1.6.2
├─ @progress/kendo-popup-common@1.8.0
├─ @progress/kendo-schematics@1.2.1
├─ @progress/kendo-theme-default@4.38.1
├─ @progress/pako-esm@1.0.1
├─ rxjs@7.0.1
@prabh-62 prabh-62 changed the title Grid: Cannot read property 'add' of undefined at ListComponent.ngOnInit [RxJS 7]Grid: Cannot read property 'add' of undefined at ListComponent.ngOnInit May 21, 2021
@prabh-62 prabh-62 changed the title [RxJS 7]Grid: Cannot read property 'add' of undefined at ListComponent.ngOnInit Grid: Support RxJS 7 May 21, 2021
@prabh-62 prabh-62 changed the title Grid: Support RxJS 7 [Grid] Support RxJS 7 May 21, 2021
@aleshchev
Copy link

Hi guys,

I've the same error with DatePickerComponent.

Environment:

  • Angular 12.0.1
  • Latest version of Kendo
  • Stack trace
      Uncaught TypeError: Cannot read property 'add' of undefined
      at HeaderComponent.ngOnInit (index.js:11832)
      at callHook (core.js:2526)
      at callHooks (core.js:2495)
      at executeInitAndCheckHooks (core.js:2446)
      at selectIndexInternal (core.js:8424)
      at Module.ɵɵadvance (core.js:8407)
      at ViewListComponent_Template (index.js:2803)
      at executeTemplate (core.js:9575)
      at refreshView (core.js:9441)
      at refreshComponent (core.js:10612)
      at refreshChildComponents (core.js:9238)
      at refreshView (core.js:9491)
      at refreshEmbeddedViews (core.js:10566)
      at refreshView (core.js:9465)
      at refreshComponent (core.js:10612)
      at refreshChildComponents (core.js:9238)
      at refreshView (core.js:9491)
      at refreshEmbeddedViews (core.js:10566)
      at refreshView (core.js:9465)
      at refreshComponent (core.js:10612)
      at refreshChildComponents (core.js:9238)
      at refreshView (core.js:9491)
      at renderComponentOrTemplate (core.js:9555)
      at tickRootContext (core.js:10786)
      at detectChangesInRootView (core.js:10811)
      at RootViewRef.detectChanges (core.js:22852)
      at PopupService.open (index.js:1209)
      at DatePickerComponent._toggle (index.js:6629)
      at DatePickerComponent.togglePopup (index.js:6619)
      at index.js:6373
      at ZoneDelegate.invoke (zone.js:372)
      at Object.onInvoke (core.js:28661)
      at ZoneDelegate.invoke (zone.js:371)
      at Zone.run (zone.js:134)
      at NgZone.run (core.js:28515)
      at DatePickerComponent.set show [as show] (index.js:6372)
      at DatePickerComponent.handleIconClick (index.js:6529)
      at HTMLSpanElement.<anonymous> (platform-browser.js:560)
      at HTMLSpanElement.sentryWrapped (helpers.js:72)
      at ZoneDelegate.invokeTask (zone.js:406)
      at Zone.runTask (zone.js:178)
      at ZoneTask.invokeTask [as invoke] (zone.js:487)
      at invokeTask (zone.js:1600)
      at HTMLSpanElement.globalZoneAwareCallback (zone.js:1637)
    

@tsvetomir
Copy link
Member

The Kendo UI for Angular components are not yet compatible with RxJS 7. The same is true for Angular 12 for the moment, as noted in angular/angular#41897.

The number of breaking changes in RxJS 7 is significant and we can't commit to a specific timeline at the moment.

It's not clear yet if we'll be able to retain compatibility with RxJS 6 after addressing all changes. If that turns out to be the case, we'll need to sync with the Angular support policy for RxJS.

@tsvetomir tsvetomir pinned this issue May 25, 2021
@meriturva
Copy link

Thanks, @tsvetomir for your feedback.
What I have noted right now on our projects (quite big ones) is that it is quite easy to retain compatibility with rxjs 6.
The only change we introduced is about fixing add method usage on subscriptions -> breaking change: ReactiveX/rxjs#5656

After fixing it our build is green again (except for errors from the kendo grid).

@tapopov tapopov self-assigned this Jun 7, 2021
@destus90
Copy link

destus90 commented Aug 4, 2021

The Angular team recently updated their peer deps in order to allow using RxJS 7 with Angular 12.

gkalpak pushed a commit to gkalpak/ngcc-validation that referenced this issue Aug 20, 2021
The `kendo-ui-dateinput-ngcc` and `kendo-ui-grid-ngcc` projects are also
marked as failing, because they are not yet compatible with RxJS 7. This
is being tracked in telerik/kendo-angular#3314.
gkalpak pushed a commit to angular/ngcc-validation that referenced this issue Aug 23, 2021
The `kendo-ui-dateinput-ngcc` and `kendo-ui-grid-ngcc` projects are also
marked as failing, because they are not yet compatible with RxJS 7. This
is being tracked in telerik/kendo-angular#3314.
gkalpak pushed a commit to gkalpak/ngcc-validation that referenced this issue Aug 23, 2021
The `kendo-ui-dateinput-ngcc` and `kendo-ui-grid-ngcc` projects are also
marked as failing, because they are not yet compatible with RxJS 7. This
is being tracked in telerik/kendo-angular#3314.
gkalpak pushed a commit to angular/ngcc-validation that referenced this issue Aug 23, 2021
The `kendo-ui-dateinput-ngcc` and `kendo-ui-grid-ngcc` projects are also
marked as failing, because they are not yet compatible with RxJS 7. This
is being tracked in telerik/kendo-angular#3314.
@lcervo-diligent
Copy link

we are experiencing the same issues here (.add doesn't return a subscription). Any ETA on a fix?

@tsvetomir
Copy link
Member

Apologies for the delay with that issue. We're rolling out fixes for all components in the development builds.

You can give the fixes for the Grid a try:

npm install --save @progress/kendo-angular-grid@dev

The rest of the components will follow shortly. We hope to have an official update ready in about a week.

@destus90
Copy link

@tsvetomir
Will Kendo still support RxJS 6 or will there be a major version release with a breaking change on it? As I know, Angular 13 is compatible with both RxJS versions: 6 and 7 (https://github.com/angular/angular/blob/13.0.0-rc.1/packages/core/package.json#L19)

@tsvetomir
Copy link
Member

@destus90 it will support both RxJS 6 and 7, so no breaking changes.

@lcervo-diligent
Copy link

... still waiting...

@tapopov
Copy link
Contributor

tapopov commented Nov 3, 2021

Support for RxJS 7 is available in kendo-angular-grid v5.4.3

@tapopov tapopov closed this as completed Nov 3, 2021
@tsvetomir
Copy link
Member

The fix is applied to the latest versions of all packages. Let us know if you still experience issues after updating to the latest versions.

@tsvetomir tsvetomir unpinned this issue Nov 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants