From f63ede46b0d49228613036ba5aedfdade95af31e Mon Sep 17 00:00:00 2001 From: Fabio Carlos Date: Tue, 20 May 2025 13:02:37 -0600 Subject: [PATCH 1/6] 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 37c66bfd..acc667e1 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 2/6] 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 4e4e7e62..275f6ab4 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 elLlicè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 3/6] 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 5b9c056d..1b0d60ee 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 946533d9..8079a83c 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 4/6] 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 1b0d60ee..aaa3db02 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 bf48e51f..94851b2e 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 822f025b..50abdeea 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 5/6] 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 aaa3db02..a3db392d 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 dce045a4..5f651195 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 b0521530..08e1b516 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) ) {