- {{ summary?.ordersCount }}
-
{summary?.ordersCount, plural,
+ {{ summary?.activityCount }}
+ {summary?.activityCount, plural,
=1 {activity}
other {activities}
}
diff --git a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
index 42496b228..4030b9001 100644
--- a/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
+++ b/libs/common/src/lib/interfaces/portfolio-summary.interface.ts
@@ -1,6 +1,7 @@
import { PortfolioPerformance } from './portfolio-performance.interface';
export interface PortfolioSummary extends PortfolioPerformance {
+ activityCount: number;
annualizedPerformancePercent: number;
annualizedPerformancePercentWithCurrencyEffect: number;
cash: number;
@@ -21,7 +22,6 @@ export interface PortfolioSummary extends PortfolioPerformance {
interest: number;
items: number;
liabilities: number;
- ordersCount: number;
totalBuy: number;
totalSell: number;
totalValueInBaseCurrency?: number;
From c2c628e77c2d41428a5bf5d4d9f9ca99e3975ec3 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 19 May 2025 22:46:41 +0100
Subject: [PATCH 005/294] Feature/update locales (#4726)
Co-authored-by: github-actions[bot]
---
apps/client/src/locales/messages.ca.xlf | 2 +-
apps/client/src/locales/messages.de.xlf | 2 +-
apps/client/src/locales/messages.es.xlf | 2 +-
apps/client/src/locales/messages.fr.xlf | 2 +-
apps/client/src/locales/messages.it.xlf | 2 +-
apps/client/src/locales/messages.nl.xlf | 2 +-
apps/client/src/locales/messages.pl.xlf | 2 +-
apps/client/src/locales/messages.pt.xlf | 2 +-
apps/client/src/locales/messages.tr.xlf | 2 +-
apps/client/src/locales/messages.uk.xlf | 2 +-
apps/client/src/locales/messages.xlf | 2 +-
apps/client/src/locales/messages.zh.xlf | 2 +-
12 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf
index d0f37ead8..4e4e7e62d 100644
--- a/apps/client/src/locales/messages.ca.xlf
+++ b/apps/client/src/locales/messages.ca.xlf
@@ -2902,7 +2902,7 @@
3
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activity} other {activities}}
diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf
index 7671b9e32..f61c91c7e 100644
--- a/apps/client/src/locales/messages.de.xlf
+++ b/apps/client/src/locales/messages.de.xlf
@@ -6586,7 +6586,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {Aktivität} other {Aktivitäten}}
diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf
index 535415181..49af34834 100644
--- a/apps/client/src/locales/messages.es.xlf
+++ b/apps/client/src/locales/messages.es.xlf
@@ -6563,7 +6563,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activity} other {activities}}
diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf
index becc95d5d..946533d94 100644
--- a/apps/client/src/locales/messages.fr.xlf
+++ b/apps/client/src/locales/messages.fr.xlf
@@ -6562,7 +6562,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activity} autres {activities}}
diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf
index a3605173f..37c66bfd8 100644
--- a/apps/client/src/locales/messages.it.xlf
+++ b/apps/client/src/locales/messages.it.xlf
@@ -6563,7 +6563,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {attività} other {attività}}
diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf
index f57b34e88..ca56dcc82 100644
--- a/apps/client/src/locales/messages.nl.xlf
+++ b/apps/client/src/locales/messages.nl.xlf
@@ -6562,7 +6562,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activiteit} other {activiteiten}}
diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf
index 40ca77ad9..ab45fe323 100644
--- a/apps/client/src/locales/messages.pl.xlf
+++ b/apps/client/src/locales/messages.pl.xlf
@@ -6562,7 +6562,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activity} other {activities}}
diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf
index a6a4f98e2..3755a9248 100644
--- a/apps/client/src/locales/messages.pt.xlf
+++ b/apps/client/src/locales/messages.pt.xlf
@@ -6562,7 +6562,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {activity} other {activities}}
diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf
index 139b727fe..2064777a6 100644
--- a/apps/client/src/locales/messages.tr.xlf
+++ b/apps/client/src/locales/messages.tr.xlf
@@ -6562,7 +6562,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {Etkinlik} other {Etkinlikler}}
diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf
index b095cbbff..5f768b379 100644
--- a/apps/client/src/locales/messages.uk.xlf
+++ b/apps/client/src/locales/messages.uk.xlf
@@ -2982,7 +2982,7 @@
3
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {дія} other {дій}}
diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf
index e769e7152..472529903 100644
--- a/apps/client/src/locales/messages.xlf
+++ b/apps/client/src/locales/messages.xlf
@@ -6000,7 +6000,7 @@
8
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf
index e57fec28f..1697a5197 100644
--- a/apps/client/src/locales/messages.zh.xlf
+++ b/apps/client/src/locales/messages.zh.xlf
@@ -6563,7 +6563,7 @@
48
-
+
{VAR_PLURAL, plural, =1 {activity} other {activities}}
{VAR_PLURAL, plural, =1 {活动} other {活动}}
From 70a4697f54bc86958d220496647e0976e98472af Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Tue, 20 May 2025 08:22:49 +0100
Subject: [PATCH 006/294] Feature/remove deprecated endpoints in admin
controller (#4687)
* Remove deprecated endpoints
* Update changelog
---
CHANGELOG.md | 3 +
apps/api/src/app/admin/admin.controller.ts | 70 ----------------------
2 files changed, 3 insertions(+), 70 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 87d833bf7..5b9c056dc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Extended the data providers management of the admin control panel by the asset profile count
- Restricted the permissions of the demo user
- Renamed `Order` to `activities` in the `User` database schema
+- Removed the deprecated endpoint `GET api/v1/admin/market-data/:dataSource/:symbol`
+- Removed the deprecated endpoint `POST api/v1/admin/market-data/:dataSource/:symbol`
+- Removed the deprecated endpoint `PUT api/v1/admin/market-data/:dataSource/:symbol/:dateString`
- Improved the language localization for Catalan (`ca`)
- Improved the language localization for Chinese (`zh`)
- Improved the language localization for Dutch (`nl`)
diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts
index d8507bbb0..736f6da33 100644
--- a/apps/api/src/app/admin/admin.controller.ts
+++ b/apps/api/src/app/admin/admin.controller.ts
@@ -3,7 +3,6 @@ import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor';
import { ApiService } from '@ghostfolio/api/services/api/api.service';
import { ManualService } from '@ghostfolio/api/services/data-provider/manual/manual.service';
-import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { PropertyDto } from '@ghostfolio/api/services/property/property.dto';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import {
@@ -16,7 +15,6 @@ import { getAssetProfileIdentifier } from '@ghostfolio/common/helper';
import {
AdminData,
AdminMarketData,
- AdminMarketDataDetails,
AdminUsers,
EnhancedSymbolProfile
} from '@ghostfolio/common/interfaces';
@@ -50,8 +48,6 @@ import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { AdminService } from './admin.service';
import { UpdateAssetProfileDto } from './update-asset-profile.dto';
-import { UpdateBulkMarketDataDto } from './update-bulk-market-data.dto';
-import { UpdateMarketDataDto } from './update-market-data.dto';
@Controller('admin')
export class AdminController {
@@ -60,7 +56,6 @@ export class AdminController {
private readonly apiService: ApiService,
private readonly dataGatheringService: DataGatheringService,
private readonly manualService: ManualService,
- private readonly marketDataService: MarketDataService,
@Inject(REQUEST) private readonly request: RequestWithUser
) {}
@@ -214,19 +209,6 @@ export class AdminController {
});
}
- /**
- * @deprecated
- */
- @Get('market-data/:dataSource/:symbol')
- @HasPermission(permissions.accessAdminControl)
- @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
- public async getMarketDataBySymbol(
- @Param('dataSource') dataSource: DataSource,
- @Param('symbol') symbol: string
- ): Promise {
- return this.adminService.getMarketDataBySymbol({ dataSource, symbol });
- }
-
@HasPermission(permissions.accessAdminControl)
@Post('market-data/:dataSource/:symbol/test')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
@@ -253,58 +235,6 @@ export class AdminController {
}
}
- /**
- * @deprecated
- */
- @HasPermission(permissions.accessAdminControl)
- @Post('market-data/:dataSource/:symbol')
- @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
- public async updateMarketData(
- @Body() data: UpdateBulkMarketDataDto,
- @Param('dataSource') dataSource: DataSource,
- @Param('symbol') symbol: string
- ) {
- const dataBulkUpdate: Prisma.MarketDataUpdateInput[] = data.marketData.map(
- ({ date, marketPrice }) => ({
- dataSource,
- marketPrice,
- symbol,
- date: parseISO(date),
- state: 'CLOSE'
- })
- );
-
- return this.marketDataService.updateMany({
- data: dataBulkUpdate
- });
- }
-
- /**
- * @deprecated
- */
- @HasPermission(permissions.accessAdminControl)
- @Put('market-data/:dataSource/:symbol/:dateString')
- @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
- public async update(
- @Param('dataSource') dataSource: DataSource,
- @Param('dateString') dateString: string,
- @Param('symbol') symbol: string,
- @Body() data: UpdateMarketDataDto
- ) {
- const date = parseISO(dateString);
-
- return this.marketDataService.updateMarketData({
- data: { marketPrice: data.marketPrice, state: 'CLOSE' },
- where: {
- dataSource_date_symbol: {
- dataSource,
- date,
- symbol
- }
- }
- });
- }
-
@HasPermission(permissions.accessAdminControl)
@Post('profile-data/:dataSource/:symbol')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
From f63ede46b0d49228613036ba5aedfdade95af31e Mon Sep 17 00:00:00 2001
From: Fabio Carlos
Date: Tue, 20 May 2025 13:02:37 -0600
Subject: [PATCH 007/294] Feature/improve language localization for IT 20250513
(#4717)
* Improve language localization for IT
---
apps/client/src/locales/messages.it.xlf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf
index 37c66bfd8..acc667e17 100644
--- a/apps/client/src/locales/messages.it.xlf
+++ b/apps/client/src/locales/messages.it.xlf
@@ -7996,7 +7996,7 @@
Log out
- Log out
+ Esci
apps/client/src/app/components/header/header.component.html
315
From 294a1834b6244451cf165a34f454acdd69c5a4d3 Mon Sep 17 00:00:00 2001
From: Felix Jordan
Date: Wed, 21 May 2025 01:05:02 +0600
Subject: [PATCH 008/294] Feature/improve language localization for CA 20250513
(#4719)
* Improve language localization for CA
---
apps/client/src/locales/messages.ca.xlf | 76 ++++++++++++-------------
1 file changed, 38 insertions(+), 38 deletions(-)
diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf
index 4e4e7e62d..275f6ab40 100644
--- a/apps/client/src/locales/messages.ca.xlf
+++ b/apps/client/src/locales/messages.ca.xlf
@@ -4328,7 +4328,7 @@
Why Ghostfolio ?
- Why Ghostfolio ?
+ Per què Ghostfolio ?
apps/client/src/app/pages/landing/landing-page.html
272
@@ -4336,7 +4336,7 @@
Ghostfolio is for you if you are...
- Ghostfolio is for you if you are...
+ Ghostfolio és per a tu si ets...
apps/client/src/app/pages/landing/landing-page.html
273
@@ -4344,7 +4344,7 @@
trading stocks, ETFs or cryptocurrencies on multiple platforms
- trading stocks, ETFs or cryptocurrencies on multiple platforms
+ negociar accions, ETF o criptomonedes en múltiples plataformes
apps/client/src/app/pages/landing/landing-page.html
280
@@ -4352,7 +4352,7 @@
pursuing a buy & hold strategy
- pursuing a buy & hold strategy
+ perseguint una compra & mantenir l’estratègia
apps/client/src/app/pages/landing/landing-page.html
286
@@ -4360,7 +4360,7 @@
interested in getting insights of your portfolio composition
- interested in getting insights of your portfolio composition
+ interessat a obtenir informació sobre la composició de la vostra cartera
apps/client/src/app/pages/landing/landing-page.html
291
@@ -4368,7 +4368,7 @@
valuing privacy and data ownership
- valuing privacy and data ownership
+ valorant la privadesa i la propietat de les dades
apps/client/src/app/pages/landing/landing-page.html
296
@@ -4376,7 +4376,7 @@
into minimalism
- into minimalism
+ al minimalisme
apps/client/src/app/pages/landing/landing-page.html
299
@@ -4384,7 +4384,7 @@
caring about diversifying your financial resources
- caring about diversifying your financial resources
+ preocupant-se per diversificar els seus recursos econòmics
apps/client/src/app/pages/landing/landing-page.html
303
@@ -4392,7 +4392,7 @@
interested in financial independence
- interested in financial independence
+ interessada en la independència financera
apps/client/src/app/pages/landing/landing-page.html
307
@@ -4400,7 +4400,7 @@
saying no to spreadsheets in
- saying no to spreadsheets in
+ dir no als fulls de càlcul
apps/client/src/app/pages/landing/landing-page.html
311
@@ -4408,7 +4408,7 @@
still reading this list
- still reading this list
+ encara llegint aquesta llista
apps/client/src/app/pages/landing/landing-page.html
314
@@ -4416,7 +4416,7 @@
Learn more about Ghostfolio
- Learn more about Ghostfolio
+ Més informació sobre Ghostfolio
apps/client/src/app/pages/landing/landing-page.html
319
@@ -4424,7 +4424,7 @@
What our users are saying
- What our users are saying
+ Que nostre usuaris estan dient
apps/client/src/app/pages/landing/landing-page.html
327
@@ -4432,7 +4432,7 @@
Members from around the globe are using Ghostfolio Premium
- Members from around the globe are using Ghostfolio Premium
+ Membres de tot el món estan utilitzant Ghostfolio Premium
apps/client/src/app/pages/landing/landing-page.html
366
@@ -4440,7 +4440,7 @@
How does Ghostfolio work?
- How does Ghostfolio work?
+ Com ho fa Ghostfolio treballar?
apps/client/src/app/pages/landing/landing-page.html
383
@@ -4448,7 +4448,7 @@
Get started in only 3 steps
- Get started in only 3 steps
+ Comença en només 3 passos
apps/client/src/app/pages/landing/landing-page.html
386
@@ -4456,7 +4456,7 @@
Sign up anonymously*
- Sign up anonymously*
+ Registra’t de manera anònima*
apps/client/src/app/pages/landing/landing-page.html
392
@@ -4464,7 +4464,7 @@
* no e-mail address nor credit card required
- * no e-mail address nor credit card required
+ * no es requereix cap adreça de correu electrònic ni targeta de crèdit
apps/client/src/app/pages/landing/landing-page.html
394
@@ -4472,7 +4472,7 @@
Add any of your historical transactions
- Add any of your historical transactions
+ Afegiu qualsevol de les vostres transaccions històriques
apps/client/src/app/pages/landing/landing-page.html
405
@@ -4480,7 +4480,7 @@
Get valuable insights of your portfolio composition
- Get valuable insights of your portfolio composition
+ Obteniu informació valuosa sobre la composició de la vostra cartera
apps/client/src/app/pages/landing/landing-page.html
417
@@ -4488,7 +4488,7 @@
Are you ready?
- Are you ready?
+ Són tu llest?
apps/client/src/app/pages/landing/landing-page.html
431
@@ -4496,7 +4496,7 @@
Join now or check out the example account
- Join now or check out the example account
+ Uneix-te ara o consulteu el compte d’exemple
apps/client/src/app/pages/landing/landing-page.html
434
@@ -4504,7 +4504,7 @@
Get Started
- Get Started
+ Comença
apps/client/src/app/pages/landing/landing-page.html
446
@@ -4512,7 +4512,7 @@
At Ghostfolio, transparency is at the core of our values. We publish the source code as open source software (OSS) under the AGPL-3.0 license and we openly share aggregated key metrics of the platform’s operational status.
- At Ghostfolio, transparency is at the core of our values. We publish the source code as open source software (OSS) under the AGPL-3.0 license and we openly share aggregated key metrics of the platform’s operational status.
+ A Ghostfolio, la transparència és la base dels nostres valors. Publiquem el codi font com a programari de codi obert (OSS) sota el Llicència AGPL-3.0 i compartim obertament mètriques clau agregades de l’estat operatiu de la plataforma.
apps/client/src/app/pages/open/open-page.html
6
@@ -4520,7 +4520,7 @@
(Last 24 hours)
- (Last 24 hours)
+ (Últimes 24 hores)
apps/client/src/app/pages/open/open-page.html
37
@@ -4528,7 +4528,7 @@
Active Users
- Active Users
+ Usuaris actius
apps/client/src/app/pages/open/open-page.html
40
@@ -4540,7 +4540,7 @@
(Last 30 days)
- (Last 30 days)
+ (Últims 30 dies)
apps/client/src/app/pages/open/open-page.html
48
@@ -4552,7 +4552,7 @@
New Users
- New Users
+ Usuaris nous
apps/client/src/app/pages/open/open-page.html
51
@@ -4560,7 +4560,7 @@
Users in Slack community
- Users in Slack community
+ Usuaris de la comunitat Slack
apps/client/src/app/pages/open/open-page.html
75
@@ -4568,7 +4568,7 @@
Contributors on GitHub
- Contributors on GitHub
+ Col·laboradors a GitHub
apps/client/src/app/pages/open/open-page.html
89
@@ -4576,7 +4576,7 @@
(Last 90 days)
- (Last 90 days)
+ (Últims 90 dies)
apps/client/src/app/pages/open/open-page.html
127
@@ -4584,7 +4584,7 @@
Uptime
- Uptime
+ Temps de funcionament
apps/client/src/app/pages/open/open-page.html
132
@@ -4592,7 +4592,7 @@
Activities
- Activities
+ Activitats
apps/client/src/app/pages/portfolio/activities/activities-page-routing.module.ts
13
@@ -4604,7 +4604,7 @@
Update activity
- Update activity
+ Activitat d’actualització
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
10
@@ -4612,7 +4612,7 @@
Stocks, ETFs, bonds, cryptocurrencies, commodities
- Stocks, ETFs, bonds, cryptocurrencies, commodities
+ Accions, ETF, bons, criptomonedes, matèries primeres
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
25
@@ -4624,7 +4624,7 @@
One-time fee, annual account fees
- One-time fee, annual account fees
+ Comissió única, comissions de compte anual
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
33
@@ -4632,7 +4632,7 @@
Distribution of corporate earnings
- Distribution of corporate earnings
+ Distribució dels beneficis de les empreses
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
41
@@ -4640,7 +4640,7 @@
Revenue for lending out money
- Revenue for lending out money
+ Ingressos per prestar diners
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
49
From f361ecc732b1d8e5e7377e1e394d2cae69221af5 Mon Sep 17 00:00:00 2001
From: jlebutte
Date: Tue, 20 May 2025 23:48:34 +0200
Subject: [PATCH 009/294] Feature/improve language localization for FR 20250520
(#4728)
* Improve language localization for FR
* Update changelog
---
CHANGELOG.md | 1 +
apps/client/src/locales/messages.fr.xlf | 24 ++++++++++++------------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b9c056dc..1b0d60eee 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved the language localization for Catalan (`ca`)
- Improved the language localization for Chinese (`zh`)
- Improved the language localization for Dutch (`nl`)
+- Improved the language localization for French (`fr`)
- Improved the language localization for German (`de`)
- Improved the language localization for Italian (`it`)
- Upgraded `countup.js` from version `2.8.0` to `2.8.2`
diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf
index 946533d94..8079a83c6 100644
--- a/apps/client/src/locales/messages.fr.xlf
+++ b/apps/client/src/locales/messages.fr.xlf
@@ -471,7 +471,7 @@
Historical Market Data
- Données de Marché Historiques
+ Données historiques du marché
apps/client/src/app/components/admin-jobs/admin-jobs.html
37
@@ -535,7 +535,7 @@
Market Price
- Prix du Marché
+ Prix du marché
apps/client/src/app/components/admin-market-data/admin-market-data.html
133
@@ -1127,7 +1127,7 @@
Current Market Mood
- Sentiment Actuel du Marché
+ Sentiment actuel du marché
apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.html
12
@@ -1479,7 +1479,7 @@
Time in Market
- Temps sur le Marché
+ Temps sur le marché
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
3
@@ -2203,7 +2203,7 @@
Market Data
- Données de Marché
+ Données du marché
apps/client/src/app/pages/admin/admin-page-routing.module.ts
30
@@ -2663,7 +2663,7 @@
Developed Markets
- Marchés Développés
+ Marchés développés
apps/client/src/app/pages/portfolio/allocations/allocations-page.html
222
@@ -2675,7 +2675,7 @@
Emerging Markets
- Marchés Émergents
+ Marchés émergents
apps/client/src/app/pages/portfolio/allocations/allocations-page.html
231
@@ -4171,7 +4171,7 @@
Changelog
- Historique des Modifications
+ Historique des modifications
apps/client/src/app/pages/about/about-page.component.ts
50
@@ -4267,7 +4267,7 @@
Market Mood
- Sentiment du Marché
+ Sentiment du marché
apps/client/src/app/pages/features/features-page.html
215
@@ -4583,7 +4583,7 @@
By Market
- par Marchés
+ par marché
apps/client/src/app/pages/portfolio/allocations/allocations-page.html
175
@@ -7670,7 +7670,7 @@
Market Data
- Données de Marché
+ Données du marché
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
374
@@ -7995,7 +7995,7 @@
Log out
- Log out
+ Se déconnecter
apps/client/src/app/components/header/header.component.html
315
From f4ef91e3bea3b0e55d325b3aeeb5694be3b93671 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Tue, 20 May 2025 22:49:54 +0100
Subject: [PATCH 010/294] Feature/upgrade twitter-api-v2 to version 1.23.0
(#4693)
* Upgrade twitter-api-v2 to version 1.23.0
* Update changelog
---
CHANGELOG.md | 1 +
package-lock.json | 8 ++++----
package.json | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1b0d60eee..aaa3db02e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved the language localization for Italian (`it`)
- Upgraded `countup.js` from version `2.8.0` to `2.8.2`
- Upgraded `nestjs` from version `10.4.15` to `11.0.12`
+- Upgraded `twitter-api-v2` from version `1.14.2` to `1.23.0`
- Upgraded `yahoo-finance2` from version `2.11.3` to `3.3.2`
### Fixed
diff --git a/package-lock.json b/package-lock.json
index bf48e51fa..94851b2e1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -87,7 +87,7 @@
"rxjs": "7.8.1",
"stripe": "17.3.0",
"svgmap": "2.12.2",
- "twitter-api-v2": "1.14.2",
+ "twitter-api-v2": "1.23.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.3.2",
"zone.js": "0.15.0"
@@ -34027,9 +34027,9 @@
"license": "Unlicense"
},
"node_modules/twitter-api-v2": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/twitter-api-v2/-/twitter-api-v2-1.14.2.tgz",
- "integrity": "sha512-389e/rWaN8zWkmD5z2IpKVb5+ojPxVtrexQoGBI1Xfib1mE/9M7k7zbnZ3Q/WLwthwcWkQIlB25ecT64AL8LvQ==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/twitter-api-v2/-/twitter-api-v2-1.23.0.tgz",
+ "integrity": "sha512-5i1agETVpTuY68Zuk9i2B3N9wHzc4JIWw0WKyG4CEaFv9mRKmU87roa+U1oYYXTChWb0HMcqfkwoBJHYmLbeDA==",
"license": "Apache-2.0"
},
"node_modules/type-check": {
diff --git a/package.json b/package.json
index 822f025b1..50abdeea7 100644
--- a/package.json
+++ b/package.json
@@ -133,7 +133,7 @@
"rxjs": "7.8.1",
"stripe": "17.3.0",
"svgmap": "2.12.2",
- "twitter-api-v2": "1.14.2",
+ "twitter-api-v2": "1.23.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.3.2",
"zone.js": "0.15.0"
From a06872b657027c8ae73bf87d48af7bbed7e76639 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Tue, 20 May 2025 22:53:32 +0100
Subject: [PATCH 011/294] Bugfix/improve show condition of button to fetch
current market price (#4700)
* Improve show condition of button to fetch current market price
* Update changelog
---
CHANGELOG.md | 1 +
.../create-or-update-activity-dialog.component.ts | 12 ++++++++----
.../create-or-update-activity-dialog.html | 4 +++-
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aaa3db02e..a3db392da 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
+- Displayed the button to fetch the current market price only if the activity is not in a custom currency
- Fixed an issue in the watchlist endpoint (`POST`) related to the `HasPermissionGuard`
## 2.161.0 - 2025-05-06
diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
index dce045a4a..5f651195a 100644
--- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
+++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
@@ -39,6 +39,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
return { id: assetSubClass, label: translate(assetSubClass) };
});
public currencies: string[] = [];
+ public currencyOfAssetProfile: string;
public currentMarketPrice = null;
public defaultDateFormat: string;
public isLoading = false;
@@ -63,8 +64,10 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
) {}
public ngOnInit() {
- this.mode = this.data.activity.id ? 'update' : 'create';
+ this.currencyOfAssetProfile = this.data.activity?.SymbolProfile?.currency;
this.locale = this.data.user?.settings?.locale;
+ this.mode = this.data.activity?.id ? 'update' : 'create';
+
this.dateAdapter.setLocale(this.locale);
const { currencies, platforms } = this.dataService.fetchInfo();
@@ -210,7 +213,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.activityForm.get('type').value
)
) {
- this.updateSymbol();
+ this.updateAssetProfile();
}
this.changeDetectorRef.markForCheck();
@@ -397,7 +400,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.dialogRef.close(activity);
} else {
- (activity as UpdateOrderDto).id = this.data.activity.id;
+ (activity as UpdateOrderDto).id = this.data.activity?.id;
await validateObjectForForm({
classDto: UpdateOrderDto,
@@ -422,7 +425,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.unsubscribeSubject.complete();
}
- private updateSymbol() {
+ private updateAssetProfile() {
this.isLoading = true;
this.changeDetectorRef.markForCheck();
@@ -450,6 +453,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.activityForm.get('dataSource').setValue(dataSource);
}
+ this.currencyOfAssetProfile = currency;
this.currentMarketPrice = marketPrice;
this.isLoading = false;
diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
index b0521530f..08e1b5162 100644
--- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
+++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
@@ -230,8 +230,10 @@
@if (
+ currencyOfAssetProfile ===
+ activityForm.get('currencyOfUnitPrice').value &&
currentMarketPrice &&
- (data.activity.type === 'BUY' || data.activity.type === 'SELL') &&
+ ['BUY', 'SELL'].includes(data.activity.type) &&
isToday(activityForm.get('date')?.value)
) {