Activities of "sumeyye.kurtulus"

Thank you for sharing a sample. Could you also try these instead for the application config

provideAbpCore(withOptions({
      environment: environment.abpConf,
      registerLocaleFn: registerLocale(),
    })),
    provideAbpOAuth(),
    // CoreModule.forRoot({
    //   environment: environment.abpConf,
    //   registerLocaleFn: registerLocale(),
    // }).providers!,
    // AbpOAuthModule.forRoot().providers!,

We will provide full support for this builder in the next version. Please note that Angular may be incompatible with the latest updates in comparison to our packages.

At the same time, we will review related packages that could potentially cause issues in upcoming patch releases, without waiting for the next major version. You can follow the progress here: https://github.com/abpframework/abp/releases

Thank you for providing extra details. However, I do not replicate the same problem on my side. Could you try downgrading the angular version to 20.0.x then use the 5.8.x version for the typescript version? If you need further assistance, you can also send a minimal example to this address: sumeyye.kurtulus@volosoft.com. Thank you again for your cooperation.

I have checked the versions you provided. First of all, you need to use the angular version 20.0.x for ABP version 9.3.x.

Also, I am assuming that you have been using the latest angular build system application builder. Could you also provide your angular.json?

I also would like to inform that you can follow these documentations while updating https://abp.io/docs/latest/release-info/release-notes#9-3-2025-06-17 https://abp.io/docs/latest/release-info/migration-guides

Hello, I will be checking and getting back to you now. Thank you for your cooperation.

Hello again, I am sorry for sending over the wrong e-mail address. Could you please forward that here this address: sumeyye.kurtulus@volosoft.com

Hello, We are sorry for getting back this late. Could you try using this key SUPPRESS_UNSAVED_CHANGES_WARNING to override the default behavior for the touched forms

// app.module.ts or app.config.ts

providers: [
	  {
      provide: SUPPRESS_UNSAVED_CHANGES_WARNING,
      useValue: false,
    }
]

You can let us know if you need further assistance. Thank you for your cooperation.

Hello,

I cannot produce the same problem on my end after running such command using the latest ABP version abp generate-proxy -t ng -url https://localhost:[yourPort] -m saas

Could you send me a minimal, reproducible example so that I could assist you further. Here is my e-mail address: sumeyye.kurtulus@gmail.com.

Thank you for your cooperation.

Hello again, Thank you for providing logs. As far as I see, there is no problem on backend side. I suspect the gateway configurations declared in gateways/mobile/MyProjectName.MobileGateway/appsettings.json

Can you try updating the ClusterId for AbpApi route to AuthServer that may solve your problem?

