Starts in:
2 DAYS
3 HRS
23 MIN
41 SEC
Starts in:
2 D
3 H
23 M
41 S

Activities of "burkay"

Hello,

Thank you for all the efforts you put into this framework. We have been happily using ABP Suite for a while now.

For our customers to report issues, we need a ticketing system pretty much like "ABP Support." We believe that such a feature would greatly enhance customer experience and streamline the support process for both your customers and ours. We just wanted to ask if you have any intentions of publishing this as a module in the near future?

We appreciate your consideration and look forward to your response.

Burkay

Hello.

I used ABP CLI 8.3.2 to generate a new project. Below is the command I used and its output:

abp new Acme.BookStore -u angular -dbms PostgreSQL -m none --theme leptonx-lite -csf ABP CLI 8.3.2 Creating your project... Project name: Acme.BookStore DBMS: PostgreSQL UI Framework: Angular Output folder: d:\Source\Acme.BookStore Using cached template: app, version: 8.3.2 Theme: LeptonXLite Check out the documents at https://abp.io/docslatest/solution-templates/layered-web-application 'Acme.BookStore' has been successfully created to 'd:\Source\Acme.BookStore' Creating initial migrations... Initial migrations are created. Installing client-side packages... Found 2 projects. d:\Source\Acme.BookStore\angular d:\Source\Acme.BookStore\aspnet-core\src\Acme.BookStore.HttpApi.Host Running Yarn on d:\Source\Acme.BookStore\angular yarn install v1.22.22 info No lockfile found. [1/4] Resolving packages... warning eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. warning eslint > @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead warning eslint > @humanwhocodes/config-array > @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead warning eslint > file-entry-cache > flat-cache > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported warning eslint > file-entry-cache > flat-cache > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported warning eslint > file-entry-cache > flat-cache > rimraf > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. warning karma > glob@7.2.3: Glob versions prior to v9 are no longer supported warning karma > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported [2/4] Fetching packages... [3/4] Linking dependencies... warning "@abp/ng.account > @abp/ng.theme.shared > @ng-bootstrap/ng-bootstrap@16.0.0" has incorrect peer dependency "@angular/common@^17.0.0". warning "@abp/ng.account > @abp/ng.theme.shared > @ng-bootstrap/ng-bootstrap@16.0.0" has incorrect peer dependency "@angular/core@^17.0.0". warning "@abp/ng.account > @abp/ng.theme.shared > @ng-bootstrap/ng-bootstrap@16.0.0" has incorrect peer dependency "@angular/forms@^17.0.0". warning "@abp/ng.account > @abp/ng.theme.shared > @ng-bootstrap/ng-bootstrap@16.0.0" has incorrect peer dependency "@angular/localize@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/animations@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/common@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/forms@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/core@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/platform-browser@^17.0.0". warning "@abp/ng.components > ng-zorro-antd@17.4.1" has incorrect peer dependency "@angular/router@^17.0.0". warning "@abp/ng.components > ng-zorro-antd > @ant-design/icons-angular@17.0.0" has incorrect peer dependency "@angular/common@^17.0.1". warning "@abp/ng.components > ng-zorro-antd > @ant-design/icons-angular@17.0.0" has incorrect peer dependency "@angular/core@^17.0.1". warning "@abp/ng.components > ng-zorro-antd > @ant-design/icons-angular@17.0.0" has incorrect peer dependency "@angular/platform-browser@^17.0.1". warning " > @abp/ng.theme.lepton-x@3.3.2" has unmet peer dependency "@abp/ng.account.core@~8.3.2". warning " > @angular-eslint/eslint-plugin@18.1.0" has unmet peer dependency "@typescript-eslint/utils@^7.11.0 || ^8.0.0-alpha.37". warning "@angular-eslint/eslint-plugin > @angular-eslint/utils@18.1.0" has unmet peer dependency "@typescript-eslint/utils@^7.11.0 || ^8.0.0-alpha.37". warning " > @angular-eslint/eslint-plugin-template@18.1.0" has unmet peer dependency "@typescript-eslint/utils@^7.11.0 || ^8.0.0-alpha.37". warning " > @angular-eslint/schematics@18.1.0" has unmet peer dependency "@angular-devkit/core@>= 18.0.0 < 19.0.0". warning " > @angular-eslint/schematics@18.1.0" has unmet peer dependency "@angular-devkit/schematics@>= 18.0.0 < 19.0.0". [4/4] Building fresh packages... success Saved lockfile. Done in 85.25s. Running Yarn on d:\Source\Acme.BookStore\aspnet-core\src\Acme.BookStore.HttpApi.Host yarn install v1.22.22 info No lockfile found. [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... warning "@abp/aspnetcore.mvc.ui.theme.leptonxlite > @abp/aspnetcore.mvc.ui.theme.shared > @abp/bootstrap > bootstrap@5.3.3" has unmet peer dependency "@popperjs/core@^2.11.8". [4/4] Building fresh packages... success Saved lockfile. Done in 16.34s. UPDATE angular.json (6635 bytes) UPDATE src/app/app.module.ts (2092 bytes)

