Алексей
Nsis?
да
Алексей
вопрос снимается. пареметр "shortcutName"
Electron.js releases
v10.0.0-nightly.20200420 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200420 v10.0.0-nightly.20200420
Electron.js releases
v9.0.0-beta.18 https://github.com/electron/electron/releases/tag/v9.0.0-beta.18 v9.0.0-beta.18
Александр
Народ, подскажите. const electron = require('electron') Console.log(electron) выдаёт путь к electron.exe Это нормально?
Александр
То есть через консоль с параметрами?
Nikita
electron main.js, а не node main.js
Александр
Александр
Вангую что это для hashbang сделано или чего-то вроде.
Чёт всё равно не получается... const { BrowserWindow } = require('electron').remote let win = new BrowserWindow({ width: 800, height: 600 }) win.loadURL('https://github.com') - из документации Выдаёт ошибку TypeError: Cannot destructure property 'BrowserWindow' of 'require(...).remote' as it is undefined. Запускаю $ electron index.js. Он установлен глобально
Nikita
Это не та страница документации )
Nikita
https://www.electronjs.org/docs/tutorial/first-app#electron-development-in-a-nutshell
Александр
Это не та страница документации )
Ок. Читаем эту... потому что ошибки не заканчиваются
Aleksandr
Всем привет. Я новичок в работе с Аппиумом. У меня такой вопрос, можно ли тестировать desktop программы с помощью Аппиума? На сколько это удобно?
Anonymous
Есть какая-нибудь возможность делать виджеты используя electron?
Anonymous
В целом было бы интересно услышать как тестируют электрон аппы
Anonymous
автоматизированное ui тестирование
Anonymous
про spectron конечно читал, но может есть еще тулзы или фреймворки?
Vadim
про spectron конечно читал, но может есть еще тулзы или фреймворки?
Я видел как на Java как-то тестируют электрон апы, но инфы про это не искал
กระเจี๊ยว
Доброго всем. Кто нибудь разрабатывал приложение electron react redux? Сейчас пытаюсь redux развернуть на стороне main процесса и каждый rendered что бы работал с ним. Использовал remote electron. Все четко работает до перезагрузок или закрывании окон. После тоже работает ну появляется ошибка о том что вызывается ссылка закрытого окна.
Kiro
Видимо замыкания или листенеры какие то остаются после закрытия окна.
กระเจี๊ยว
electron-redux юзаешь?
Нет, там читал загнулось все. Сам пробую прокинуть ссылку на store в свои компоненты
Kiro
У меня схема такая же, но передаю все через IPC middleware, никаких проблем не наблюдаю.
Vadim
Нет, там читал загнулось все. Сам пробую прокинуть ссылку на store в свои компоненты
Ссылка между процессами? И чего загнулось? Я юзал раньше, чудная либа
กระเจี๊ยว
Видимо замыкания или листенеры какие то остаются после закрытия окна.
Ну я читал в доке что требуется удалять их. На close подписатся в окне ну как удалить ссылки
Kiro
Ну я предположу что вы делаете Subscribe на store из рендерер процессов связанных с окном.
Vadim
https://github.com/hardchor/electron-redux/issues/137
Performance is quite good, but I imagine that if there were a way to
กระเจี๊ยว
Типа там тормоза появились, электро вообще советует все делать через invoke
Vadim
Все хорошо с производительностью, в новом электроне можно сделать лучше
Kiro
Потом когда закрываете это останется в слушателях.
Kiro
Делаете unsubscribe в close?
Vadim
Типа там тормоза появились, электро вообще советует все делать через invoke
Где появились? У меня громадное приложение не лагает, где-то 1-2 экшена в секунду(тестил на слабых компах)
กระเจี๊ยว
Вот так работает сейчас все
Kiro
Вообще имхо прокидывать store через remote не самая лучшая идея.
Kiro
На вашем скрине ни subscribe ни unsubscribe не видно. Он мало полезен.
กระเจี๊ยว
Ну вот так у меня удалось ссылку прокинуть на store в render
Vadim
Ты просто заимпортил модуль
กระเจี๊ยว
Где появились? У меня громадное приложение не лагает, где-то 1-2 экшена в секунду(тестил на слабых компах)
Ну я не юзал эту либу, делаю чисто без нее. Просто читал по ней на ее странице git
กระเจี๊ยว
Я хз, но вроде это не ссылка
Ну да я импортировал функции которые вернут мне store который хранится на стороне main процесса
กระเจี๊ยว
Nikita
Где появились? У меня громадное приложение не лагает, где-то 1-2 экшена в секунду(тестил на слабых компах)
а у нас лагало) тупо попробуй формочку набросать и value инпута хранить в редаксе) вводишь 1234567890 - получаешь 1280
กระเจี๊ยว
Ну по доке писал как remote юзать
Vadim
" value инпута хранить в редаксе" Мсье знает толк в извращениях)
กระเจี๊ยว
Как бы все четко щас работает, стор норм работает ну если только я перегружаю страницу или открываю новую он начинает подлагивать.
Vadim
а у нас лагало) тупо попробуй формочку набросать и value инпута хранить в редаксе) вводишь 1234567890 - получаешь 1280
Кст, вероятно где-то замыкаете значение, ведь экшены не теряются и проходят в нужном порядке(вроде как)
Nikita
" value инпута хранить в редаксе" Мсье знает толк в извращениях)
ну это моему тимлиду надо говорить) а так речь не про это)
กระเจี๊ยว
กระเจี๊ยว
Они пишут что надо удалить иначе будет такая херь. Ну не могу догнать как удалить это)
กระเจี๊ยว
กระเจี๊ยว
Вот такая ошибка
กระเจี๊ยว
Ну кажется, что в мейне можно отписаться
Я как понял я удаляю ссылки на все и main у себя тоже чистить все
กระเจี๊ยว
Ну я не знаю как удалить их при закрытии что бы каждое окно удаляло свои ссылки на стор и actions
Nikita
Ну я не знаю как удалить их при закрытии что бы каждое окно удаляло свои ссылки на стор и actions
beforeClose может хук есть, не помню если честно. глянь доку по событиям, пробежись, что-то найдётся) вообще схема странная, может подумать над архитектурой ещё, чтобы менеджить это из мейна, провайдить например данные оттуда, не инджектить логику взаимодействия в рендеры?
กระเจี๊ยว
Думали, есть несколько вариантов. Ну пока этот самый оптимальный и рабочий и менее трудозатратный) Ну они же дают доку на то что бы юзали remote) У меня работает этот код, все как надо. Если страница не ребутится и новые не закрываются то работает все четко и быстро. Страницы быстро реагируют на изменения. Стоит только закрыть начинает все не много подтормаживать и срать в лог ошибку. Чем больше закрытых окон тем больше сообщений. Вот ссылки бы как то грамотно почистить
กระเจี๊ยว
Ну да и пишут что надо удалять все подписки и ссылки
กระเจี๊ยว
Проблема в том что не могу догнать как сделать это в моем случае
Nikita
ну короче, насколько я знаю, remote.getCurrentWIndow вернет ссылку на объект из main thread. короче инстанс окна один и находится в main, соответственно, из main же можно отписаться от евентов.
Anonymous
testcafe
Он умеет работать с электрон окнами?
Nikita
Он умеет работать с электрон окнами?
у нас e2e тесты на нем вроде. писал коллега, я сам не настраивал
Kiro
Cypress electron вроде есть, но у самого руки все не дошли попробовать. Вся бизнес логика лежит в сторе и покрыта юнит тестами, а логика предоставления довольно тонкая и по сути лишь является проекцией данных.
กระเจี๊ยว
ну короче, насколько я знаю, remote.getCurrentWIndow вернет ссылку на объект из main thread. короче инстанс окна один и находится в main, соответственно, из main же можно отписаться от евентов.
Вообще докопался до истины, мало ли кому то будет интересно) надо при закрытии или перезагрузке окна просто удалять смонитрованый компонент. В который Provider прокидывает store. Щас работает вообще норм и нету ошибок и нет вообще тормозов
กระเจี๊ยว
Ну вот собственно и само App
Or
как проверить, не отображается ли окно на панели задач😀
Electron.js releases
v10.0.0-nightly.20200422 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200422 v10.0.0-nightly.20200422
Riclud
Привет, чет даже не могу нормально представить схему, вот у меня есть api сервер работающий на порте 4000 и реакт приложение работающие на порте 80 (nginx), при запросе реакт приложение пытается сделать на свой же адрес запрос (чтоб не было CORS), но оно его не видит, если указать напрямую куда отправлять с портом то будет ошибка CORS
Riclud
Пока из вариантов приходит только сделать редирект в nginx или есть решение проще ?
Riclud
просто почему то на windows локалхосте все работало
Anonymous
А причём тут электрон?
Riclud