Андрей
Спасибо)
Anonymous
Так что я бы iohook использовал только если есть реальная нужда в этом, например в случае свернутого приложения
Rostislav
Андрей
А универсального решения нет? У меня приложуха постоянно в трее будет висеть и нужно ловить эти события.
Anonymous
Rostislav
Anonymous
Нужно использовать сторонние либы
Anonymous
Вот единственный минус iohook помимо того, что нужно добавлять в accessibility, это отсутствие проверки добавил ли юзер аппу в этот список :)
Anonymous
Там в issues есть обсуждение, что внутри либы есть флаг, но его никак наружу не показывают
Anonymous
Так что если для вашей аппы критически ловить мышку и клавиши, то нужно извращаться и кастомно проверять добавил ли юзер в исключения
Андрей
При установке пакета ioHook не находит один prebuild пакет. 404 ошибку выдает. Кто сталкивался с таким?
Rostislav
Rostislav
https://wilix-team.github.io/iohook/usage.html
Rostislav
Rostislav
в package.json пропиши под себя
Rostislav
Андрей
7.1.4
Rostislav
в targets оставляй только electron-75
Андрей
Это через веб пак нужно?
Rostislav
Андрей
Спс, поборол)
Rostislav
Anonymous
всем доброго времени суток! можете подсказать по сборке в Electron?
Святослав
Святослав
Anonymous
я разрабыатываю проект, в котором используются "child_process". Есть Main скрипт, который запускает выполнение другого скрипта как отдельный процесс с последующим общением через "process.on"/ "process.send" и т.п.
в dev mode я через fork и spawn указал, что в корне лежат необходимые скрипты и они выполняются как нужно (запускаются и обмениваются данными), но если делать билд, то те файлы (скрипты процессов) отсутствуют, т.е. билд не включает их в сборку. Может в package.json нужно прописать что-то? не могу разобраться
Anonymous
Vadim
Anonymous
Все файлы лежат в одном месте. Сборщик electron-builder
Electron.js releases
v9.0.0-nightly.20200109
https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200109
v9.0.0-nightly.20200109
Vadim
Для путей используй app.getAppPath()
Anonymous
Vadim
Ее же легко можно восстановить из собранного приложения
Vadim
В сборку можно включать только обфусцированный или не нужный код, который хоть на github выкладывай
Anonymous
Nafanya
Мб кто подскажет, как отправить команду Commander.executeCommand в жизненном цикле?
Anonymous
Андрей
Подскажите, sqlite3 нужно ставить с определёнными параметрами? По дефолту не хочет запускаться
Андрей
Sergey
Уже поборол)
могу посоветовать для electron indexdb это встроенная база данных браузера
Андрей
Для неё модуль есть? Или она так доступна?
Андрей
Андрей
А в мейн процессе доступна?
Sergey
только она не sql, а NoSQL принципа придерживается, и там не самый удобный поиск и группировка
Андрей
Мне по сути как буфер для временного хранения, потом все на бэк уходит
Sergey
как буфер можно и LocalStorage юзать, создали JSON объект, десериализовали и в локал, когда нужно достали. Это если строка меньше 4 мб получается, если больше можно indexDB, но там работать с большими документами несколько геморно, а в остальном изи
Андрей
Мне по сути хранить пути и айдишки, и ещё пару мелких таблиц
Андрей
Больших данных вообще нет
Sergey
тогда можно все это сунуть в indexDB она для этого и создана как клиентская база данных
Андрей
Понял.
Андрей
Anonymous
А что вообще можно использовать в качестве базы для синхронизированного доступа из рендера и мейна?
Sergey
https://www.youtube.com/watch?v=vKUVJHV3og4
Anonymous
Я сейчас использую lokijs, всё хорошо, но приходится вручную загружать базу в рендере, когда знаю, что мейн что то в ней поменял
Sergey
Vadim
electron-store весьма крутая штука для хранения небольших данных, как локалсторэдж, только доступна для обоих процессов, легкая, быстрая и не нативная, а на обычном JS.
Андрей
Nikita
Vadim
Nikita
Почти год юзаю, а какие проблемы?
с синком в рендере были траблы (многооконное приложение), это все решили
сейчас трабла со скоростью. например, поля форм хранятся в редаксе, он реактивно требуется в нескольких тредах, при вводе в инпут наблюдаются тормоза. прям часть символов пролетает при быстром последовательном вводе
Nikita
но пока нет уверенности, что виноват именно electron-redux
Завтра
поэтому логику надо держать в main-процессе
Nikita
поэтому логику надо держать в main-процессе
я архитетуру более года назад писал, она сильно отстала от реальности и вообще была про другой целевой проект, сейчас в этом основная причина проблем. так что согласен. особенно, после появления многооконности
Завтра
и ведь спорил еще, что все в рендере надо делать 💁🏻♂️
Nikita
Sergey
Андрей
Спасибо.
Андрей
Подскажите как правильно вызвать функцию в рендер процессе с стороннего модуля?
Electron.js releases
v9.0.0-nightly.20200110
https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200110
v9.0.0-nightly.20200110
Oleh
У меня есть вопрос по архитектуре. Есть приложение, которое грузит локальные страницы, которые идут вместе с приложением.
Но есть одна страницы, на которой при вводе домена, нужно отобразить содержимое этого домена, если оно доступно.
Так вот, раньше что бы установить nodeIntegration: false, для сторонних страниц. Я просто закрывал текущее окно, и рендерил другое, что бы отобразить контент этой страницы с nodeIntegration: false, а при переходе на локальные я делал тоже самое в другом направлении (была проверка через url.includes('file:')).
Теперь пеедела так, что бы все рендерилось в одном окне, внутри которого nodeIntegration: true. Но внешние страницы рендерит через webview.
Вопрос, все ли нормально с безопасностью в таком приложении? И вообще насколько это нормально сделано?
Oleh
Ну может это важно сказать еще, что nodeIntegration в локальных страницах мне нужен, что бы импортить зависимости.