Activities of "pradeep.pradyumna"

I have shared details over email. Also I have enabled Debug. Post deployment, I will share the fresh logs

[maliming] said: ok : )

Sorry for the delayed response. After including changes as suggested, I still face the same issue.

Do let me know: apart from the identitymodel logs, is there anything else you would like me to share? I could do it over email. Also, let me know if we could connect over a short call I can walk you through the code and changes we have made so far. Thank you!

[maliming] said: TokenValidationParameters

thank you. Yaduraj is on a leave this week and the changes are not yet implemented. I just did and waiting for deployment. I'll update you soon. thank you!

Here are the logs from Identity and Gateway projects:

Identity API:

identitymodel-identity.txt

Gateway API:

identitymodel-gateway.txt

On the email, I'm sending you a copy of the Application and Network tab contents.

thanks!

Hi ABP team,

Is it possible that we could get over a short call, as we 're running short of time and we have critical deliveries dependent on this upgrade we did?

We're facing issues logging into the application post ABP IO upgrade. And I see some of your suggestions are helping but itsn;t fast enough for us to do it over support tickets and meet our deadlines.

Just sharing a summary of .NET and Angular upgrades we did here. UPGRADE_COMPLETION_REPORT.md

ANGULAR-22-ABP-10.6-UPGRADE-COMPLETE-SUMMARY.md

Pls review them and let us know when can we connect today? Thanks!

Angular 22 + ABP 10.6 + TypeScript 6.0 Upgrade Summary

Project: TASConnect Litmus Platform
Period: August 28 - September 1, 2026
PR: #3355
Branch: feature/R26.06_angular22-abp10-upgrade


Executive Summary

Successfully upgraded Angular 17.3.12 → 22.0.8 with ABP 8.3 → 10.6 and TypeScript 5.3 → 6.0 for backend .NET 10 compatibility.

Impact:

  • 740 files modified
  • ~738 components updated with standalone: false
  • 50+ DTOs fixed for TypeScript 6.0
  • 17 modules refactored for pipe/provider architecture

Status: ✅ Compilation: Success (0 errors)
⚠️ Warnings: Sass deprecations (non-blocking)
✅ Dev Server: Starts successfully
✅ Runtime: Application loads correctly


Version Changes

| Package | Before | After | |---------|--------|-------| | Angular | 17.3.12 | 22.0.8 | | TypeScript | 5.3.0 | 6.0.0 | | ABP Framework | 8.3.0 | 10.6.0 | | ng-zorro-antd | 17.4.1 | 22.0.1 | | Angular Material | 17.3.10 | 22.1.4 | | ng-bootstrap | 16.0.0 | 17.0.0 (downgraded from 18 for compatibility) |


Key Phases

Phase 1: Core Upgrade (Aug 28)

  • Upgraded Angular 17 → 22, TypeScript 5 → 6
  • Changed browserTargetbuildTarget in angular.json
  • Disabled strict mode temporarily for gradual migration

Phase 2: ABP Upgrade (Aug 28)

  • Upgraded all ABP packages to 10.6.0
  • Added LOGO_APP_NAME_TOKEN provider (required in ABP 10+)

Phase 3: TypeScript 6.0 Fixes (Aug 28)

  • Fixed TS2612 errors by adding declare keyword to 50+ DTOs
  • Example:
    export class MyDto extends PagedDto {
      declare sorting: string;  // ← Added 'declare'
    }
    

Phase 4: Component Architecture (Sep 1)

  • Added standalone: false to ~738 components
  • Fixed NG5002 two-way binding errors in 3 mat-select elements
  • Updated ngx-image-cropper usage (Module → Component)

Phase 5: Module Fixes (Aug 31 - Sep 1)

  • Broke circular dependency: SharedModule ⟷ CoreSharedModule
  • Removed DateFormatPipe from providers in 17 modules (pipes go in declarations, not providers)
  • Fixed AlphanumericAllowPasteDirective standalone flag

Phase 6: DatePipe Fix (Sep 1) ⭐ LATEST

  • Problem: Blank login page, NG0201 error: "No provider for DatePipe"
  • Cause: ABP's lazy-loaded AccountPublicModule needed DatePipe
  • Solution: Added DatePipe to global providers in app.module.ts

Breaking Changes

1. Component Standalone Declaration (HIGH)

Angular 22 defaults to standalone: true. All NgModule components need standalone: false.

@Component({
  standalone: false,  // ← Required
  selector: 'app-example',
  templateUrl: './example.component.html'
})

2. Two-Way Binding Restrictions (MEDIUM)

Complex expressions in [(value)] no longer supported.

<!-- ❌ Before -->
<mat-select [(value)]="form?.value.field">

<!-- ✅ After -->
<mat-select [formControl]="form?.controls['field']">

3. TypeScript 6.0 Property Redeclaration (HIGH)

Must use declare keyword for inherited properties.

4. Module Resolution (LOW)

Changed from node to bundler in tsconfig.json.

5. Angular.json Schema (LOW)

browserTarget renamed to buildTarget.

6. ABP Logo Configuration (MEDIUM)

Requires explicit LOGO_APP_NAME_TOKEN provider.

7. DatePipe Provider (HIGH) ⭐ NEW

Angular 22 requires DatePipe in global providers for lazy-loaded ABP modules.


Configuration Changes

tsconfig.json:

{
  "compilerOptions": {
    "target": "ES2022",
    "moduleResolution": "bundler",
    "strictPropertyInitialization": false,
    "useDefineForClassFields": false
  }
}

angular.json:

{
  "serve": {
    "options": {
      "buildTarget": "litmus:build"  // Changed from browserTarget
    }
  }
}

app.module.ts:

import { DatePipe } from '@angular/common';

@NgModule({
  providers: [
    DatePipe,  // ← Angular 22 fix for lazy-loaded modules
    // ...
  ]
})

Known Issues & Workarounds

1. ABP @angular/aria/tabs Polyfill ⚠️

Issue: ABP 10.6 imports non-existent @angular/aria/tabs.
Workaround: Create polyfill in node_modules/@angular/aria/tabs/.
Action: Recreate after every npm install.
Doc: See ABP-ANGULAR-22-POLYFILL-WORKAROUND.md

2. Sass Deprecation Warnings ⚠️

Issue: Sass @import will be removed in Dart Sass 3.0.
Impact: Non-blocking warnings.
Future: Migrate to @use and @forward syntax.

3. CommonJS Dependencies ⚠️

Affected: lodash, moment, highcharts, crypto-js, uuid.
Impact: Larger bundle size, no functional issues.

4. ng-bootstrap Version Constraint ✅

Fixed: Using v17 (v18 has afterRender issues).


Testing Requirements

Critical Priority

  • ✅ Login page (fixed with DatePipe)
  • ⬜ User authentication flow
  • ⬜ OAuth/OIDC
  • ⬜ Permission-based routing

High Priority

  • ⬜ File uploads (ABP 10.6 API changes)
  • ⬜ Reactive forms with mat-select
  • ⬜ NGXS state management
  • ⬜ Lazy-loaded modules DI

Medium Priority

  • ⬜ Dashboard/Charts (Highcharts)
  • ⬜ Modals/Dialogs (ng-bootstrap, Material)
  • ⬜ Data tables (ng-zorro)

Deployment Checklist

Pre-Deployment:

  • [ ] Integration tests pass
  • [ ] Browser compatibility verified
  • [ ] Performance acceptable
  • [ ] Code review complete

Build Configuration:

  • [ ] Set NODE_OPTIONS=--max-old-space-size=8192
  • [ ] Production build succeeds
  • [ ] Bundle sizes acceptable

ABP Polyfill:

  • [ ] Create node_modules/@angular/aria/tabs/ polyfill
  • [ ] Verify build with polyfill
  • [ ] Document for CI/CD

Post-Deployment:

  • [ ] Monitor errors (Sentry/CloudWatch)
  • [ ] Track authentication success rate
  • [ ] Watch for DI-related errors

Statistics

Code Changes:

  • 740 files modified
  • ~738 components updated
  • 50+ DTOs fixed
  • 17 modules refactored

Build Metrics:

  • Compilation: ~60s (was ~45s)
  • Node Memory: 8GB (was 4GB)
  • Errors: 0
  • Warnings: 45 (Sass deprecations)

Package Upgrades:

  • 47 total packages upgraded
  • 15 Angular core packages
  • 25 ABP Framework packages
  • 4 UI libraries
  • 3 build tools

Key Commits

  • 58b41a68 - Initial Angular 22 upgrade
  • 3ede8924 - ABP 10.6 upgrade
  • fda8ef48 - TypeScript 6.0 DTO fixes
  • 2ab9bcda - Complete upgrade with standalone:false
  • cdc6f407 - DatePipe provider fix ⭐
  • 377892a5 - DateFormatPipe provider fix (PR review)
  • 33b47d33 - Remove dead @HostListener code

Lessons Learned

What Worked:

  • Phased approach isolated issues
  • Temporarily disabling strict mode allowed gradual migration
  • Global DatePipe provider fixed lazy-loaded module DI issues

Challenges:

  • Angular 21 attempt failed (ABP requires 22.0.x)
  • TypeScript 6.0 required systematic DTO fixes
  • ABP @angular/aria/tabs needed workaround
  • ng-bootstrap v18 incompatible, downgraded to v17

Future:

  • Consider standalone component migration
  • Evaluate @angular/build (esbuild)
  • Monitor ABP for native Angular 22 support
  • Migrate Sass @import to @use/@forward

References

Documentation:

  • Angular 22: https://angular.dev/update-guide
  • TypeScript 6.0: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/
  • ABP 10.6: https://abp.io/docs/latest/release-info/migration-guides/abp-10-6

Internal Docs:

  • ABP-ANGULAR-22-POLYFILL-WORKAROUND.md
  • ANGULAR-22-ABP-10.6-FIX-SUMMARY.md

Contact: Pradeep.Pradyumna@tasconnect.com


Status: ✅ Complete
Last Updated: September 2, 2026

NO AI response please. Request you to go through the attached markdown files and respond

I'm looking to upgrade the Angular with ABP which is at Angular 17 and ABP 8.3.0 versions. I get a lot of issues, when I did using it Claude. Here are the reports:

  • ABP Framework version: 8.3.0
  • UI Type: Angular
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Present scenario: Currently our solution, we are using three microservices say ms1, ms2 and ms3 and one API gateway project. We are injecting EntityFrameworkCoreModule and ContractsModule of all 3 microservices inside gateway. Inside dependson[] we have 3 pairs of EntityFrameworkCoreModule and ContractsModule along with other abp dependencies.

Problem statement: We're building a new module that requires a new microservices ms4. Now, we only want inject dependencies of ms4 to gateway, and remove references of ms1, ms2 and ms3. Doing so, gives us an error since these gateway requires references of ms1, ms2 and ms3 to enable its features/ permissions at the time of application load.

Expectation: I want build and deploy my solution containing just gateway and ms4. I don't want to deploy ms1, ms2 and ms3. How can I inject ms4 alone? If it really required to inject ms1, ms2 and ms3, can I do it conditionally?

Showing 1 to 9 of 9 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on September 16, 2026, 14:50
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.