Anton
я попробую в Винде позже проверить
Oleh
Он может и работает, но нотификейшн пропадает после дефотльного таймаута у меня
Anton
https://developer.mozilla.org/en-US/docs/Web/API/notification/Notification options object разрешает их указывать
Oleh
Понял, я думал это какие-то дефотные. Тогда не знаю что там не так
Anton
Я смотрел в сурсе они вообще не пропускаются https://github.com/electron/electron/blob/2b316f38439b81c4897f48c1cc2e25a5cf58bd09/shell/browser/notifications/platform_notification_service.cc#L29
Oleh
А, ну значит они тоже не поддерживаются наверное
Anton
Хотя есть options.has_reply = false;
Oleh
Это другое
Oleh
https://github.com/electron/electron/blob/34c4c8d5088fa183f56baea28809de6f2a427e02/shell/browser/notifications/mac/cocoa_notification.mm#L93
Oleh
Это походу для уведомления с текстовым полем
Oleh
Как у js prompt
Anton
Это ведь через electron.NotificationAPI я пользуюсь window.Notification
Oleh
Я думаю оно через одно идет
Oleh
Иначе, почему бы они тогда не поддерживали некоторые свойства
Anton
Я посудил по этому доку https://electronjs.org/docs/tutorial/notifications
Anton
Уведомления я отсылаю через window instance а не через main
Anton
кстати https://github.com/electron/electron/commit/7eb14243eb3d90baf896c34be9336a77f43c9ca3 интересный комит в 8.0.0-nightly
Alexandr
Приветствую!
А где лучше использовать request (axios) запросы на rest api по best practice ? В main thread (и связывать данные через ipc) или в renderer process (учитывая что используем реакт и redux) ?
Vadim
Лучше в том процессе, где данные нужны, то есть и там, и там, но учти нюансы с cookies и хранением токенов. @publicma
Electron.js releases
v8.0.0-nightly.20191026
https://github.com/electron/electron/releases/tag/v8.0.0-nightly.20191026
v8.0.0-nightly.20191026
Nikita
Vadim
su
А чего так?)
По идее, тормоза ui никто не отменял, может так быстрее, не проверял, но думаю что быстрее
Vadim
Nikita
А чего так?)
читаем про архитектуру electron, механику работы main + renderers.
TLDR;: чем меньше операций в main, тем больше молодец.
TLDR;: https://medium.com/actualbudget/the-horror-of-blocking-electrons-main-process-351bf11a763c
Vadim
Vadim
Пруф на доку, плиз
Vadim
Что мол, да, запросы нужно делать только из renderer
Nikita
Vadim
Vadim
Давай может данные с запросов по 2+МБ через ipc посылать?
Nikita
Vadim
Не я автор вопроса) Ему разбираться)
Nikita
Пруф на доку, плиз
ещё раз: изучаем архитектуру electron, распыляться я не собираюсь, извини) не веришь – изучи все сам, со всех, в т.ч. официальных источников. придёшь к тому же выводу, что выше отписал.
ну и в ответе я прямо описал поинт, речь не только и не конкретно про axios с запросами.
Vadim
ещё раз: изучаем архитектуру electron, распыляться я не собираюсь, извини) не веришь – изучи все сам, со всех, в т.ч. официальных источников. придёшь к тому же выводу, что выше отписал.
ну и в ответе я прямо описал поинт, речь не только и не конкретно про axios с запросами.
Я думаю за 2,5 года продакшн опыта с Electron, я что-то да понял. Я построил не одну архитектуру, поэтому и говорю, что делать запросы необходимо там, где ты эти данные будешь использовать. Обработка данных вопрос сложный и полностью зависит от случая.
Vadim
Ещё раз, ipc не бесплатный. А вот запрос на сервер, для клиента, условно бесплатный. А если нужна обработка (20+ms), то нужно уже отталкиваться от конкретного случая.
Vadim
Иногда лучше делать файловые операции, чем посылать данные через IPC(но это совсем очень редко)
Nikita
Ещё раз, ipc не бесплатный. А вот запрос на сервер, для клиента, условно бесплатный. А если нужна обработка (20+ms), то нужно уже отталкиваться от конкретного случая.
в том-то и дело, что IPC не бесплатный и не просто так :)
и все чуть сложнее, копай глубже в механизм работы renders + main.
не все то IPC, что менеджеришь ты.
main не должен обрабатывать / получать / отправлять данные, по крайней мере насколько это возможно. он должен делать одно – контролировать работу renders, связывать и актуализировать. например, через систему событий, например, через встроенную IPC.
Anton
Anton
рано радовался, приложение превратилось в немую тыкву) похоже все же надо разобраться с говнокодом
OLEKSANDR
привет, у кого есть опыт со сборкой mas на electron-builder?
у меня есть вопрос по com.apple.security.app-sandbox и локальному тестированию .app
Vladislav
Всем привет, как запустить електрон на убунте? тестовый фремворк (nightmare на базе phantomjs) требует)
Electron.js releases
v8.0.0-nightly.20191027
https://github.com/electron/electron/releases/tag/v8.0.0-nightly.20191027
v8.0.0-nightly.20191027
Anton
почему окно (renderer) может крашиться и что в таких случая можно предпринять? mainWindow.webContents.on('crashed' - ловит. причем только на Windows, на Ubuntu все работает без проблем. main и другие renderer продолжают работать
Vadim
Vadim
Нужно ловить этот экшн и хорошо бы отправлять логи на Sentry или подобное
Vadim
Vadim
Какая версия Electron? Stable?
Vadim
Anton
Vadim
Тогда не подскажу (( Лови стэпы, расставь логи, может что-то отловишь.
Vadim
Я говорю не про console.log) А обычные логи в файл, чтобы остались после закрытия окна
Vadim
И там естественно ничего?
Vadim
Нативных модулей нет?
Anton
не должно быть
Anton
появилось пару идей. например, вывести участок в котором падает (по логам видно) в отдельный renderer и посмотреть что будет.
Anton
может основной renderer "перегружается" и надо его распарелелить (если бы это еще можно было как-то проверить). хотя вроде ничего синхроно не выполняю. но хз. мое первое приложение, может опыта пока маловато...
Anton
Интересно что на Linux все ок, а тут я гонял программу много (т.к. разрабатываю на Linux) и даже намеков не было. а на Windows стабильно падает (даже собирал на Windows с установкой всех модулей) такая вот подстава бывает)
Victor
@KVAnton видел на гитхабе баг что в винде электрон крашится когда нет сети, не твой случай?
Anton
Anton
app.disableHardwareAcceleration();
app.disableDomainBlockingFor3DAPIs();
даже это попробовал
Victor
попробуй ради интереса с другой версией электрона
Sergey
а кто билдил с под убунты для винды? у меня такая штука http://joxi.ru/brRZ8MZC7PNe8r , может кто то чем то поможет
Electron.js releases
v8.0.0-nightly.20191028
https://github.com/electron/electron/releases/tag/v8.0.0-nightly.20191028
v8.0.0-nightly.20191028
Anton
Anton
Andrey
Добрый день. У нас есть десктопное приложение написанное на .net. Мы хотим версию для macos. Нужна консультация как это лучше сделать и как поставить задачу исполнителям
Vadim
D
.Net core)