Thomas Kaul
9f123eac41
Merge branch 'main' into compute-snapshot-perf-1
11 months ago
Thomas Kaul
7d8f34a90f
Feature/upgrade prisma to version 5.20.0 ( #3817 )
* Upgrade prisma to version 5.20.0
* Update changelog
11 months ago
Madhab Chandra Sahoo
8d0890a400
Feature/integrate add currency to create asset profile dialog ( #3819 )
* Integrate add currency to create asset profile dialog
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
11 months ago
Thomas Kaul
1c212eeaca
Merge branch 'main' into compute-snapshot-perf-1
11 months ago
Thomas Kaul
ba82aaaa9d
Update changelog
11 months ago
Thomas Kaul
64c1d25e64
Feature/improve language localization for de 20240926 ( #3823 )
* Update translations
* Update changelog
11 months ago
ceroma
589011f956
Feature/improve performance of portfolio snapshot computation
After doing some perf analysis on the portfolio snapshot computation, this line turned out to be the biggest offender on my machine (Raspberry Pi 4).
My current DB consists of 5189 activities and 478 different symbols. The majority (about 400) of the symbols represent single `INTEREST` data points.
This line runs for each `SymbolProfile`, and deep-cloning is very expensive. Specially if most of the time (in my case) it ends up filtering out just one element out of the entire clone. On my machine, this line averaged 280ms per invocation, amounting to over 2 minutes during a snapshot computation.
After this diff, this line averaged 1.5ms per symbol, with a peak of 56ms for my symbol with the highest number of activities (1500). The total time spent filtering and deep-cloning is now less than a second (~750ms).
Per my understanding of the code, this change should preserve the same behavior as before, but I'm not too familiar with TypeScript so please feel free to be very pedantic in the review.
Test Plan:
Check that result of portfolio snapshot computation is the same before and after this diff:
1. Flush portfolio snapshot cache:
```
$ docker exec -it ghostfolio-redis-1 redis-cli --pass $REDIS_PASSWORD del "portfolio-snapshot-f9e4c63e-4b8e-46fc-b6ed-75ca0205f12b"
```
2. Open Accounts to trigger snapshot calculation
3. Dump portfolio snapshot to a file:
```
$ docker exec -it ghostfolio-redis-1 redis-cli --pass $REDIS_PASSWORD --no-auth-warning get "portfolio-snapshot-f9e4c63e-4b8e-46fc-b6ed-75ca0205f12b" | python -c "import json, sys; json.dump(json.loads(json.loads(json.load(sys.stdin))), sys.stdout, indent=2, sort_keys=True)" > snapshot-before.json
```
4. Apply this patch
5. Repeat steps 1-3
6. Compare results, check everything matches except for expiration time:
```
$ diff snapshot-before.json snapshot-after.json
2c2
< "expiration": 1727423725104,
---
> "expiration": 1727424454187,
```
11 months ago
Thomas Kaul
395d7f08ac
Feature/upgrade webpack bundle analyzer to version 4.10.2 ( #3818 )
* Upgrade webpack-bundle-analyzer to version 4.10.2
* Update changelog
11 months ago
Thomas Kaul
ba438c25ef
Release 2.110.0 ( #3816 )
11 months ago
Thomas Kaul
bb445ddf2e
Feature/improve experimental chart in account detail dialog ( #3813 )
* Improve chart in account detail dialog
* Update changelog
11 months ago
Thomas Kaul
4a97e2bb54
Feature/align holdings and regions of public page with allocations page ( #3815 )
* Align holdings and regions of public page with allocations page
* Update changelog
11 months ago
Thomas Kaul
e301dc5612
Feature/add horizontal lines to separate delete actions in menus ( #3805 )
* Add horizontal lines to separate delete action
* Update changelog
11 months ago
Thomas Kaul
e7f10ad4ad
Bugfix/fix typo and update date of Hacktoberfest 2024 blog post ( #3811 )
* Fix typo and update date
11 months ago
Thomas Kaul
46fb075ecb
Feature/improve language localization for de 20240921 ( #3804 )
* Update translations
* Update changelog
11 months ago
Thomas Kaul
98e9b5d895
Feature/consider user language in sharable portfolio link ( #3806 )
* Consider user’s language in sharable portfolio link
* Update changelog
11 months ago
Thomas Kaul
67aa76d31c
Release 2.109.0 ( #3803 )
11 months ago
Thomas Kaul
f59e8c8798
Feature/add feature graphic for hacktoberfest 2024 blog post ( #3800 )
* Add feature graphic
11 months ago
Thomas Kaul
336f7b002c
Feature/extend personal finance tools ( #3801 )
* Add Finanzfluss Copilot
11 months ago
Thomas Kaul
be09acdb24
Feature/expose concurrency of data gathering processor as environment variable ( #3799 )
* Expose concurrency of data gathering processor
* PROCESSOR_CONCURRENCY_GATHER_ASSET_PROFILE
* PROCESSOR_CONCURRENCY_GATHER_HISTORICAL_MARKET_DATA
* Update changelog
11 months ago
Thomas Kaul
6f227e677c
Feature/refactor environment variable access in create user of user service ( #3797 )
* Refactor environment variable access
11 months ago
Thomas Kaul
e918970feb
Feature/expose concurrency of portfolio snapshot calculation as environment variable ( #3796 )
* Expose PROCESSOR_CONCURRENCY_PORTFOLIO_SNAPSHOT
* Update changelog
11 months ago
Thomas Kaul
5e4201d831
Feature/remove nx cloud access token ( #3798 )
* Remove nxCloudAccessToken
11 months ago
Thomas Kaul
20d709380a
Feature/add no auto-renewal hint to account membership page ( #3795 )
* Add hint
11 months ago
Thomas Kaul
7053aba2da
Feature/add portfolio performance metrics to public page ( #3793 )
* Add portfolio performance metrics
* Update changelog
11 months ago
Thomas Kaul
c2f69501c7
Feature/improve documentation for public API ( #3792 )
11 months ago
Thomas Kaul
583c14128b
Feature/extend public api with portfolio performance metrics endpoint ( #3762 )
* Extend Public API with portfolio performance metrics endpoint
* Update changelog
11 months ago
Thomas Kaul
9059d4f971
Feature/upgrade prisma to version 5.19.1 ( #3784 )
* Upgrade prisma to version 5.19.1
* Update changelog
11 months ago
Thomas Kaul
9b07b19523
Feature/improve usability of create or update access dialog ( #3791 )
* Improve usability
* Dialog height
* Always show permission selector
* Update changelog
11 months ago
Thomas Kaul
7761e4d712
Feature/add hacktoberfest 2024 blog post ( #3790 )
* Add blog post: Hacktoberfest 2024
* Update changelog
11 months ago
Thomas Kaul
3cd77523a1
Feature/improve loading indicator of accounts table ( #3761 )
* Improve loading indicator
* Update changelog
11 months ago
Thomas Kaul
2bd14b135c
Feature/extract locales 20240919 ( #3785 )
11 months ago
Thomas Kaul
f0df8a5254
Feature/add snake-case hint to localized routes ( #3783 )
* Add snake-case hint to localized routes
11 months ago
Thomas Kaul
cb472c0884
Feature/improve ghostfolio po polsku ( #3782 )
* Improve Ghostfolio po polsku
11 months ago
karolsol
d1f6601c5e
Feature/Improve language localization for pl ( #3780 )
* Update translations
* Update changelog
11 months ago
Thomas Kaul
97467a3809
Feature/improve language localization for de 20240917 ( #3778 )
* Update translations
* Update changelog
11 months ago
Thomas Kaul
22127b5915
Release 2.108.0 ( #3777 )
11 months ago
Thomas Kaul
4865aa1665
Feature/add fallback in get quotes of eod historical data service ( #3776 )
* Add fallback to previousClose in getQuotes()
* Update changelog
11 months ago
Shaunak Das
520c176cd6
Feature/add copy link to clipboard action to access table ( #3768 )
* Add copy link to clipboard action
* Update changelog
11 months ago
Thomas Kaul
df9a0ec35a
Feature/support bonds in import dividend dialog ( #3775 )
* Support bonds
* Update changelog
11 months ago
Thomas Kaul
d703088611
Feature/improve ux of toggle component ( #3769 )
* Improve usability via cursor styles
* Update changelog
11 months ago
Nikolai
38ac3d387b
Feature/extend market data endpoint by lastMarketPrice ( #3752 )
* Extend market data endpoint by lastMarketPrice
* Integrate last market price in admin market data
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
11 months ago
Thomas Kaul
fbf377f67f
Feature/set up rule settings dialog ( #3771 )
12 months ago
Thomas Kaul
3de192c65e
Feature/expose thresholds in rule settings ( #3770 )
12 months ago
Thomas Kaul
9fb80e5067
Feature/remove accounts from holding endpoint ( #3765 )
* Clean up accounts
12 months ago
Thomas Kaul
d236ecfe85
Feature/extend personal finance tools 20240914 ( #3767 )
* Add Buxfer
* Add Moneydance
* Add Banktivity
* Add Microsoft Money
* Add Masttro
* Add WealthPosition
12 months ago
Shaunak Das
323cfbfcaa
Feature/introduce filters in account endpoint ( #3764 )
* Introduce filters in acount endpoint
* Integrate endpoint in holding detail dialog
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
12 months ago
Thomas Kaul
8735fc3fad
Bugfix/fix typo in changelog ( #3758 )
12 months ago
Thomas Kaul
7b8dc480f4
Release 2.107.1 ( #3757 )
12 months ago
Thomas Kaul
5a4f1c03cb
Feature/extend personal finance tools ( #3751 )
Add etops
12 months ago
Thomas Kaul
0ef2b82852
Bugfix/fix destructuring in activities filters ( #3756 )
* Provide default value during destructuring
* Update changelog
12 months ago