Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/ghostfolio/commit/cbe079ae66f482f39a394b2737a8d46823c4c516?style=unified&whitespace=ignore-change
You should set ROOT_URL correctly, otherwise the web may not work correctly.
2 changed files with
28 additions and
13 deletions
@ -169,7 +169,10 @@ export class PortfolioCalculator {
) {
j ++ ;
}
timelinePeriodPromises . push ( this . getTimePeriodForDate ( j , currentDate ) ) ;
const timePeriodForDate = this . getTimePeriodForDate ( j , currentDate ) ;
if ( timePeriodForDate != null ) {
timelinePeriodPromises . push ( timePeriodForDate ) ;
}
}
console . timeEnd ( 'calculate-timeline-calculations' ) ;
@ -185,7 +188,10 @@ export class PortfolioCalculator {
return timelinePeriods ;
}
private async getTimePeriodForDate ( j : number , currentDate : Date ) {
private async getTimePeriodForDate (
j : number ,
currentDate : Date
) : Promise < TimelinePeriod > {
let investment : Big = new Big ( 0 ) ;
const promises = [ ] ;
if ( j >= 0 ) {
@ -204,10 +210,19 @@ export class PortfolioCalculator {
}
}
const value = ( await Promise . all ( promises ) ) . reduce (
( a , b ) = > a . add ( b ) ,
new Big ( 0 )
const result = await Promise . all ( promises ) . catch ( ( e ) = > {
console . error (
` failed to fetch info for date ${ currentDate } with exception ` ,
e
) ;
return null ;
} ) ;
if ( result == null ) {
return null ;
}
const value = result . reduce ( ( a , b ) = > a . add ( b ) , new Big ( 0 ) ) ;
return {
date : format ( currentDate , DATE_FORMAT ) ,
grossPerformance : value.minus ( investment ) ,
@ -26,7 +26,6 @@ import Big from 'big.js';
import {
add ,
addMonths ,
endOfToday ,
format ,
getDate ,
getMonth ,
@ -43,7 +42,6 @@ import {
subDays ,
subYears
} from 'date-fns' ;
import { port } from 'envalid' ;
import { isEmpty } from 'lodash' ;
import * as roundTo from 'round-to' ;
@ -204,7 +202,9 @@ export class PortfolioService {
format ( new Date ( ) , dateFormat )
) ;
return timeline . map ( ( timelineItem ) = > ( {
return timeline
. filter ( ( timelineItem ) = > timelineItem !== null )
. map ( ( timelineItem ) = > ( {
date : timelineItem.date ,
value : timelineItem.grossPerformance ,
marketPrice : timelineItem.value