Created a new solution 8.1 Created a simple book entity Open chrome developer tools
When we upgraded our websites from 7 to 8.0.4 we ran into several issues when running our backend tests
System.InvalidOperationException : SqliteConnection does not support nested transactions. => we added code to disable uow when running tests
An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Volo.Abp.OpenIddict.AbpOpenIddictDomainModule, Volo.Abp.OpenIddict.Domain, Version=8.0.4.0, Culture=neutral, PublicKeyToken=null: Timeout expired. The timeout elapsed prior to obtaining a distributed lock on the 'lock:recurring-job:HangfirePeriodicBackgroundWorkerAdapter<TokenCleanupBackgroundWorker>.DoWorkAsync' resource.. See the inner exception for details.. ==> If we run all the backend tests, some would fail, if we re-ran each individual test, they would pass. we implemented a fix which ran all the tests serially
Volo.Abp.AbpInitializationException : An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module OtisEd.Synergyz.SynergyzTestBaseModule, OtisEd.Synergyz.TestBase, Version=7.2.1.0, Culture=neutral, PublicKeyToken=null: The transaction object is not associated with the same connection object as this command.. See the inner exception for details. ==> backend tests run fine locally, but in github ci/cd they fail, sometimes, flaky
Do you have any suggestions?
Maybe is a way to remove hangfire from the tests. Mock the hangfire service instead of providing an actual database using in memory
The GDPR Consent Cookie Component is creating a date of 6 months in the future for the cookie expiration, but b/c of the way the cookie create is coded, the expiration is Session.
The first screen shot, uses code:
the second screen shot shows with updated code of: document.cookie = this.CookieKey + '=true;expires=' + expireDate + ';path=/';
Create new angular website using suite/cli.
Is there a way without custom code of getting logged out after closing the browser tab/browser? We do use an npm package called angular idle that looks for inactivity on the website and then will log you out. But if just you close the tab/browser you are still logged in and can come back the future without credentials.
We have tried using window.unload and removing cookies in localStorage. This appears to work, but there are some situations in which you will be prevented from logging in. using the auth service to logout does not work. probably becuae it is an async process and does not make the tab/browser wait before closing We have tried adding middleware to set lifetimes, that doesn't work
PreConfigure<OpenIddictServerBuilder>(builder =>
{
builder.SetAuthorizationCodeLifetime(TimeSpan.FromMinutes(1));
builder.SetAccessTokenLifetime(TimeSpan.FromMinutes(1));
builder.SetIdentityTokenLifetime(TimeSpan.FromMinutes(1));
builder.SetRefreshTokenLifetime(TimeSpan.FromDays(1));
});
We could write an angular interceptor and use o-auth service to invalidate the token. This will not work for mvc sites
Ultimately, we want something on the backend which will force a logout if the user has been idle for a period of time. We can see there is are cookies in localStorage: id_token_expires_at expiresAt with expiration times
We understand that the refresh token plays a role in this, but that we want a hard lifetime when it would not play a role.
I cloned the lepton-x pro code. I copied the mobile-navbar files to my local project. I customized the html to look like I wanted. I added Alerts I added the component to the replacableComponents It looks good except before I login. i can browser refresh, Alerts icon still shows When I login in my breakpoints are not hit in the component and the default mobile nav shows If I click the big red button, my custom code breakpoints are hit. The Alerts icon shows properly If I browser refresh, the default mobile nav shows, my breakpoints are not hit
Not sure what else I need to add to the code. I have not added an injection tokens. Cannot find any documentation to tell me what I did wrong. I am using the latest lepton-x "@volosoft/abp.ng.theme.lepton-x": "^2.1.0",
Websites created with ABP 7.0.1 have a favicon that is a svg instead of an ico on the login page. On the "Welcome Page", an ico is used. Besides replacing the page (if possible), are there any options for using the favicon ico's that we already have? I tried some online conversions, to convert ico's to svg's and the result is ugly.
follow instructions using url: https://docs.abp.io/en/abp/5.3/Themes/LeptonXLite/Angular. it appears LeptonX Lite requires angular 14. I do not believe abp 5.3.3 supports ng 14. I tried to create a project from scratch, but i cannot. i added my experience in support ticket: https://support.abp.io/QA/Questions/3813/Version-Issues-Missing-Templates-with-ABP-Suite-after-upgrading-after-release-of-600. We do not want to go to abp 6 at this point in time
PS: I had to remove many of the warnings about css and errors in the build in order to submit this ticket. i got an error saying I exceeded the maximum
these 2 instructions cause the build error
@NgModule({ imports: [ // ...
Build at: 2022-10-26T13:53:12.239Z - Hash: 34e04c3b15557864 - Time: 19611ms
./node_modules/@volo/abp.ng.theme.lepton/dist/global/styles/lepton1.min.css - Warning: Module Warning (from ./node_modules/postcss -loader/dist/cjs.js): Warning
(1:29799) autoprefixer: Replace color-adjust to print-color-adjust. The color-adjust shorthand is currently deprecated.
./node_modules/@volo/abp.ng.theme.lepton/dist/global/styles/lepton1.rtl.min.css - Warning: Module Warning (from ./node_modules/pos tcss-loader/dist/cjs.js): Warning
(1:29942) autoprefixer: Replace color-adjust to print-color-adjust. The color-adjust shorthand is currently deprecated.
./node_modules/@volo/abp.ng.theme.lepton/dist/global/styles/lepton2.min.css - Warning: Module Warning (from ./node_modules/postcss -loader/dist/cjs.js): Warning
./node_modules/@abp/ng.theme.lepton-x/fesm2015/abp-ng.theme.lepton-x-layouts.mjs - Error: Module build failed (from ./node_modules /@angular-devkit/build-angular/src/babel/webpack-loader.js): TypeError: Cannot create property 'message' on string 'C:\appdev\otised\OtisEd.Wildfire\angular\node_modules@abp\ng.theme.lepton- x\fesm2015\abp-ng.theme.lepton-x-layouts.mjs: This application depends upon a library published using Angular version 14.2.0, whic h requires Angular version 14.0.0 or newer to work correctly. Consider upgrading your application to use a more recent version of Angular. 25 | } 26 | LanguageSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Lang uageSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); **> 27 | LanguageSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LanguageSelectio nComponent, selector: "abp-language-selection", ngImport: i0, template: "<lpx-language-selection *abpReplaceableTemplate="{\r\n ** componentKey: languageSelectionKey\r\n }">\r\n</lpx-language-selection>\r\n", dependencies: [{ kind: "directive", type : i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: [32m"compon ent", type: i2.LanguageSelectionComponent, selector: "lpx-language-selection" }] }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 28 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LanguageSelectionComponent, deco rators: [{ 29 | type: Component, 30 | args: [{ selector: 'abp-language-selection', template: "<lpx-language-selection *abpReplaceableTemplate="{\r\n componentKey: languageSelectionKey\r\n }">\r\n</lpx-language-selection>\r\n" }]' at run (C:\appdev\otised\OtisEd.Wildfire\angular\node_modules@babel\core\lib\transformation\index.js:37:15) at run.next (<anonymous>) at Function.transform (C:\appdev\otised\OtisEd.Wildfire\angular\node_modules@babel\core\lib\transform.js:25:41) at transform.next (<anonymous>) at step (C:\appdev\otised\OtisEd.Wildfire\angular\node_modules\gensync\index.js:261:32) at C:\appdev\otised\OtisEd.Wildfire\angular\node_modules\gensync\index.js:273:13 at async.call.result.err.err (C:\appdev\otised\OtisEd.Wildfire\angular\node_modules\gensync\index.js:223:11) at C:\appdev\otised\OtisEd.Wildfire\angular\node_modules\gensync\index.js:37:40
./node_modules/@abp/ng.theme.lepton-x/fesm2015/abp-ng.theme.lepton-x.mjs - Error: Module build failed (from ./node_modules/@angula r-devkit/build-angular/src/babel/webpack-loader.js): TypeError: Cannot create property 'message' on string 'C:\appdev\otised\OtisEd.Wildfire\angular\node_modules@abp\ng.theme.lepton- x\fesm2015\abp-ng.theme.lepton-x.mjs: This application depends upon a library published using Angular version 14.2.0, which requir es Angular version 14.0.0 or newer to work correctly. Consider upgrading your application to use a more recent version of Angular. 34 | } 35 | ValidationErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Valida tionErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36 | ValidationErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ValidationErrorCom ponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: ` | ^ 37 | <div 38 | class="invalid-feedback" 39 | *ngFor="let error of abpErrors; trackBy: trackByFn"' at run (C:\appdev\otised\OtisEd.Wildfire\angular\node_modules@babel\core\lib\transformation\index.js:37:15) at run.next (
Error: node_modules/@abp/ng.theme.lepton-x/layouts/side-menu-layout/components/language-selection/language-selection.component.d.t s:6:18 - error TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
6 static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectionComponent, "abp-language-selection", never, {}, {}, never, never, fa lse>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@abp/ng.theme.lepton-x/layouts/side-menu-layout/components/nav-items/nav-items.component.d.ts:9:18 - error TS2
314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
9 static ɵcmp: i0.ɵɵComponentDeclaration<NavItemsComponent, "abp-nav-items", never, {}, {}, never, never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@abp/ng.theme.lepton-x/layouts/side-menu-layout/components/navigate-to-login/navigate-to-login.component.d.ts:
8:18 - error TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
8 static ɵcmp: i0.ɵɵComponentDeclaration<NavigateToLoginComponent, "abp-navigate-to-login", never, {}, {}, never, never, false
>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
Error: node_modules/@abp/ng.theme.lepton-x/layouts/side-menu-layout/components/user-profile/user-profile.component.d.ts:6:18 - err
or TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
6 static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileComponent, "abp-user-profile", never, {}, {}, never, never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@abp/ng.theme.lepton-x/layouts/side-menu-layout/side-menu-application-layout/side-menu-application-layout.comp
onent.d.ts:14:18 - error TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
14 static ɵcmp: i0.ɵɵComponentDeclaration<SideMenuApplicationLayoutComponent, "abp-application-layout", never, {}, {}, never,
never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@abp/ng.theme.lepton-x/lib/components/validation-error/validation-error.component.d.ts:8:18 - error TS2314: Ge neric type 'ɵɵComponentDeclaration' requires 7 type argument(s).
8 static ɵcmp: i0.ɵɵComponentDeclaration<ValidationErrorComponent, "abp-validation-error", never, {}, {}, never, never, false> ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/abp.ng.lepton-x.core/lib/components/page-alert-container/page-alert-container.component.d.ts:10:18 - err or TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
10 static ɵcmp: i0.ɵɵComponentDeclaration<PageAlertContainerComponent, "abp-page-alert-container", never, {}, {}, never, never , false>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/abp.ng.lepton-x.core/lib/directives/if-replaceable-template-exists.directive.d.ts:12:18 - error TS2314:
Generic type 'ɵɵDirectiveDeclaration' requires 6 type argument(s).
12 static ɵdir: i0.ɵɵDirectiveDeclaration<IfReplaceableTemplateExistsDirective, "[abpIfReplaceableTemplateExists]", never, { "
abpIfReplaceableTemplateExists": "abpIfReplaceableTemplateExists"; }, {}, never, never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/avatar/avatar.component.d.ts:9:18 - error TS2314: Generic type 'ɵɵCompo nentDeclaration' requires 7 type argument(s).
9 static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "lpx-avatar", never, { "avatar": "avatar"; }, {}, never, never, fals e>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/brand-logo/brand-logo.component.d.ts:4:18 - error TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
4 static ɵcmp: i0.ɵɵComponentDeclaration<BrandLogoComponent, "lpx-brand-logo", never, {}, {}, never, never, false>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/breadcrumb/breadcrumb.component.d.ts:27:18 - error TS2314: Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
27 static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "lpx-breadcrumb", never, {}, {}, never, never, false>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/icon/icon.component.d.ts:9:18 - error TS2314: Generic type 'ɵɵComponent Declaration' requires 7 type argument(s).
9 static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "lpx-icon", never, { "iconClass": "iconClass"; }, {}, never, never, fa lse>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/navbar/navbar-routes/navbar-routes.component.d.ts:12:18 - error TS2314:
Generic type 'ɵɵComponentDeclaration' requires 7 type argument(s).
12 static ɵcmp: i0.ɵɵComponentDeclaration<NavbarRoutesComponent, "lpx-navbar-routes", never, { "navbarItems": "navbarItems"; "
routerItem": "routerItem"; }, { "routeClick": "routeClick"; }, never, never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/navbar/navbar-routes/navbar-routes.directive.d.ts:4:18 - error TS2314: Generic type 'ɵɵDirectiveDeclaration' requires 6 type argument(s).
4 static ɵdir: i0.ɵɵDirectiveDeclaration<NavbarRoutesDirective, "[lpx-navbar-routes],[lpxNavbarRoutes]", ["lpxNavbarRoutes"], {}, {}, never, never, false>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: node_modules/@volo/ngx-lepton-x.core/lib/components/navbar/navbar.component.d.ts:17:18 - error TS2314: Generic type 'ɵɵComp
onentDeclaration' requires 7 type argument(s).
17 static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "lpx-navbar", never, {}, {}, ["routesTemplate"], never, false>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
× Failed to compile.
We are using angular for presentation, not Mvc. Our security scanner is reporting some Mvc pages under Manage to have security issues. We think we can route to these pages because of the call to this method:
is there a way we can remove routing to the Manage pages? When we remove the line above, the site is broken. We think the routing to our webapi is also being preformed by the method
The functionality to "Log in with this user" works locally when we compile and run the backend mvc app, and run the angular frontend separately. In production we publish the code to azure and use a spa redirect. This way the user just hits one ip and brings up both front and backend.
I think the spa redirect is what's stopping the "Log in with this user" from working. Can you confirm? also is there another way instead of using the spa redirect?
**SyncisHttpApiHostModule.cs **
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
...
#if RELEASE
app.UseSpaStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "remote"))
});
app.Map("/remote", remote =>
{
remote.UseSpa(spa =>
{
spa.Options.SourcePath = "client";
spa.Options.DefaultPageStaticFileOptions = new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "remote"))
};
});
});
#endif
Create a new 5.2.2 site with angular. login to host. add a tenant, and then search. No filtering is performed and it appears the filter are not sent to the backend. Swagger does work. Other advanced filters appear to work