error: uncaughtException: source.split is not a function
-
There are error when I try to view early revisions of posts on the forum (latest version).
2019-05-16T20:54:46.507Z [4567/9267] - error: uncaughtException: source.split is not a function TypeError: source.split is not a function at Object.applyPatch (/var/www/myforum.tld/nodebb/node_modules/diff/lib/patch/apply.js:57:22) at /var/www/myforum.tld/nodebb/src/posts/diffs.js:101:15 at Array.reduce (<anonymous>) at postDiffLoad (/var/www/myforum.tld/nodebb/src/posts/diffs.js:100:33) at /var/www/myforum.tld/nodebb/src/posts/diffs.js:81:3 at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:3888:9 at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:473:16 at iterateeCallback (/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:992:24) at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:969:16 at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:3885:13 {"error":{},"stack":"TypeError: source.split is not a function\n at Object.applyPatch (/var/www/myforum.tld/nodebb/node_modules/diff/lib/patch/apply.js:57:22)\n at /var/www/myforum.tld/nodebb/src/posts/diffs.js:101:15\n at Array.reduce (<anonymous>)\n at postDiffLoad (/var/www/myforum.tld/nodebb/src/posts/diffs.js:100:33)\n at /var/www/myforum.tld/nodebb/src/posts/diffs.js:81:3\n at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:3888:9\n at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:473:16\n at iterateeCallback (/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:992:24)\n at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:969:16\n at /var/www/myforum.tld/nodebb/node_modules/async/dist/async.js:3885:13","exception":true,"date":"Thu May 16 2019 23:54:46 GMT+0300 (Eastern European Summer Time)","process":{"pid":9267,"uid":0,"gid":0,"cwd":"/var/www/myforum.tld/nodebb","execPath":"/usr/local/bin/node","version":"v10.15.3","argv":["/usr/local/bin/node","/var/www/myforum.tld/nodebb/app.js"],"memoryUsage":{"rss":150315008,"heapTotal":126160896,"heapUsed":91512784,"external":213130}},"os":{"loadavg":[0.39794921875,0.109375,0.076171875],"uptime":22910},"trace":[{"column":22,"file":"/var/www/myforum.tld/nodebb/node_modules/diff/lib/patch/apply.js","function":"Object.applyPatch","line":57,"method":"applyPatch","native":false},{"column":15,"file":"/var/www/myforum.tld/nodebb/src/posts/diffs.js","function":null,"line":101,"method":null,"native":false},{"column":null,"file":null,"function":"Array.reduce","line":null,"method":"reduce","native":false},{"column":33,"file":"/var/www/myforum.tld/nodebb/src/posts/diffs.js","function":"postDiffLoad","line":100,"method":null,"native":false},{"column":3,"file":"/var/www/myforum.tld/nodebb/src/posts/diffs.js","function":null,"line":81,"method":null,"native":false},{"column":9,"file":"/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js","function":null,"line":3888,"method":null,"native":false},{"column":16,"file":"/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js","function":null,"line":473,"method":null,"native":false},{"column":24,"file":"/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js","function":"iterateeCallback","line":992,"method":null,"native":false},{"column":16,"file":"/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js","function":null,"line":969,"method":null,"native":false},{"column":13,"file":"/var/www/myforum.tld/nodebb/node_modules/async/dist/async.js","function":null,"line":3885,"method":null,"native":false}]}
-
@baris, ok, for example:
<p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;" /></p> <ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="https://www.g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="https://www.g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul> <p><span class="write-container"><br /></span></p> <p>Минусы:</p> <ul><li>«верхние» тарифы могли бы быть и пониже;</li><li>не всем по вкусу название;</li></ul> <p> </p> <p>Плюсы:</p> <ul><li>подключение по IPoE (раздача сетевых параметров по DHCP);</li><li>имеется возможность подключения на тарифы с максимальной скростью до 500 Мбит/с (в Красноярске);</li><li>работает кое-где в <a href="https://www.g-service.ru/private-sector/" target="_blank">частном секторе</a> (по технологии GPON).</li></ul> <p> </p> 2019-05-17T08:30:27.497Z [4567/11073] - error: uncaughtException: source.split is not a function <...>
-
I can't reproduce with that content, can you change that bit of code to this and post the output.
// Replace content with re-constructed content from that point in time data.post.content = data.diffs.reduce(function (content, currentDiff) { console.log(typeof content, content, currentDiff); return diff.applyPatch(content, currentDiff.patch, { fuzzFactor: 1, }); }, data.post.content);
-
@baris, please see below:
string <p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;" /></p> <ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="https://www.g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="https://www.g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul> <p><span class="write-container"><br /></span></p> <p>Минусы:</p> <ul><li>«верхние» тарифы могли бы быть и пониже;</li><li>не всем по вкусу название;</li></ul> <p> </p> <p>Плюсы:</p> <ul><li>подключение по IPoE (раздача сетевых параметров по DHCP);</li><li>имеется возможность подключения на тарифы с максимальной скростью до 500 Мбит/с (в Красноярске);</li><li>работает кое-где в <a href="https://www.g-service.ru/private-sector/" target="_blank">частном секторе</a> (по технологии GPON).</li></ul> <p> </p> { patch: 'Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n-<p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;"></p>\n-<ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="https://www.g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="https://www.g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul>\n-<p><span class="write-container"><br></span></p>\n+<p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;" /></p>\n+<ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="http://g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="http://g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul>\n+<p><span class="write-container"><br /></span></p>\n <p>Минусы:</p>\n <ul><li>«верхние» тарифы могли бы быть и пониже;</li><li>не всем по вкусу название;</li></ul>\n <p>\n </p>\n', pid: '45' } boolean false { patch: 'Index: \n===================================================================\n--- \n+++ \n@@ -1,18 +1,4 @@\n-<p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;"></p>\n-<ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="http://g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="http://g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul>\n-<p><span class="write-container"><br></span></p>\n-<p>Минусы:</p>\n-<ul><li>«верхние» тарифы могли бы быть и пониже;</li><li>не всем по вкусу название;</li></ul>\n-<p>\n-</p>\n-<p>Плюсы:</p>\n-<ul><li>подключение по IPoE (раздача сетевых параметров по DHCP);</li><li>имеется возможность подключения на тарифы с максимальной скростью до 500 Мбит/с (в Красноярске);</li><li>работает кое-где в <a href="https://www.g-service.ru/private-sector/" target="_blank">частном секторе</a> (по технологии GPON).</li></ul>\n-<p>\n-[poll title="Оцените работу провайдера по пятибалльной шкале"]\n-- 1 — отвратительно\n-- 2 — плохо\n-- 3 — удовлетворительно\n-- 4 — хорошо\n-- 5 — отлично\n-- не могу оценить\n-[/poll]</p>\n\\ No newline at end of file\n+<p><img src="/assets/uploads/files/1555828077895-index.png" alt="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" title="Интернет-провайдер «Игра-сервис» («Гейм-сервис», «Г-сервис», «Гей-сервис»)" style="cursor:pointer;" /></p>\n+<ul><li>Организационно-правовая форма: ООО «Игра-сервис» + ИП Долин Юрий Иванович</li><li>Автономная система: <a href="https://bgp.he.net/AS33991" target="_blank">AS33991</a>.</li><li>Услуги: интернет, телевидение, телефония, видеонаблюдение, IT-сервис.</li><li><a href="http://g-service.ru/verify-address/" target="_blank">Проверка адреса</a> подключения.</li><li>Работает в Красноярском крае (Красноярск, Зеленогорск, Назарово, Ужур, Шарыпово) и Ульяновске.</li><li>Интернет-сайт: <a href="http://g-service.ru/" target="_blank">g-service.ru</a></li><li>Телефоны службы поддержки: +7 (800) 234−39−13 (все города присутствия, звонок бесплатный), +7 (391) 291−39−13 (Красноярск), +7 (39155) 5−51−00 (Назарово), +7 (8422) 33−20−00 (Ульяновск).</li></ul><p><span class="write-container"><br /></span></p><p>Минусы:</p><ul><li>«верхние» тарифы могли бы быть и пониже;</li><li>не всем по вкусу название;</li></ul><p>\n+</p><p>Плюсы:</p>\n+<ul><li>подключение по IPoE (раздача сетевых параметров по DHCP);</li><li>имеется возможность подключения на тарифы с максимальной скростью до 500 Мбит/с (в Красноярске);</li><li>работает кое-где в <a href="https://www.g-service.ru/private-sector/" target="_blank">частном секторе</a> (по технологии GPON).</li></ul>\n\\ No newline at end of file\n', pid: '45' } 2019-05-18T09:49:21.398Z [4567/14377] - error: uncaughtException: source.split is not a function <...>
-
@almond Thanks that is useful. Please try again after updating to latest, this commit should fix the crash https://github.com/NodeBB/NodeBB/commit/35d10f764ae2e31a501cd3e2c27a773d5ee465b7
Related issue is here https://github.com/kpdecker/jsdiff/issues/247
Copyright © 2024 NodeBB | Contributors