Below is the content of home.component.html right after above command returns:

&lt;div class=&quot;my-3 text-center&quot;&gt;
  &lt;h3&gt;Let's improve your application!&lt;/h3&gt;
  &lt;p&gt;Here are some links to help you get started:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;card mt-4 mb-5&quot;&gt;
  &lt;div class=&quot;card-body&quot;&gt;
    &lt;div class=&quot;row text-center justify-content-md-center&quot;&gt;
      &lt;ng-container
        *ngTemplateOutlet=&quot;
          starterLinkTemplate;
          context: {
            $implicit: {
              title: &#39;Learn the ABP Framework&#39;,
              description:
                &#39;Explore the comprehensive documentation to learn how to build a modern web application.&#39;,
              links: [
                {
                  href: &#39;https://abp.io/docs/latest?ref=tmpl&#39;,
                  label: &#39;See Documents&#39;
                }
              ]
            }
          }
        &quot;
      &gt;&lt;/ng-container&gt;

      &lt;ng-container
        *ngTemplateOutlet=&quot;
          starterLinkTemplate;
          context: {
            $implicit: {
              title: &#39;Samples&#39;,
              description: &#39;See the example projects built with the ABP Framework.&#39;,
              links: [
                {
                  href: &#39;https://abp.io/docs/latest/samples?ref=tmpl&#39;,
                  label: &#39;All samples&#39;
                }
              ]
            }
          }
        &quot;
      &gt;&lt;/ng-container&gt;

      &lt;ng-container
        *ngTemplateOutlet=&quot;
          starterLinkTemplate;
          context: {
            $implicit: {
              title: &#39;ABP Community&#39;,
              description: &#39;Get involved with a vibrant community and become a contributor.&#39;,
              links: [
                {
                  href: &#39;https://abp.io/community/&#39;,
                  label: &#39;Community&#39;
                },
                {
                  href: &#39;https://abp.io/docs/latest/contribution?ref=tmpl&#39;,
                  label: &#39;Contribute&#39;
                }
              ]
            }
          }
        &quot;
      &gt;&lt;/ng-container&gt;
    &lt;/div&gt;
    &lt;div class=&quot;row text-center mt-lg-3 justify-content-md-center&quot;&gt;
      &lt;ng-container
        *ngTemplateOutlet=&quot;
          starterLinkTemplate;
          context: {
            $implicit: {
              title: &#39;ABP Blog&#39;,
              description: &#39;Take a look at our recently published articles.&#39;,
              links: [
                {
                  href: &#39;https://abp.io/blog?ref=tmpl&#39;,
                  label: &#39;See Blog&#39;
                }
              ]
            }
          }
        &quot;
      &gt;&lt;/ng-container&gt;
      
      &lt;ng-template #githubButtonsTemplate&gt;
        &lt;p class=&quot;mb-1&quot;&gt;
          &lt;iframe
            scrolling=&quot;no&quot;
            src=&quot;https://buttons.github.io/buttons.html#href=https%3A%2F%2Fgithub.com%2Fabpframework%2Fabp&amp;amp;title=&amp;amp;aria-label=Star%20tabalinas%2Fjsgrid%20on%20GitHub&amp;amp;data-icon=octicon-star&amp;amp;data-text=Star&amp;amp;data-size=large&amp;amp;data-show-count=true&quot;
            style=&quot;
              width: 122px;
              height: 28px;
              border: none;
              display: inline-block;
              margin-right: 4px;
            &quot;
          &gt;&lt;/iframe&gt;
          &lt;iframe
            scrolling=&quot;no&quot;
            src=&quot;https://buttons.github.io/buttons.html#href=https%3A%2F%2Fgithub.com%2Fabpframework%2Fabp%2Fissues&amp;amp;title=&amp;amp;aria-label=Issue%20tabalinas%2Fjsgrid%20on%20GitHub&amp;amp;data-icon=octicon-issue-opened&amp;amp;data-text=Issue&amp;amp;data-size=large&quot;
            style=&quot;
              width: 72px;
              height: 28px;
              border: none;
              display: inline-block;
              margin-right: 4px;
            &quot;
          &gt;&lt;/iframe&gt;

          &lt;iframe
            scrolling=&quot;no&quot;
            src=&quot;https://buttons.github.io/buttons.html#href=https%3A%2F%2Fgithub.com%2Fabpframework%2Fabp%2Ffork&amp;amp;title=&amp;amp;aria-label=Fork%20tabalinas%2Fjsgrid%20on%20GitHub&amp;amp;data-icon=octicon-repo-forked&amp;amp;data-text=Fork&amp;amp;data-size=large&amp;amp;&quot;
            style=&quot;width: 72px; height: 28px; border: none; display: inline-block&quot;
          &gt;&lt;/iframe&gt;
        &lt;/p&gt;
      &lt;/ng-template&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

