Selaa lähdekoodia

Исправления багов

Book Pauk 6 vuotta sitten
vanhempi
commit
2d15aa88d4

+ 4 - 1
client/components/Reader/HistoryPage/HistoryPage.vue

@@ -248,7 +248,10 @@ class HistoryPage extends Vue {
     }
 
     isUrl(url) {
-        return (url.indexOf('file://') != 0);
+        if (url)
+            return (url.indexOf('file://') != 0);
+        else
+            return false;
     }
 
     close() {

+ 2 - 1
client/components/Reader/share/bookManager.js

@@ -97,9 +97,10 @@ class BookManager {
         /*if (key) {
             for (let i = 0; i < 1000; i++) {
                 const k = this.keyFromUrl(i.toString());
-                this.recent[k] = Object.assign({}, _.cloneDeep(this.recent[key]), {key: k, touchTime: Date.now() - 1000000});
+                this.recent[k] = Object.assign({}, _.cloneDeep(this.recent[key]), {key: k, touchTime: Date.now() - 1000000, url: utils.randomHexString(300)});
             }
         }*/
+        
         await this.cleanBooks();
 
         //очистка позже

+ 9 - 4
client/share/utils.js

@@ -2,13 +2,12 @@ import _ from 'lodash';
 import baseX from 'base-x';
 import PAKO from 'pako';
 import {Buffer} from 'safe-buffer';
+import sjclWrapper from './sjclWrapper';
 
 export const pako = PAKO;
 
 const BASE58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
-const BASE64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 const bs58 = baseX(BASE58);
-const bs64 = baseX(BASE64);
 
 export function sleep(ms) {
     return new Promise(resolve => setTimeout(resolve, ms));
@@ -86,12 +85,18 @@ export function fromBase58(data) {
     return bs58.decode(data);
 }
 
+//base-x слишком тормозит, используем sjcl
 export function toBase64(data) {
-    return bs64.encode(Buffer.from(data));
+    return sjclWrapper.codec.base64.fromBits(
+        sjclWrapper.codec.bytes.toBits(Buffer.from(data))
+    );
 }
 
+//base-x слишком тормозит, используем sjcl
 export function fromBase64(data) {
-    return bs64.decode(data);
+    return Buffer.from(sjclWrapper.codec.bytes.fromBits(
+        sjclWrapper.codec.base64.toBits(data)
+    ));
 }
 
 export function getObjDiff(oldObj, newObj) {

+ 1 - 1
server/index.js

@@ -51,7 +51,7 @@ async function main() {
             }
 
             app.use(compression({ level: 1 }));
-            app.use(express.json());
+            app.use(express.json({limit: '10mb'}));
             if (devModule)
                 devModule.logQueries(app);