Browse Source

bug fix: load private tweets from friends

Carsten Porth 5 years ago
parent
commit
a281c03fd6
1 changed files with 13 additions and 22 deletions
  1. 13 22
      app/src/providers/feed/feed.ts

+ 13 - 22
app/src/providers/feed/feed.ts

@@ -43,10 +43,7 @@ export class FeedProvider {
     );
 
     if (privateTweetHashs.length) {
-      const privateTweets = await this.fetchPrivateTweets(
-        privateTweetHashs,
-        userId
-      );
+      const privateTweets = await this.fetchPrivateTweets(privateTweetHashs);
 
       // Combine and sort tweets
       return tweets
@@ -96,10 +93,7 @@ export class FeedProvider {
     );
 
     if (privateTweetHashs.length) {
-      const privateTweets = await this.fetchPrivateTweets(
-        privateTweetHashs,
-        this.userId
-      );
+      const privateTweets = await this.fetchPrivateTweets(privateTweetHashs);
 
       // Combine and sort tweets
       return tweets
@@ -110,27 +104,24 @@ export class FeedProvider {
     }
   }
 
-  private async fetchPrivateTweets(
-    privateTweetsData: object[],
-    userId: string
-  ) {
+  private async fetchPrivateTweets(privateTweetsData: object[]) {
     const privateTweets = [];
 
     // Load private tweets from P2P storage
     for (let i = 0; i < privateTweetsData.length; i++) {
       const hash = privateTweetsData[i]["hash"];
-      privateTweetsData[i]["encryptedTweet"] = await this.ipfs.fetchTweet(hash);
-    }
+      const userId = privateTweetsData[i]["userId"];
+      const timestamp = privateTweetsData[i]["created_at"];
 
-    // Fetch public key history for user
-    const publicKeyHistory: object[] = await this.cryptoUtils.fetchPublicKeyHistoryForUser(
-      userId
-    );
+      // fetch from IPFS
+      const encryptedTweet = await this.ipfs.fetchTweet(hash);
 
-    // Decrypt tweets
-    for (let i = 0; i < privateTweetsData.length; i++) {
-      const encryptedTweet = privateTweetsData[i]["encryptedTweet"];
-      const timestamp = privateTweetsData[i]["created_at"];
+      // Fetch public key history for user
+      const publicKeyHistory: object[] = await this.cryptoUtils.fetchPublicKeyHistoryForUser(
+        userId
+      );
+
+      // Decrypt tweets
       const decryptedTweet = this.cryptoUtils.decrypt(
         encryptedTweet,
         this.getPublicKeyAt(timestamp, publicKeyHistory)