This file is missing some parts such as welcome message, login button and template definitions. Welcome message and login button is not critical, but the lack of template definitions causes angular compilation error.

  • ABP Framework version: v7.2.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

In ngx-lepton-x's ng-bundle.css, there is the following CSS rules:

.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell {
  background-color: var(--lpx-card-bg);
  padding: 0.875rem 1rem !important;
  vertical-align: middle;
  border-top: 1px solid var(--lpx-border-color) !important;
  color: var(--lpx-content-text);
}
...
.ngx-datatable.material:not(.cell-selection) .datatable-body-row:hover {
  background-color: var(--lpx-ngx-dt-hover) !important;
}

When setting the background color of a hovered datatable row, there is a specificity war between these two. The first is always more specific and the background color of the second rule is never used. This should not be on purpose. Because if it was, the second rule would be completely useless. Also, the default behavior of ngx-datatable when hovering on rows is changed. Highlight is lost. Check and compare these examples:

https://swimlane.github.io/ngx-datatable/ https://commercial-demo.abp.io/language-management/languages

Moreover, the selected row is not highlighted when datatable's selectionType is set to single. There are two problems with this. The background-color from the first rule gets precedence (1) over the "blue background" from "ngx-datatable's material.css" (2). Expected is highlighting the selected row with proper colors of both light and dark ngx-lepton-x themes.

Among many, one possible solution is updating the second rule's selector and adding new rules for the selected row as below. For now, we added them to our custom scss. However, we would like these fixed in ABP to prevent littering that file.

