diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2bed04cc..b78187a7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## Unreleased
+## 2.140.0 - 2025-02-20
### Changed
@@ -13,10 +13,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved the validation of the currency management in the admin control panel
- Migrated the `@ghostfolio/client` components to control flow
- Migrated the `@ghostfolio/ui` components to control flow
+- Improved the language localization for German (`de`)
### Fixed
- Improved the error handling in the `HttpResponseInterceptor`
+- Fixed an issue while using symbol profile overrides in the historical market data table of the admin control panel
- Added missing assets in _Storybook_ setup
## 2.139.1 - 2025-02-15
diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts
index 14210972..ee79059f 100644
--- a/apps/api/src/app/admin/admin.service.ts
+++ b/apps/api/src/app/admin/admin.service.ts
@@ -30,6 +30,7 @@ import {
EnhancedSymbolProfile,
Filter
} from '@ghostfolio/common/interfaces';
+import { Sector } from '@ghostfolio/common/interfaces/sector.interface';
import { MarketDataPreset } from '@ghostfolio/common/types';
import { BadRequestException, Injectable, Logger } from '@nestjs/common';
@@ -259,7 +260,8 @@ export class AdminService {
},
scraperConfiguration: true,
sectors: true,
- symbol: true
+ symbol: true,
+ SymbolProfileOverrides: true
}
}),
this.prismaService.symbolProfile.count({ where })
@@ -313,11 +315,10 @@ export class AdminService {
name,
Order,
sectors,
- symbol
+ symbol,
+ SymbolProfileOverrides
}) => {
- const countriesCount = countries
- ? Object.keys(countries).length
- : 0;
+ let countriesCount = countries ? Object.keys(countries).length : 0;
const lastMarketPrice = lastMarketPriceMap.get(
getAssetProfileIdentifier({ dataSource, symbol })
@@ -331,7 +332,34 @@ export class AdminService {
);
})?._count ?? 0;
- const sectorsCount = sectors ? Object.keys(sectors).length : 0;
+ let sectorsCount = sectors ? Object.keys(sectors).length : 0;
+
+ if (SymbolProfileOverrides) {
+ assetClass = SymbolProfileOverrides.assetClass ?? assetClass;
+ assetSubClass =
+ SymbolProfileOverrides.assetSubClass ?? assetSubClass;
+
+ if (
+ (
+ SymbolProfileOverrides.countries as unknown as Prisma.JsonArray
+ )?.length > 0
+ ) {
+ countriesCount = (
+ SymbolProfileOverrides.countries as unknown as Prisma.JsonArray
+ ).length;
+ }
+
+ name = SymbolProfileOverrides.name ?? name;
+
+ if (
+ (SymbolProfileOverrides.sectors as unknown as Sector[])
+ ?.length > 0
+ ) {
+ sectorsCount = (
+ SymbolProfileOverrides.sectors as unknown as Prisma.JsonArray
+ ).length;
+ }
+ }
return {
assetClass,
diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts
index df0526d9..0dae6331 100644
--- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts
+++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts
@@ -204,8 +204,7 @@ export class SymbolProfileService {
?.length > 0
) {
item.countries = this.getCountries(
- item.SymbolProfileOverrides
- ?.countries as unknown as Prisma.JsonArray
+ item.SymbolProfileOverrides.countries as unknown as Prisma.JsonArray
);
}
@@ -214,22 +213,22 @@ export class SymbolProfileService {
?.length > 0
) {
item.holdings = this.getHoldings(
- item.SymbolProfileOverrides?.holdings as unknown as Prisma.JsonArray
+ item.SymbolProfileOverrides.holdings as unknown as Prisma.JsonArray
);
}
- item.name = item.SymbolProfileOverrides?.name ?? item.name;
+ item.name = item.SymbolProfileOverrides.name ?? item.name;
if (
(item.SymbolProfileOverrides.sectors as unknown as Sector[])?.length >
0
) {
item.sectors = this.getSectors(
- item.SymbolProfileOverrides?.sectors as unknown as Prisma.JsonArray
+ item.SymbolProfileOverrides.sectors as unknown as Prisma.JsonArray
);
}
- item.url = item.SymbolProfileOverrides?.url ?? item.url;
+ item.url = item.SymbolProfileOverrides.url ?? item.url;
delete item.SymbolProfileOverrides;
}
diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf
index d70c773e..a36fb152 100644
--- a/apps/client/src/locales/messages.ca.xlf
+++ b/apps/client/src/locales/messages.ca.xlf
@@ -447,7 +447,7 @@
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 23
+ 22
@@ -583,7 +583,7 @@
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 24
+ 23
@@ -803,7 +803,7 @@
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 26
+ 25
@@ -1219,7 +1219,7 @@
apps/client/src/app/components/admin-overview/admin-overview.html
- 206
+ 196
apps/client/src/app/components/admin-platform/admin-platform.component.html
@@ -1958,28 +1958,12 @@
124
-
- Please add a currency:
- Si us plau, afegiu una divisa:
-
- apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 126
-
-
-
- is an invalid currency!
- no és una divisa vàlida!
-
- apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 137
-
-
Do you really want to delete this coupon?
Està segur qeu vol eliminar aquest cupó?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 156
+ 137
@@ -1987,7 +1971,7 @@
Està segur que vol eliminar aquesta divisa?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 169
+ 150
@@ -1995,7 +1979,7 @@
Està segur que vol eliminar aquest missatge del sistema?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 182
+ 163
@@ -2003,7 +1987,7 @@
Està segur que vol depurar el cache?
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 206
+ 187
@@ -2011,7 +1995,7 @@
Si us plau, afegeixi el seu missatge del sistema:
apps/client/src/app/components/admin-overview/admin-overview.component.ts
- 226
+ 207
@@ -2061,17 +2045,13 @@
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html
22
-
- apps/client/src/app/components/admin-overview/admin-overview.html
- 105
-
User Signup
Registrar Usuari
apps/client/src/app/components/admin-overview/admin-overview.html
- 111
+ 101
@@ -2079,7 +2059,7 @@
Mode Només Lecutra
apps/client/src/app/components/admin-overview/admin-overview.html
- 125
+ 115
@@ -2087,7 +2067,7 @@
Recollida de Dades
apps/client/src/app/components/admin-overview/admin-overview.html
- 137
+ 127
@@ -2095,7 +2075,7 @@
Missatge del Sistema
apps/client/src/app/components/admin-overview/admin-overview.html
- 149
+ 139
@@ -2103,7 +2083,7 @@
Estableix el Missatge
apps/client/src/app/components/admin-overview/admin-overview.html
- 171
+ 161
@@ -2111,7 +2091,7 @@
Coupons
apps/client/src/app/components/admin-overview/admin-overview.html
- 179
+ 169
@@ -2119,7 +2099,7 @@
Afegir
apps/client/src/app/components/admin-overview/admin-overview.html
- 239
+ 229
libs/ui/src/lib/account-balances/account-balances.component.html
@@ -2131,7 +2111,7 @@
Ordre
apps/client/src/app/components/admin-overview/admin-overview.html
- 247
+ 237
@@ -2139,7 +2119,7 @@
Depurar el Cache
apps/client/src/app/components/admin-overview/admin-overview.html
- 251
+ 241
@@ -2355,7 +2335,7 @@
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 94
+ 93
@@ -5095,7 +5075,7 @@
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 88
+ 87
@@ -5611,7 +5591,7 @@
Switzerland
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 59
+ 58
libs/ui/src/lib/i18n.ts
@@ -5623,7 +5603,7 @@
Global
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 60
+ 59
libs/ui/src/lib/i18n.ts
@@ -6775,7 +6755,7 @@
Alternative
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 82
+ 81
@@ -6783,7 +6763,7 @@
App
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 83
+ 82
@@ -6791,7 +6771,7 @@
Budgeting
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 84
+ 83
@@ -6799,7 +6779,7 @@
Community
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 85
+ 84
@@ -6807,7 +6787,7 @@
Family Office
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 86
+ 85
@@ -6815,7 +6795,7 @@
Investor
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 89
+ 88
@@ -6823,7 +6803,7 @@
Open Source
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 90
+ 89
@@ -6831,7 +6811,7 @@
Personal Finance
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 92
+ 91
@@ -6839,7 +6819,7 @@
Privacy
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 93
+ 92
@@ -6847,7 +6827,7 @@
Software
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 95
+ 94
@@ -6855,7 +6835,7 @@
Tool
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 96
+ 95
@@ -6863,7 +6843,7 @@
User Experience
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 97
+ 96
@@ -6871,7 +6851,7 @@
Wealth
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 98
+ 97
@@ -6879,7 +6859,7 @@
Wealth Management
apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts
- 99
+ 98
@@ -7633,7 +7613,7 @@
Please enter your Ghostfolio API key.
apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts
- 59
+ 57
@@ -7764,6 +7744,26 @@
374
+
+ Change
+ Change
+
+ libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
+ 365
+
+
+
+ Performance
+ Performance
+
+ libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
+ 365
+
+
+ libs/ui/src/lib/treemap-chart/treemap-chart.component.ts
+ 378
+
+