Thomas Kaul
5f47a2f2a7
Task/improve export functionality ( #7499 )
* Improve export functionality
* Update changelog
2 weeks ago
Thomas Kaul
179be2f564
Task/add portfolio summary tests ( #7458 )
Add portfolio summary tests
2 weeks ago
Thomas Kaul
031b3b68c7
Bugfix/deletion of activities to respect activity type and date range filter ( #7492 )
* Respect activity type and date range filter
* Update changelog
3 weeks ago
Thomas Kaul
9b3f7eff5f
Task/improve search log output for unsupported queries ( #7480 )
* Improve search log output for unsupported queries
* Update changelog
3 weeks ago
Thomas Kaul
0a01d4234a
Bugfix/daily requests check in Ghostfolio data provider ( #7485 )
Fix daily requests check
3 weeks ago
Thomas Kaul
81e4abbfeb
Feature/add daily request limit ( #7487 )
Add daily request limit
3 weeks ago
Thomas Kaul
1770350516
Bugfix/static portfolio analysis rules for portfolio with no holdings ( #7466 )
* Fix static portfolio analysis rules for portfolio with no holdings
* Update changelog
3 weeks ago
Thomas Kaul
df2e96fc6f
Task/improve performance of property service by caching properties ( #7484 )
* Improve performance by caching properties in memory
* Update changelog
3 weeks ago
Thomas Kaul
52fa7c2240
Task/consolidate markets pages ( #7471 )
* Consolidate markets pages
* Update changelog
3 weeks ago
Thomas Kaul
b8f6037f8c
Bugfix/ignore future-dated account balances in portfolio calculation ( #7436 )
* Ignore future-dated account balances in the portfolio calculation
* Update changelog
3 weeks ago
Thomas Kaul
4506b9c8a7
Task/upgrade ai to version 7 ( #7432 )
* Update @openrouter/ai-sdk-provider and ai
* Update changelog
3 weeks ago
Thomas Kaul
f11c30160b
Bugfix/time in market of portfolio summary to be empty if no activity ( #7428 )
* Fix time in market if no activity
* Update changelog
3 weeks ago
Thomas Kaul
56bb984aa3
Task/exclude cash in base currency from portfolio performance calculation ( #7443 )
* Exclude cash in base currency from portfolio performance calculation
* Update changelog
3 weeks ago
Thomas Kaul
84467d7236
Task/handle delisted asset profiles in FMP service ( #7442 )
* Handle delisted asset profiles
* Update changelog
3 weeks ago
Thomas Kaul
13788f5060
Bugfix/resolve exception in user service for non-existent user ( #7435 )
* Resolve exception for non-existent user
* Update changelog
3 weeks ago
Thomas Kaul
5d1a2f5904
Task/refresh cryptocurrencies list (20260727) ( #7440 )
* Update cryptocurrencies.json
* Update changelog
3 weeks ago
Thomas Kaul
f4a133df4a
Task/deprecate firstOrderDate in favor of dateOfFirstActivity in portfolio performance endpoint ( #7429 )
* Deprecate firstOrderDate in favor of dateOfFirstActivity in portfolio performance response
* Update changelog
3 weeks ago
Kenrick Tandrian
c197806e6b
Task/improve type safety in rule models ( #7422 )
* fix(api): make some env optional
* fix(api): resolve type errors in rules
3 weeks ago
Thomas Kaul
54814127a2
Task/rename portfolio calculator no orders test to no activities ( #7424 )
Rename test
3 weeks ago
Thomas Kaul
53adcf55aa
Task/rename EnhancedSymbolProfile to EnhancedAssetProfile ( #7423 )
Rename EnhancedSymbolProfile to EnhancedAssetProfile
3 weeks ago
Thomas Kaul
21e1c60e15
Feature/include cash in portfolio performance ( #7148 )
* Include cash in portfolio performance
* Update changelog
3 weeks ago
Kenrick Tandrian
7d338c2c67
Task/improve type safety across API services and controllers ( #7417 )
* fix(api): resolve subscription undefined type errors
* fix(api): resolve session metadata null type errors
* feat(api): add type declaration on promises
* fix(api): resolve price undefined type errors
* fix(api): resolve type errors in benchmark service
3 weeks ago
Kenrick Tandrian
10c01ec630
Task/improve type safety in access and account balance services ( #7416 )
* fix(common): update Access interface and type definitions
* fix(api): resolve type errors in access controller
* feat(api): default to user currency in account balance service
3 weeks ago
Thomas Kaul
b77f40a0ff
Bugfix/update account balance of activity without account ( #7402 )
* Fix update account balance of activity without account
* Update changelog
3 weeks ago
Thomas Kaul
8169b2c723
Task/recompute portfolio snapshot on portfolio change ( #7403 )
* Recompute portfolio snapshot on portfolio change
* Update changelog
4 weeks ago
Thomas Kaul
fab16d0979
Task/add stack trace logging for MaxListenersExceededWarning ( #7400 )
* Add stack trace logging for MaxListenersExceededWarning
* Update changelog
4 weeks ago
Thomas Kaul
ca8c4e6236
Bugfix/handle exception in holding detail endpoint for cash positions ( #7391 )
* Handle exception for cash positions
* Update changelog
4 weeks ago
Thomas Kaul
a20d394e0b
Bugfix/improve error handling in access endpoints ( #7392 )
* Improve error handling
* Update changelog
4 weeks ago
Thomas Kaul
72663fe40a
Task/refactor isAfter() with isFuture() and isPast() ( #7389 )
Refactor isAfter() with isFuture() and isPast()
4 weeks ago
Thomas Kaul
90a3fed652
Task/remove deprecated SymbolProfile from activity interface ( #7360 )
* Removed deprecated SymbolProfile from activity interface
* Update changelog
4 weeks ago
Thomas Kaul
d6295167e0
Bugfix/eliminate unresolved page title and range not satisfiable error ( #7387 )
* Eliminate unresolved page title and RangeNotSatisfiableError
* Update changelog
4 weeks ago
Arham Amin
2c5f4fdca2
test(portfolio): cover a missing exchange rate in the calculator
Builds the BALN.SW buy with both fee fields unset, which is the state the
calculator sees when no exchange rate is available for the activity's date.
Asserts the snapshot is still produced and the fees count as 0.
Fails with "[big.js] Invalid number" without the preceding fix.
4 weeks ago
Arham Amin
d83578e223
fix(portfolio): tolerate unconvertible fees in the calculator
`toCurrencyAtDate()` resolves to undefined when no exchange rate exists for an
activity's date, so `feeInAssetProfileCurrency` and `feeInBaseCurrency` can
reach the calculator unset. Passing those straight into `new Big()` threw
"[big.js] Invalid number" and failed the whole portfolio request, so the
Overview, Portfolio and Holdings pages rendered "Oops! Something went wrong".
Fees are only ever accumulated, so 0 is the identity here and the snapshot
stays computable while the exchange rate data is still being gathered.
Refs ghostfolio/ghostfolio#6482
4 weeks ago
Thomas Kaul
faf01ae820
Feature/support migrating asset profile to MANUAL data source ( #7376 )
* Support migrating asset profile to MANUAL data source
* Update changelog
1 month ago
Thomas Kaul
20afbdc202
Task/restrict get symbol data endpoint to authenticated users ( #7372 )
* Restrict symbol data endpoint to authenticated users
* Update changelog
1 month ago
Thomas Kaul
82faa08412
Task/remove deprecated auth endpoint ( #7373 )
* Remove deprecated auth endpoint
* Update changelog
1 month ago
Kenrick Tandrian
11db199b94
Task/enforce noImplicitOverride TypeScript rule ( #7355 )
* feat(ts): enable no implicit override
* fix(api): resolve type errors
* fix(client): resolve type errors
* fix(ui): resolve type errors
* fix(common): resolve type errors
1 month ago
Thomas Kaul
37bd17d3c1
Task/simplify getHistorical() function response in data provider interface ( #7369 )
* Simplify getHistorical() function response
* Update changelog
1 month ago
Kenrick Tandrian
b888134056
Task/improve type safety in statistics gathering and tag services ( #7328 )
* feat(api): create interface for BetterStack update SLA response
* fix(api): resolve type errors
* fix(api): resolve type errors in tag service
1 month ago
Thomas Kaul
ae257f8acb
Feature/support Fear & Greed index via Ghostfolio data provider in self-hosted environments ( #7364 )
* Support Fear & Greed index via Ghostfolio data provider in self-hosted environments
* Update changelog
1 month ago
Thomas Kaul
74e8df4ac9
Task/upgrade stripe to version 22.3.2 ( #7363 )
* Update stripe to version 22.3.2
* Update changelog
1 month ago
Kenrick Tandrian
0ad326b7c8
Task/enforce noImplicitThis and allowUnreachableCode TypeScript rules ( #7354 )
* feat(ts): disable allowing unreachable code
* feat(ts): enable no implicit this
1 month ago
Thomas Kaul
22d68e7ac1
Bugfix/remove linked account from BUY / SELL / DIVIDEND activity ( #7346 )
* Fix removing a linked account from a buy, sell or dividend activity
* Update changelog
1 month ago
Thomas Kaul
05b9cd2cc4
Bugfix/preserve tags when updating activity ( #7347 )
* Validate tags when creating or updating an activity
* Fix loss of activity tags when updating an activity fails
* Update changelog
1 month ago
Thomas Kaul
def15e544a
Bugfix/liabilities without market data ( #7345 )
* Fix liabilities without market data
* Update changelog
1 month ago
Thomas Kaul
05192164db
Task/validate and encode URL in logo endpoint ( #7330 )
* Harden URL validation in logo endpoint
* Update changelog
1 month ago
Thomas Kaul
d35e76737b
Task/improve error handling in HTML template middleware ( #7331 )
* Improve error handling
* Update changelog
1 month ago
Thomas Kaul
9ecb5909c7
Bugfix/startup error in data gathering caused by uninitialized data provider mappings ( #7333 )
* Initialize data provider mappings
* Update changelog
1 month ago
Thomas Kaul
7a2e25d583
Bugfix/improve error handling in get quotes of FMP service ( #7334 )
* Improve error handling
* Update changelog
1 month ago
Thomas Kaul
69254032a3
Feature/add markets endpoint for Fear & Greed index to Ghostfolio data provider ( #7323 )
* Add markets endpoint
* Update changelog
1 month ago