From 0914ff6872e07de1b8707d38aed25ff8d44d2e44 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 24 Jun 2026 19:01:15 +0200 Subject: [PATCH 1/2] Feature/extend user account settings with copy-to-clipboard button for user id (#7125) * Extend settings with copy-to-clipboard button for user id * Update changelog --- CHANGELOG.md | 1 + .../user-account-settings.component.ts | 2 ++ .../user-account-settings/user-account-settings.html | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00c5a90fc..04a4d896a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Extended the user account settings with a copy-to-clipboard button for the user id - Added pagination to the platform management of the admin control panel - Added pagination to the tag management of the admin control panel - Extended the asset profile details dialog of the admin control panel with a copy-to-clipboard button for the ISIN number diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index 72bbfc2c6..0101bb90a 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -12,6 +12,7 @@ import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { NotificationService } from '@ghostfolio/ui/notifications'; import { DataService } from '@ghostfolio/ui/services'; +import { GfValueComponent } from '@ghostfolio/ui/value'; import { ChangeDetectionStrategy, @@ -51,6 +52,7 @@ import { catchError } from 'rxjs/operators'; changeDetection: ChangeDetectionStrategy.OnPush, imports: [ FormsModule, + GfValueComponent, IonIcon, MatButtonModule, MatCardModule, diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index f646ef0fd..e4e9777de 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -260,7 +260,13 @@
Ghostfolio User ID
-
{{ user?.id }}
+
+ +
From 95b0318f8e73370b459e761aa333cf8a9c0eb003 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 24 Jun 2026 19:04:36 +0200 Subject: [PATCH 2/2] Task/improve throughput of market data gathering queue by applying rate limit per data source (#7128) * Improve throughput by applying rate limit per data source * Update changelog --- CHANGELOG.md | 4 ++++ .../services/queues/data-gathering/data-gathering.module.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04a4d896a..df2f6ba9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Extended the asset profile details dialog of the admin control panel with a copy-to-clipboard button for the ISIN number - Extended the asset profile details dialog of the admin control panel with a copy-to-clipboard button for the symbol +### Changed + +- Improved the throughput of the market data gathering queue by applying the rate limit per data source + ### Fixed - Fixed an issue with hourly market data updates not refreshing prices for asset profiles with `MANUAL` data source diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.module.ts b/apps/api/src/services/queues/data-gathering/data-gathering.module.ts index 5ac6c40c0..7258c034c 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.module.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.module.ts @@ -29,6 +29,7 @@ import { DataGatheringProcessor } from './data-gathering.processor'; BullModule.registerQueue({ limiter: { duration: ms('4 seconds'), + groupKey: 'dataSource', max: 1 }, name: DATA_GATHERING_QUEUE