.ngx-datatable.material:not(.cell-selection) .datatable-body .datatable-body-row:hover .datatable-body-cell {
  background-color: var(--lpx-ngx-dt-hover) !important;
}
.lpx-theme-dark {
  --lpx-ngx-dt-active: #2d2d2f; // TODO: check colors
  --lpx-ngx-dt-active-hover: #32323a;
}
.lpx-theme-light {
  --lpx-ngx-dt-active: #dddddd;
  --lpx-ngx-dt-active-hover: #c2c2c4;
}
.ngx-datatable.material:not(.cell-selection) .datatable-body .datatable-body-row.active .datatable-body-cell {
  background-color: var(--lpx-ngx-dt-active) !important;
}
.ngx-datatable.material:not(.cell-selection) .datatable-body .datatable-body-row.active:hover .datatable-body-cell {
  background-color: var(--lpx-ngx-dt-active-hover) !important;
}
  • ABP Framework version: v7.2.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes / no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hello,

Here are the easiest steps to reproduce the issue we are going to report:

  1. Open the demo at https://commercial-demo.abp.io/ and log in.
  2. Open the home page in at least two tabs.
  3. Refresh all the tabs at the same time. Be as fast as you can.
  4. Optionally, open up the developer tools, go to the Network tab and open up console to see the requests and errors.
  5. Wait until a refresh token request kicks in.

At best, user is logged out in all the other tabs but one tab. At worst, a never ending request loop runs with errors in responses in all tabs. We ran into both cases. Below is a screenshot from the worst case, taken after I hit the stop button of the browser.

This is related to OpenIdDict. The same problem is reported some years ago in a comment for a two-major-previous-version of it: https://github.com/openiddict/openiddict-core/issues/783#issuecomment-528824283 . This comment is also related and very informative about the issue https://github.com/manfredsteyer/angular-oauth2-oidc/issues/218#issuecomment-414158965 .

Sometimes we lose unsaved work when working with too many tabs due to this problem. Your demo also has it, so we hope you come up with a solution, a fix or configuration, soon. Maybe catch the exception and retry for a configurable number of times to get over the race condition. Looking forward to your response.

Question
  • ABP Framework version: v7.2.1
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes / no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hello,

We just upgraded to v7.2.1 and realized that throwing BusinessException or UserFriendlyException causes a 403 response. We observed the same error with a newly created clean project. It was working fine with v7.1.1.

  • ABP Framework version: v7.1.1
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes / no
  • Exception message and stack trace:
  • Steps to reproduce the issue:
    1. Go to Administration > Audit Logs page
    2. Scroll to the bottom of the page
    3. Go to Administration > Settings page
    4. Settings page shows up scrolled to the bottom. Expected behavior is it shows up from the top of the page.

Tried with a newly created project. Also tried hitting Ctrl - F5 between steps 1 and 2. Happens with some other pages as well, e.g. Language Management > Languages and Administration > Settings. Observed in Chrome and Firefox.

  • ABP Framework version: v6.0.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace: -
  • Steps to reproduce the issue:"

Hello!

We are trying to prevent users logging in from different computers with the same account. You have provided a sample project (1), but it is implemented with Identity Server and MVC (2).

We have tried to adjust it to our needs (OpenIddict + Angular). Currently, we can detect when a second client logs in with the same account using a claim. Unfortunately, we could not manage to successfully log out the previously logged in user and redirect the application to the login page. At this point, we are stuck at getting a 403 response.

We have created a sample project using ABP Suite with all the default options. This project has the same structure as our main project and can be used as a minimal reproducible example. Could you give us some directions to make this work the right way? Our efforts can be seen in the commit (4). If needed, we can give you contributor privileges to the repository.

Thanks!

  1. https://github.com/abpframework/abp-samples/tree/master/ConcurrentLogin
  2. https://support.abp.io/QA/Questions/3047/Disable-concurrent-user-login
  3. https://github.com/kkeld/Nova
  4. https://github.com/kkeld/Nova/commit/81eda33e3177574ebe8adb4019a4f2199fe7c0a0
Showing 1 to 7 of 7 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06