Selaa lähdekoodia

fixing async comment nicknames

El RIDO 7 vuotta sitten
vanhempi
sitoutus
2929d5c17a
3 muutettua tiedostoa jossa 15 lisäystä ja 9 poistoa
  1. 13 7
      js/privatebin.js
  2. 1 1
      tpl/bootstrap.php
  3. 1 1
      tpl/page.php

+ 13 - 7
js/privatebin.js

@@ -4251,19 +4251,25 @@ jQuery.PrivateBin = (function($, sjcl, RawDeflate) {
             // iterate over comments
             for (var i = 0; i < paste.comments.length; ++i) {
                 commentDecryptionPromises.push(
-                    CryptTool.decipher(key, password, paste.comments[i].data)
+                    Promise.all([
+                        CryptTool.decipher(key, password, paste.comments[i].data),
+                        paste.comments[i].meta.nickname ?
+                            CryptTool.decipher(key, password, paste.comments[i].meta.nickname) :
+                            Promise.resolve('')
+                    ])
                 );
             }
             return Promise.all(commentDecryptionPromises).then((plaintexts) => {
                 for (var i = 0; i < paste.comments.length; ++i) {
-                    if (plaintexts[i] === false) {
+                    if (plaintexts[i][0].length === 0) {
                         continue;
                     }
                     var comment = paste.comments[i];
+                    console.log(plaintexts);
                     DiscussionViewer.addComment(
                         comment,
-                        plaintexts[i],
-                        comment.meta.nickname ? CryptTool.decipher(key, password, comment.meta.nickname) : ''
+                        plaintexts[i][0],
+                        plaintexts[i][1]
                     );
                 }
                 DiscussionViewer.finishDiscussion();
@@ -4334,14 +4340,14 @@ jQuery.PrivateBin = (function($, sjcl, RawDeflate) {
                 decrytionPromises.push(decryptPaste(paste, key, password))
             }
 
-            // shows the remaining time (until) deletion
-            PasteStatus.showRemainingTime(paste.meta);
-
             // if the discussion is opened on this paste, display it
             if (paste.meta.opendiscussion) {
                 decrytionPromises.push(decryptComments(paste, key, password));
             }
 
+            // shows the remaining time (until) deletion
+            PasteStatus.showRemainingTime(paste.meta);
+
             Promise.all(decrytionPromises).then(() => {
                 Alert.hideLoading();
                 TopNav.showViewButtons();

+ 1 - 1
tpl/bootstrap.php

@@ -71,7 +71,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-d/XW7mxDbNK7y+vSpp547tr+HCKuf83N924B31rvy5RYwa2i0CDcLRDo1WZ2HRfqJT0Go52ksqifS2BYieKB+Q==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-5FZ2MDJ7OkedQskCguHtqj0F0vORtORJgmGX+ydZt42MtNgdZhGcD0WTbGtAgYef4exG+MtGYQ81eB8dgqLnEg==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/page.php

@@ -49,7 +49,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-d/XW7mxDbNK7y+vSpp547tr+HCKuf83N924B31rvy5RYwa2i0CDcLRDo1WZ2HRfqJT0Go52ksqifS2BYieKB+Q==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-5FZ2MDJ7OkedQskCguHtqj0F0vORtORJgmGX+ydZt42MtNgdZhGcD0WTbGtAgYef4exG+MtGYQ81eB8dgqLnEg==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->