{
  "App": {
    "CorsOrigins": "",
    "HealthCheckUrl": "/health-status"
  },
  "AuthServer": {
    "SwaggerClientId": "SwaggerTestUI"
  },
  "ElasticSearch": {
    "IsLoggingEnabled": true,
    "Url": "http://localhost:9200"
  },
  "Swagger": {
    "IsEnabled": true
  },
  "ReverseProxy": {
    "Routes": {
      "AbpApi": {
        "ClusterId": "AuthServer", // You may need to check here
        "Match": {  
          "Path": "/api/abp/{**catch-all}"
        }
      },
      "SettingManagement": {
        "ClusterId": "Administration",
        "Match": {
          "Path": "/api/setting-management/{**catch-all}"
        }
      },
      "FeatureManagement": {
        "ClusterId": "Administration",
        "Match": {
          "Path": "/api/feature-management/{**catch-all}"
        }
      },
      "PermissionManagement": {
        "ClusterId": "Administration",
        "Match": {
          "Path": "/api/permission-management/{**catch-all}"
        }
      },
      "Saas": {
        "ClusterId": "Saas",
        "Match": {
          "Path": "/api/saas/{**catch-all}"
        }
      },
      "SaasSwagger": {
        "ClusterId": "Saas",
        "Match": {
          "Path": "/swagger-json/Saas/swagger/v1/swagger.json"
        },
        "Transforms": [
          { "PathRemovePrefix": "/swagger-json/Saas" }
        ]
      },
      "OpenIddict": {
        "ClusterId": "Identity",
        "Match": {
          "Path": "/api/openiddict/{**catch-all}"
        },
        "AuthorizationPolicy": "Anonymous"  
      },
      "AdministrationSwagger": {
        "ClusterId": "Administration",
        "Match": {
          "Path": "/swagger-json/Administration/swagger/v1/swagger.json"
        },
        "Transforms": [
          { "PathRemovePrefix": "/swagger-json/Administration" }
        ]
      },
      "Account": {
        "ClusterId": "AuthServer",
        "Match": {
          "Path": "/api/account/{**catch-all}"
        }
      },
      "AccountAdmin": {
        "ClusterId": "AuthServer",
        "Match": {
          "Path": "/api/account-admin/{**catch-all}"
        }
      },
      "AuthServerSwagger": {
        "ClusterId": "AuthServer",
        "Match": {
          "Path": "/swagger-json/AuthServer/swagger/v1/swagger.json"
        },
        "Transforms": [
          { "PathRemovePrefix": "/swagger-json/AuthServer" }
        ]
      },
      "Identity": {
        "ClusterId": "Identity",
        "Match": {
          "Path": "/api/identity/{**catch-all}"
        },
        "AuthorizationPolicy": "Anonymous"  
      },
      "IdentitySwagger": {
        "ClusterId": "Identity",
        "Match": {
          "Path": "/swagger-json/Identity/swagger/v1/swagger.json"
        },
        "Transforms": [
          { "PathRemovePrefix": "/swagger-json/Identity" }
        ]
      }
    },
    "Clusters": {
      "AuthServer": {
        "Destinations": {
          "AuthServer": {
            "Address": "http://yourIP:44392/"
          }
        }
      },
      "Administration": {
        "Destinations": {
          "Administration": {
            "Address": "http://yourIP:44300/"
          }
        }
      },
      "Saas": {
        "Destinations": {
          "Saas": {
            "Address": "http://yourIP:44301/"
          }
        }
      },
      "Identity": {
        "Destinations": {
          "Identity": {
            "Address": "http://yourIP:44381/"
          }
        }
      }
    }
  }
}

If this does not solve your problem, you can send me a minimal reproducible example to investigate further. Here is my email address: sumeyye.kurtulus@volosoft.com.

Hello,

Thank you for providing detailed information about your problem.

If you are sure that the IP you configured is correct and the react native app is successfully responded, the problem might be on the backend side once you try to authenticate the user. For this reason, could you share the backend logs regarding the authentication process?

Thank you for your patience and cooperation.

Hello,

You may try using a CustomTitleStrategy that overrides the default TitleStrategy

import { Injectable, inject, effect } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { RouterStateSnapshot, TitleStrategy } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { LocalizationService } from '@abp/ng.core';

@Injectable({
  providedIn: 'root',
})
export class CustomTitleStrategy extends TitleStrategy {
  protected readonly title = inject(Title);
  protected readonly localizationService = inject(LocalizationService);
  protected routerState: RouterStateSnapshot;

  langugageChange = toSignal(this.localizationService.languageChange$);

  constructor() {
    super();
    this.title.setTitle('PRO'); // Set a default title
    effect(() => {
      // React to language changes
      if (this.langugageChange()) {
        this.updateTitle(this.routerState);
      }
    });
  }

  override updateTitle(routerState: RouterStateSnapshot) {
    this.routerState = routerState;
    const title = this.buildTitle(routerState);

    const projectName = 'PRO'; // Replace with your project name
    this.title.setTitle(projectName);
    if (!title) {
      return this.title.setTitle(projectName);
    }

    const localizedText =
      this.localizationService.instant({ key: title, defaultValue: title }) + ` | ${projectName}`;

    this.title.setTitle(localizedText);
  }
}

Then, in your providers array


// app.module.ts or app.config.ts
providers: [
		//...
		{
      provide: TitleStrategy,
      useExisting: CustomTitleStrategy,
    },
 ],

You can let us know if you need further assistance. Thank you for your cooperation.

Showing 151 to 160 of 539 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.2.0-preview. Updated on February 17, 2026, 09:10
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.