Somehow something is wrong. I started to edit, then another person came to see the topic, and the machine load started to run through the roof: all editing was lost. I cannot debug now, probably better next month as I’m rushing towards a hard deadline, but I’d appreciate other reports (of success or failure) with this plugin since I really like the principle. Otherwise I will have to consider running an external CodiMD instance which is also great.
При использовании collude я получаю следующие ошибки:
Недавнее
Сообщение
Необработанная ошибка TypeError: невозможно прочитать свойство 'get' у undefined
URL: http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js
Строка: 11
Столбец: 24050
Расположение окна: http://mercury/t/integralas-a-masterre-rfc/149/6
Трассировка стека
TypeError: невозможно прочитать свойство 'get' у undefined
at i.disabledFor (http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js:11:24050)
at http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js:11:24958
at http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:1148
at Array.map (<anonymous>)
at c (http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:1125)
at t.html (http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:72:14939)
at t.m [as draw] (http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:2198)
at t.value (http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:5263)
at i (http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:16906)
at r (http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:16819)
Окружение
hostname mercury-discourse
process_id 9576
application_version 6fec4982d903cbb088f95b5dcae7b67f52a90e99
HTTP_HOST mercury
REQUEST_URI /logs/report_js_error
REQUEST_METHOD POST
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
HTTP_ACCEPT */*
HTTP_REFERER http://mercury/t/integralas-a-masterre-rfc/149/6
HTTP_X_FORWARDED_FOR 192.168.2.234
HTTP_X_REAL_IP 192.168.2.234
params
message Необработанная ошибка TypeError: невозможно прочитать свойство 'get' у undefined URL: http://mercury/assets/plugin-third-p
url http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df
line 11
column 24050
window_location http://mercury/t/integralas-a-masterre-rfc/149/6
stacktrace TypeError: невозможно прочитать свойство 'get' у undefined at i.disabledFor (http://mercury/assets/plugin
и
Недавнее
Сообщение
TypeError: t не определен
URL: http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js
Строка: 11
Столбец: 24021
Расположение окна: http://mercury/t/egyseges-lehetoleg-cegesen-egyseges-gitlab-workflow/177
Трассировка стека
disabledFor@http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js:11:24021
s/<@http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df13c9.js:11:24958
c/<@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:1148
c@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:1125
html@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:72:14939
m@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:2198
value@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:74:5263
i@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:16906
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:16836
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:10297
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:10595
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:10595
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:10595
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:10595
o@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:11969
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:11637
o@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:13452
i@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:13316
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:11837
o@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:13452
i@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:13316
r@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:5:13139
rerenderWidget@http://mercury/assets/application-854cd242b33a3d81896cdc71e1e8b74d7af66cb0eb20c47894a900f5854ad957.js:33:8368
g</t.invoke@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:6927
g</t.flush@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:5930
y</t.flush@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:7980
z</r._end@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:12654
z</r.end@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:9317
z</r._run@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:13143
z</r.run@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:16:9925
l@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:12:447
bootbox</c.dialog/<@http://mercury/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js:2:515
dispatch@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:2:19650
add/v.handle@http://mercury/assets/ember_jquery-0ae86c6a7527a99c2b9b8a11521273bd9cb4f7d41bc546df081b7ee94f26d9c3.js:2:17641
Окружение
hostname mercury-discourse
process_id 9547
application_version 6fec4982d903cbb088f95b5dcae7b67f52a90e99
HTTP_HOST mercury
REQUEST_URI /logs/report_js_error
REQUEST_METHOD POST
HTTP_USER_AGENT Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0
HTTP_ACCEPT */*
HTTP_REFERER http://mercury/t/egyseges-lehetoleg-cegesen-egyseges-gitlab-workflow/177
HTTP_X_FORWARDED_FOR 192.168.2.206
HTTP_X_REAL_IP 192.168.2.206
params
message TypeError: t не определен URL: http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b9
url http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977a712385207df
line 11
column 24021
window_location http://mercury/t/egyseges-lehetoleg-cegesen-egyseges-gitlab-workflow/177
stacktrace disabledFor@http://mercury/assets/plugin-third-party-5d2db6ac05f499c3b3bf48f1732b98542795b2cfffccd977
Необработанная (в промисе) ошибка TypeError: _.contains не является функцией
at t.menuItems (_collude-8cf680b8d5b8b353d07c7a93fc15aa0adf31757fcafde3c597cc540ffb076eb2.js:87)
at t.n. [as menuItems] (_application-f091afbd42ff5aa3c8221ab59e2618145b4275299b034c729a5f616d84fb4852.js:75808)
at t.html (_application-f091afbd42ff5aa3c8221ab59e2618145b4275299b034c729a5f616d84fb4852.js:71464)
at t.value (_application-f091afbd42ff5aa3c8221ab59e2618145b4275299b034c729a5f616d84fb4852.js:76137)
at t.value (_application-f091afbd42ff5aa3c8221ab59e2618145b4275299b034c729a5f616d84fb4852.js:75910)
at i (_vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:18308)
at r (_vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:18291)
at u (_vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:18695)
at i (_vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:18563)
at o (_vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:18639)
@gdpelican на данный момент это не работает. Это плагин, который вы планируете поддерживать в долгосрочной перспективе, или вы хотите передать его кому-то другому?
Также заметил, что отсутствует файл лицензии. Предполагается ли, что она будет MIT?
Плагин совместного редактирования выглядит действительно круто. Он бы отлично подошёл для моего экземпляра Discourse.
Есть какие-то новости по нему? Планирует ли кто-то поработать над ним, чтобы снова заставить его работать?
Спасибо.
Есть ли обновления по поводу проблемы с этим плагином? Похоже, он ещё не готов к использованию в production, но было бы полезно понять его текущий статус.
В прошлом году наблюдались некоторые проблемы со стабильностью при редактировании: один редактор мог потерять изменения других редакторов, и некому было отлаживать проблему. С тех пор API плагина Discourse немного изменился, поэтому плагин был заброшен. Возможно, @gdpelican обладает дополнительной информацией и, возможно, желанием реализовать эту замечательную идею во второй раз. Наличие встраиваемого редактора в реальном времени, похожего на вики с поддержкой множественных редакторов, всё ещё было бы отличным решением.
Это, безусловно, стало бы отличным решением для наших медицинских форумов, где нам нужно совместно разрабатывать национальные руководства и тому подобное — а Google Docs заблокирован во многих медицинских организациях, поэтому мы не можем его использовать.
Было бы здорово, если бы это уже работало и было внедрено в самом начале безумия, связанного с COVID-19; это стало бы настоящим магнитом.
У нас есть форк, который тестировал @tshenry и над которым работал @mbcahyono.
Мы почти готовы сделать его новым collude и, возможно, официально поддержать его в нашем корпоративном тарифе. Это довольно сложная проблема, и требуется много тестирования, чтобы быть уверенными в этом плагине.
Ещё один вариант, который может вас выручить и который я использую лично — это https://hackmd.io. Он даже генерирует Markdown в конце, так что вы можете скопировать его прямо в Discourse
Выглядит действительно круто — спасибо. Мне кажется, это немного слишком заточено под гиков для моей команды, не очень разбирающейся в IT; я, конечно, буду с нетерпением ждать этот плагин. Было бы просто здорово реализовать это нативно в Discourse.
Использовать его очень просто: вы можете форкнуть https://lab.libreho.st/librehosters/embed-codimd для собственной установки. Было бы полезно добавить настройку для хоста падов, но это потребует больше работы. Librehosters использует SAML SSO между CodiMD и Discourse, поэтому редактировать пады могут только участники.
Прочитав файл plugin.rb, складывается впечатление, что это предельно просто — разве нельзя было добиться того же, добавив запись в allowed iframes + какой-то генератор где-то или теги oEmbed?
Тем не менее, @riking, ты заставил меня задуматься. Как бы ты подошёл к созданию «какого-то генератора»?
По-моему, переустанавливать отдельный плагин onebox для каждого такого сайта — это перебор. Вместо этого должно быть возможно использовать компоненты темы, которые не требуют пересборки контейнера. Кто-нибудь уже работал над (универсальным) компонентом темы onebox?
Лучшим вариантом, конечно же, было бы, если бы разработчики upstream исправили теги oEmbed совместимым образом, чтобы мы могли просто вставить ссылку.