@ -525,7 +525,7 @@ export default class HomeView extends Vue { 
			
		
	
		
			
				
					          type :  "danger" ,  
			
		
	
		
			
				
					          title :  "Error" ,  
			
		
	
		
			
				
					          text :  
			
		
	
		
			
				
					            err . userMessage  ||  
			
		
	
		
			
				
					            ( err  as  {  userMessage ? :  string  } ) ?  . userMessage  ||  
			
		
	
		
			
				
					            "There was an error retrieving your settings or the latest activity." ,  
			
		
	
		
			
				
					        } ,  
			
		
	
		
			
				
					        5000 ,  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -658,7 +658,7 @@ export default class HomeView extends Vue { 
			
		
	
		
			
				
					        type :  "danger" ,  
			
		
	
		
			
				
					        title :  "Error" ,  
			
		
	
		
			
				
					        text :  
			
		
	
		
			
				
					          err . userMessage  ||  
			
		
	
		
			
				
					          ( err  as  {  userMessage ? :  string  } ) ?  . userMessage  ||  
			
		
	
		
			
				
					          "There was an error retrieving your settings or the latest activity." ,  
			
		
	
		
			
				
					      } ,  
			
		
	
		
			
				
					      5000 ,  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -733,129 +733,210 @@ export default class HomeView extends Vue { 
			
		
	
		
			
				
					  async  updateAllFeed ( )  {  
			
		
	
		
			
				
					    this . isFeedLoading  =  true ;  
			
		
	
		
			
				
					    let  endOfResults  =  true ;  
			
		
	
		
			
				
					    await  this . retrieveGives ( this . apiServer ,  this . feedPreviousOldestId )  
			
		
	
		
			
				
					      . then ( async  ( results )  =>  {  
			
		
	
		
			
				
					        if  ( results . data . length  >  0 )  {  
			
		
	
		
			
				
					          endOfResults  =  false ;  
			
		
	
		
			
				
					          / /   i n c l u d e   t h e   d e s c r i p t i o n s   o f   t h e   g i v e r   a n d   r e c e i v e r  
			
		
	
		
			
				
					          for  ( const  record  of  results . data  as  GiveSummaryRecord [ ] )  {  
			
		
	
		
			
				
					            / /   s i m i l a r   c o d e   i s   i n   e n d o r s e r - m o b i l e   u t i l i t y . t s  
			
		
	
		
			
				
					            / /   c l a i m . c l a i m   h a p p e n   f o r   s o m e   c l a i m s   w r a p p e d   i n   a   V e r i f i a b l e   C r e d e n t i a l  
			
		
	
		
			
				
					            / /   e s l i n t - d i s a b l e - n e x t - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					            const  claim  =  ( record . fullClaim  as  any ) . claim  ||  record . fullClaim ;  
			
		
	
		
			
				
					            / /   a g e n t . d i d   i s   f o r   l e g a c y   d a t a ,   b e f o r e   M a r c h   2 0 2 3  
			
		
	
		
			
				
					            const  giverDid  =  
			
		
	
		
			
				
					              claim . agent ? . identifier  ||  ( claim . agent  as  any ) ? . did ;  / /   e s l i n t - d i s a b l e - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					            / /   r e c i p i e n t . d i d   i s   f o r   l e g a c y   d a t a ,   b e f o r e   M a r c h   2 0 2 3  
			
		
	
		
			
				
					            const  recipientDid  =  
			
		
	
		
			
				
					              claim . recipient ? . identifier  ||  ( claim . recipient  as  any ) ? . did ;  / /   e s l i n t - d i s a b l e - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            / /   T h i s   h a s   i n d e e d   p r o v e n   p r o b l e m a t i c .   S e e   l o a d M o r e G i v e s  
			
		
	
		
			
				
					            / /   W e   s h o u l d   d i s p l a y   i t   i m m e d i a t e l y   a n d   t h e n   g e t   t h e   p l a n   l a t e r .  
			
		
	
		
			
				
					            const  fulfillsPlan  =  await  getPlanFromCache (  
			
		
	
		
			
				
					              record . fulfillsPlanHandleId ,  
			
		
	
		
			
				
					              this . axios ,  
			
		
	
		
			
				
					              this . apiServer ,  
			
		
	
		
			
				
					              this . activeDid ,  
			
		
	
		
			
				
					            ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            / /   c h e c k   i f   t h e   r e c o r d   s h o u l d   b e   f i l t e r e d   o u t  
			
		
	
		
			
				
					            let  anyMatch  =  false ;  
			
		
	
		
			
				
					            if  ( this . isFeedFilteredByVisible  &&  containsNonHiddenDid ( record ) )  {  
			
		
	
		
			
				
					              / /   h a s   a   v i s i b l e   D I D   s o   i t ' s   a   k e e p e r  
			
		
	
		
			
				
					              anyMatch  =  true ;  
			
		
	
		
			
				
					            }  
			
		
	
		
			
				
					            if  ( ! anyMatch  &&  this . isFeedFilteredByNearby )  {  
			
		
	
		
			
				
					              / /   c h e c k   i f   t h e   a s s o c i a t e d   p r o j e c t   h a s   a   l o c a t i o n   i n s i d e   u s e r ' s   s e a r c h   b o x  
			
		
	
		
			
				
					              if  ( record . fulfillsPlanHandleId )  {  
			
		
	
		
			
				
					                if  ( fulfillsPlan ? . locLat  &&  fulfillsPlan ? . locLon )  {  
			
		
	
		
			
				
					                  if  (  
			
		
	
		
			
				
					                    this . latLongInAnySearchBox (  
			
		
	
		
			
				
					                      fulfillsPlan . locLat ,  
			
		
	
		
			
				
					                      fulfillsPlan . locLon ,  
			
		
	
		
			
				
					                    )  
			
		
	
		
			
				
					                  )  {  
			
		
	
		
			
				
					                    anyMatch  =  true ;  
			
		
	
		
			
				
					                  }  
			
		
	
		
			
				
					                }  
			
		
	
		
			
				
					              }  
			
		
	
		
			
				
					            }  
			
		
	
		
			
				
					            if  ( this . isAnyFeedFilterOn  &&  ! anyMatch )  {  
			
		
	
		
			
				
					              continue ;  
			
		
	
		
			
				
					            }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            / /   c h e c k i n g   f o r   a r r a y s   d u e   t o   l e g a c y   d a t a  
			
		
	
		
			
				
					            const  provider  =  Array . isArray ( claim . provider )  
			
		
	
		
			
				
					              ?  claim . provider [ 0 ]  
			
		
	
		
			
				
					              :  claim . provider ;  
			
		
	
		
			
				
					            const  providedByPlan  =  await  getPlanFromCache (  
			
		
	
		
			
				
					              provider ? . identifier  as  string ,  
			
		
	
		
			
				
					              this . axios ,  
			
		
	
		
			
				
					              this . apiServer ,  
			
		
	
		
			
				
					              this . activeDid ,  
			
		
	
		
			
				
					            ) ;  
			
		
	
		
			
				
					     
			
		
	
		
			
				
					    try  {  
			
		
	
		
			
				
					      const  results  =  await  this . retrieveGives ( this . apiServer ,  this . feedPreviousOldestId ) ;  
			
		
	
		
			
				
					      if  ( results . data . length  >  0 )  {  
			
		
	
		
			
				
					        endOfResults  =  false ;  
			
		
	
		
			
				
					        await  this . processFeedResults ( results . data ) ;  
			
		
	
		
			
				
					        await  this . updateFeedLastViewedId ( results . data ) ;  
			
		
	
		
			
				
					      }  
			
		
	
		
			
				
					    }  catch  ( e )  {  
			
		
	
		
			
				
					      this . handleFeedError ( e ) ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            const  newRecord :  GiveRecordWithContactInfo  =  {  
			
		
	
		
			
				
					              ... record ,  
			
		
	
		
			
				
					              jwtId :  record . jwtId ,  
			
		
	
		
			
				
					              giver :  didInfoForContact (  
			
		
	
		
			
				
					                giverDid ,  
			
		
	
		
			
				
					                this . activeDid ,  
			
		
	
		
			
				
					                contactForDid ( giverDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					                this . allMyDids ,  
			
		
	
		
			
				
					              ) ,  
			
		
	
		
			
				
					              image :  claim . image ,  
			
		
	
		
			
				
					              issuer :  didInfoForContact (  
			
		
	
		
			
				
					                record . issuerDid ,  
			
		
	
		
			
				
					                this . activeDid ,  
			
		
	
		
			
				
					                contactForDid ( record . issuerDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					                this . allMyDids ,  
			
		
	
		
			
				
					              ) ,  
			
		
	
		
			
				
					              providerPlanHandleId :  provider ? . identifier  as  string ,  
			
		
	
		
			
				
					              providerPlanName :  providedByPlan ? . name  as  string ,  
			
		
	
		
			
				
					              recipientProjectName :  fulfillsPlan ? . name  as  string ,  
			
		
	
		
			
				
					              receiver :  didInfoForContact (  
			
		
	
		
			
				
					                recipientDid ,  
			
		
	
		
			
				
					                this . activeDid ,  
			
		
	
		
			
				
					                contactForDid ( recipientDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					                this . allMyDids ,  
			
		
	
		
			
				
					              ) ,  
			
		
	
		
			
				
					            } ;  
			
		
	
		
			
				
					            this . feedData . push ( newRecord ) ;  
			
		
	
		
			
				
					          }  
			
		
	
		
			
				
					          this . feedPreviousOldestId  =  
			
		
	
		
			
				
					            results . data [ results . data . length  -  1 ] . jwtId ;  
			
		
	
		
			
				
					          / /   T h e   f o l l o w i n g   u p d a t e   i s   o n l y   d o n e   o n   t h e   f i r s t   l o a d .  
			
		
	
		
			
				
					          if  (  
			
		
	
		
			
				
					            this . feedLastViewedClaimId  ==  null  ||  
			
		
	
		
			
				
					            this . feedLastViewedClaimId  <  results . data [ 0 ] . jwtId  
			
		
	
		
			
				
					          )  {  
			
		
	
		
			
				
					            await  db . open ( ) ;  
			
		
	
		
			
				
					            await  db . settings . update ( MASTER_SETTINGS_KEY ,  {  
			
		
	
		
			
				
					              lastViewedClaimId :  results . data [ 0 ] . jwtId ,  
			
		
	
		
			
				
					            } ) ;  
			
		
	
		
			
				
					          }  
			
		
	
		
			
				
					        }  
			
		
	
		
			
				
					      } )  
			
		
	
		
			
				
					      . catch ( ( e )  =>  {  
			
		
	
		
			
				
					        logger . error ( "Error with feed load:" ,  e ) ;  
			
		
	
		
			
				
					        this . $notify (  
			
		
	
		
			
				
					          {  
			
		
	
		
			
				
					            group :  "alert" ,  
			
		
	
		
			
				
					            type :  "danger" ,  
			
		
	
		
			
				
					            title :  "Feed Error" ,  
			
		
	
		
			
				
					            text :  e . userMessage  ||  "There was an error retrieving feed data." ,  
			
		
	
		
			
				
					          } ,  
			
		
	
		
			
				
					          - 1 ,  
			
		
	
		
			
				
					        ) ;  
			
		
	
		
			
				
					      } ) ;  
			
		
	
		
			
				
					    if  ( this . feedData . length  ===  0  &&  ! endOfResults )  {  
			
		
	
		
			
				
					      / /   r e p e a t   u n t i l   t h e r e ' s   a t   l e a s t   s o m e   d a t a  
			
		
	
		
			
				
					      await  this . updateAllFeed ( ) ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					     
			
		
	
		
			
				
					    this . isFeedLoading  =  false ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Processes  feed  results  and  adds  them  to  feedData  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  async  processFeedResults ( records :  GiveSummaryRecord [ ] )  {  
			
		
	
		
			
				
					    for  ( const  record  of  records )  {  
			
		
	
		
			
				
					      const  processedRecord  =  await  this . processRecord ( record ) ;  
			
		
	
		
			
				
					      if  ( processedRecord )  {  
			
		
	
		
			
				
					        this . feedData . push ( processedRecord ) ;  
			
		
	
		
			
				
					      }  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					    this . feedPreviousOldestId  =  records [ records . length  -  1 ] . jwtId ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Processes  a  single  record  and  returns  it  if  it  passes  filters  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  async  processRecord ( record :  GiveSummaryRecord ) :  Promise < GiveRecordWithContactInfo  |  null >  {  
			
		
	
		
			
				
					    const  claim  =  this . extractClaim ( record ) ;  
			
		
	
		
			
				
					    const  giverDid  =  this . extractGiverDid ( claim ) ;  
			
		
	
		
			
				
					    const  recipientDid  =  this . extractRecipientDid ( claim ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    const  fulfillsPlan  =  await  this . getFulfillsPlan ( record ) ;  
			
		
	
		
			
				
					    if  ( ! this . shouldIncludeRecord ( record ,  fulfillsPlan ) )  {  
			
		
	
		
			
				
					      return  null ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    const  provider  =  this . extractProvider ( claim ) ;  
			
		
	
		
			
				
					    const  providedByPlan  =  await  this . getProvidedByPlan ( provider ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    return  this . createFeedRecord ( record ,  claim ,  giverDid ,  recipientDid ,  provider ,  fulfillsPlan ,  providedByPlan ) ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Extracts  claim  from  record ,  handling  both  direct  and  wrapped  claims  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  extractClaim ( record :  GiveSummaryRecord )  {  
			
		
	
		
			
				
					    / /   e s l i n t - d i s a b l e - n e x t - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					    return  ( record . fullClaim  as  any ) . claim  ||  record . fullClaim ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Extracts  giver  DID  from  claim  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  extractGiverDid ( claim :  any )  {  
			
		
	
		
			
				
					    / /   e s l i n t - d i s a b l e - n e x t - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					    return  claim . agent ? . identifier  ||  ( claim . agent  as  any ) ? . did ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Extracts  recipient  DID  from  claim  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  extractRecipientDid ( claim :  any )  {  
			
		
	
		
			
				
					    / /   e s l i n t - d i s a b l e - n e x t - l i n e   @ t y p e s c r i p t - e s l i n t / n o - e x p l i c i t - a n y  
			
		
	
		
			
				
					    return  claim . recipient ? . identifier  ||  ( claim . recipient  as  any ) ? . did ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Gets  fulfills  plan  from  cache  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  async  getFulfillsPlan ( record :  GiveSummaryRecord )  {  
			
		
	
		
			
				
					    return  await  getPlanFromCache (  
			
		
	
		
			
				
					      record . fulfillsPlanHandleId ,  
			
		
	
		
			
				
					      this . axios ,  
			
		
	
		
			
				
					      this . apiServer ,  
			
		
	
		
			
				
					      this . activeDid ,  
			
		
	
		
			
				
					    ) ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Checks  if  record  should  be  included  based  on  filters  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  shouldIncludeRecord ( record :  GiveSummaryRecord ,  fulfillsPlan :  any ) :  boolean  {  
			
		
	
		
			
				
					    if  ( ! this . isAnyFeedFilterOn )  {  
			
		
	
		
			
				
					      return  true ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    let  anyMatch  =  false ;  
			
		
	
		
			
				
					    if  ( this . isFeedFilteredByVisible  &&  containsNonHiddenDid ( record ) )  {  
			
		
	
		
			
				
					      anyMatch  =  true ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    if  ( ! anyMatch  &&  this . isFeedFilteredByNearby  &&  record . fulfillsPlanHandleId )  {  
			
		
	
		
			
				
					      if  ( fulfillsPlan ? . locLat  &&  fulfillsPlan ? . locLon )  {  
			
		
	
		
			
				
					        anyMatch  =  this . latLongInAnySearchBox ( fulfillsPlan . locLat ,  fulfillsPlan . locLon )  ? ?  false ;  
			
		
	
		
			
				
					      }  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    return  anyMatch ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Extracts  provider  from  claim  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  extractProvider ( claim :  any )  {  
			
		
	
		
			
				
					    return  Array . isArray ( claim . provider )  ?  claim . provider [ 0 ]  :  claim . provider ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Gets  provided  by  plan  from  cache  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  async  getProvidedByPlan ( provider :  any )  {  
			
		
	
		
			
				
					    return  await  getPlanFromCache (  
			
		
	
		
			
				
					      provider ? . identifier  as  string ,  
			
		
	
		
			
				
					      this . axios ,  
			
		
	
		
			
				
					      this . apiServer ,  
			
		
	
		
			
				
					      this . activeDid ,  
			
		
	
		
			
				
					    ) ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Creates  a  feed  record  with  contact  info  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  createFeedRecord (  
			
		
	
		
			
				
					    record :  GiveSummaryRecord ,  
			
		
	
		
			
				
					    claim :  any ,  
			
		
	
		
			
				
					    giverDid :  string ,  
			
		
	
		
			
				
					    recipientDid :  string ,  
			
		
	
		
			
				
					    provider :  any ,  
			
		
	
		
			
				
					    fulfillsPlan :  any ,  
			
		
	
		
			
				
					    providedByPlan :  any  
			
		
	
		
			
				
					  ) :  GiveRecordWithContactInfo  {  
			
		
	
		
			
				
					    return  {  
			
		
	
		
			
				
					      ... record ,  
			
		
	
		
			
				
					      jwtId :  record . jwtId ,  
			
		
	
		
			
				
					      fullClaim :  record . fullClaim ,  
			
		
	
		
			
				
					      description :  record . description  ||  '' ,  
			
		
	
		
			
				
					      handleId :  record . handleId ,  
			
		
	
		
			
				
					      issuerDid :  record . issuerDid ,  
			
		
	
		
			
				
					      fulfillsPlanHandleId :  record . fulfillsPlanHandleId ,  
			
		
	
		
			
				
					      giver :  didInfoForContact (  
			
		
	
		
			
				
					        giverDid ,  
			
		
	
		
			
				
					        this . activeDid ,  
			
		
	
		
			
				
					        contactForDid ( giverDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					        this . allMyDids ,  
			
		
	
		
			
				
					      ) ,  
			
		
	
		
			
				
					      image :  claim . image ,  
			
		
	
		
			
				
					      issuer :  didInfoForContact (  
			
		
	
		
			
				
					        record . issuerDid ,  
			
		
	
		
			
				
					        this . activeDid ,  
			
		
	
		
			
				
					        contactForDid ( record . issuerDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					        this . allMyDids ,  
			
		
	
		
			
				
					      ) ,  
			
		
	
		
			
				
					      providerPlanHandleId :  provider ? . identifier  as  string ,  
			
		
	
		
			
				
					      providerPlanName :  providedByPlan ? . name  as  string ,  
			
		
	
		
			
				
					      recipientProjectName :  fulfillsPlan ? . name  as  string ,  
			
		
	
		
			
				
					      receiver :  didInfoForContact (  
			
		
	
		
			
				
					        recipientDid ,  
			
		
	
		
			
				
					        this . activeDid ,  
			
		
	
		
			
				
					        contactForDid ( recipientDid ,  this . allContacts ) ,  
			
		
	
		
			
				
					        this . allMyDids ,  
			
		
	
		
			
				
					      ) ,  
			
		
	
		
			
				
					    }  as  GiveRecordWithContactInfo ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Updates  the  last  viewed  claim  ID  in  settings  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  async  updateFeedLastViewedId ( records :  GiveSummaryRecord [ ] )  {  
			
		
	
		
			
				
					    if  (  
			
		
	
		
			
				
					      this . feedLastViewedClaimId  ==  null  ||  
			
		
	
		
			
				
					      this . feedLastViewedClaimId  <  records [ 0 ] . jwtId  
			
		
	
		
			
				
					    )  {  
			
		
	
		
			
				
					      await  db . open ( ) ;  
			
		
	
		
			
				
					      await  db . settings . update ( MASTER_SETTINGS_KEY ,  {  
			
		
	
		
			
				
					        lastViewedClaimId :  records [ 0 ] . jwtId ,  
			
		
	
		
			
				
					      } ) ;  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Handles  feed  error  and  shows  notification  
			
		
	
		
			
				
					   * /  
			
		
	
		
			
				
					  private  handleFeedError ( e :  any )  {  
			
		
	
		
			
				
					    logger . error ( "Error with feed load:" ,  e ) ;  
			
		
	
		
			
				
					    this . $notify (  
			
		
	
		
			
				
					      {  
			
		
	
		
			
				
					        group :  "alert" ,  
			
		
	
		
			
				
					        type :  "danger" ,  
			
		
	
		
			
				
					        title :  "Feed Error" ,  
			
		
	
		
			
				
					        text :  e . userMessage  ||  "There was an error retrieving feed data." ,  
			
		
	
		
			
				
					      } ,  
			
		
	
		
			
				
					      - 1 ,  
			
		
	
		
			
				
					    ) ;  
			
		
	
		
			
				
					  }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  / * *  
			
		
	
		
			
				
					   *  Retrieve  claims  in  reverse  chronological  order  
			
		
	
		
			
				
					   *