Anton
Кто работал с sqlite (или может другими любыми нативными модулями ноды)? Как разрулить то, что модуль необходимо ребилдить под ноду, которая поставляется в бандле с електроном и то, что этот же модуль мне нужен для запусков тестов локально? Можна ли иметь две версии better-sqlite3 модуля и подгружать нужный в зависимости от окуржения, в котором скрипт запускается?
Ramil
осталось чуть-чуть дождаться до нативного https://nodejs.org/api/sqlite.html :) пару лет до того как в электрон заедет?)
Ramil
У меня в этом плане вообще крутится идея взять wasm версию, как будто меньше возни с подключением должно быть
не
Всем привет! Кто-нибудь может подсказать, как собрать 32-бинтую версию приложения для линукса? В офф длке сказано, что поддержка прекращена. В параметрах билда ia32 не отрабатывает, говорит, что на гите нет соответствующей ссылки. Какие есть варианты?
nikolay
https://www.electronjs.org/blog/linux-32bit-support
Ramil
та да, это я видел, но мне нужно на вчера)
кстати, буквально сегодня новость появилась что умельцы запустили дум постгрес в wasm https://pglite.dev/docs/
🅰️nimeCoder
forge ребилдит с коробки, если все сам настраивал, то сам вроде вызываешь electron/rebuild
Anton
Я же написал, как тесты запускать через локальную ноду?
Anton
да, локальную, не електроновскую
🅰️nimeCoder
ну можно вынести по идее из папки в папку на уровень выше, и там разместить еще один package.json чисто под ноду
Anton
electron-builder предлагает два package.json иметь
🅰️nimeCoder
резолвинг зависимостей идет начиная от директории к корню диска
Anton
ага, ну это чет крейзи кажется
🅰️nimeCoder
соответственно можно иметь несколько разных node_modules даже с модулями одного имени и разной версии
🅰️nimeCoder
соответственно можно иметь несколько разных node_modules даже с модулями одного имени и разной версии
и более того по идее внутри одного нодовского процесса можно так заюзать несколько разных зависимостей (версий) в разных местах
🅰️nimeCoder
тебе это не надо, но как факт
Bulat
Ребят кто нибудь сталкивался с проблемой того что в финальный билд (например на маке) попадают пакеты из devDependencies (package.json) билд происходит с помощью electron-builder - все версии - latest
🅰️nimeCoder
Вообще попадать не должно, особенно когда указано в dev deps, но часто оно любой хлам туда тащит который там лежит прямой том виде в котором оно там в модулях. Dev по обычно вырезаются если он действительно указан в dev Ну на крайней случай можно все разрулить хуками
🅰️nimeCoder
А можешь показать пример как это разрулить хуком?
Ну были похожие проблемы c vite + electron forge вроде в препак хуке сделал просто выпил всех путей по списку с regexp которые лишние нашёл в итоговом билде
🅰️nimeCoder
На билдере думаю тоде самое, хуки там есть на сборку Заодно обычно можно выиграть ещё немного размере удалив лишние языки в хромиуме и сделав в приле англ по умолчанию
Bulat
Ну были похожие проблемы c vite + electron forge вроде в препак хуке сделал просто выпил всех путей по списку с regexp которые лишние нашёл в итоговом билде
Ну я кстати понял почему он попадал в билд Видимо потому что в пакете есть файл bin и он считался как cli Но это теория
🅰️nimeCoder
Часто можно даже на казалось бы сраных тестах выиграть пару магабайт аыпилив все папки test
🅰️nimeCoder
Просто через du -h выяснял что оно там весит и добавлял в список уничтожения
VLAD BO
Приветствую, подскажите в чём причина долгой загрузки при npm install electron --save-dev ? Забитый кеш ?
Anton [az09@osm]
Приветствую, подскажите в чём причина долгой загрузки при npm install electron --save-dev ? Забитый кеш ?
тов.майор смотрит чтоб никто до ютуба не добрался, вот всё и тупит в этих ваших интернетах
Bulat
Ребят а кто нибудь юзает electron с electron-updater + electron-builder Я щас все обновил до последних версий и у меня в resource нету app-update.yml
No
Так он же должен latest.yml генерировать вроде
Александр
Добрый день. Может кто знает как решить проблему. Добавил автообновление для приложения , приложение работает под Linux, При запуске если есть обновление пользователю предлагается ввести пароль. Если его ввести все здорово Приложение обновится Но если нажать отмену приложение начинает постоянно перезапускаться и справа появляется сообщения об обновлении
nikolay
Приветствую, подскажите в чём причина долгой загрузки при npm install electron --save-dev ? Забитый кеш ?
только электрон? у меня бывала долгая установка, пока ноду в исключение защитника не добавил. в зависимости от того насколько она долгая. по идее электрон должен при установке браузер тянуть за собой
nikolay
Конкретно электрон эта команда
при установке попробуйте добавить --loglevel verbose может покажет что https://docs.npmjs.com/cli/v8/using-npm/logging
🅰️nimeCoder
Эти каловые массы нужно просто офать по максам
Ismoil
Всем привет при загрузке html файла в электроне можно ли как-то передавать route для Реакта? У меня Хэш роутер и я пробовал разные варианты `${htmlFilePath}#login` `${htmlFilePath}/#/login` После билда в проде не работает, локально всё ок const htmlFilePath = `file://${path.join(__dirname, '../../build/web/index.html')}`; const APP_URL = isDevelopment() ? 'http://localhost:3000/#/login' : `${htmlFilePath}/#login`; win.loadURL(APP_URL);
nikolay
Всем привет при загрузке html файла в электроне можно ли как-то передавать route для Реакта? У меня Хэш роутер и я пробовал разные варианты `${htmlFilePath}#login` `${htmlFilePath}/#/login` После билда в проде не работает, локально всё ок const htmlFilePath = `file://${path.join(__dirname, '../../build/web/index.html')}`; const APP_URL = isDevelopment() ? 'http://localhost:3000/#/login' : `${htmlFilePath}/#login`; win.loadURL(APP_URL);
ну а вы когда поднимали электрон, там же был какой то пример? у вас наверно по протоколу настроено. например app:// ну вот его и указывайте. вы уверены что папка build вообще существует? выведите в лог путь к файлу и посмотрите если существует, то попробуйте так ${htmlFilePath}#/login
Siva
Hi all, App icon is not loading in Ubuntu software installer. But after installation in app menu my application is showing with icon. How to load app icon in Ubuntu software installer while installing the app. Below is my configuration: "linux": { "desktop": { "StartupNotify": "false", "Encoding": "UTF-8", "icon": "assets/icons/my-app-256x256.icns" }, "target": [ "deb" ], "icon": "assets/icons/my-app-256x256.icns", "category": "AudioVideo", "synopsis": "Multi Video Conference Solution", "description": "This application is for multi video conference room solutions" }, If anyone knows, please help me. Thank you all.
Siva
u tried with .png or .svg?
.png i tried. And also tried with icon sizes from 16x16 to 1024x1024 from assests/icons folder. But not working.
Mimik
Всем доброго дня.
Mimik
Столкнулся с проблемой, есть старый проект и но работает с вебом по ами на базе electron, теперь там завезли cloudflare и електрон не проходит дальше чем получает текстом Just a moment
Mimik
может кто-то сталкивался и знает как сие побороть?
Mimik
отключить CF для api
к сожалению эпики не согласятся )
🅰️nimeCoder
я делал решение для таких случаев, которое возволяет юзеру самостоятельно решить каптчу в окошке, для прилы ничего не меняется, работает бесшовно. Но нужно отклбчить будет верификацию сертификатов в электроне и/или отдавать true на все сертификаты что подписала прокся (сомневаюсь что кто-то будет с твоей прилой ставить себе в систему корневой серт)
Mimik
Это старенький проект который позволял в линуксе с эпиков в анрил ставить ассеты
🅰️nimeCoder
https://github.com/Viiprogrammer/SeamlessAccessGateway
🅰️nimeCoder
https://github.com/Viiprogrammer/SeamlessAccessGateway
вот с этой штукой придется
🅰️nimeCoder
в сорсах найдешь external и internal
🅰️nimeCoder
это две прокси, та что external это для твоего приложения (то что юзает апи CF), internal нужно для окна где будет решаться каптча
🅰️nimeCoder
эта часть как раз отвечает за открытие такого окна
🅰️nimeCoder
условия - приложение должно подставлять прокси и загружать указанный урл
Mimik
так электрон же сам умеет создавать окна, я пока не вникал в суть проблемы если поделитесь знаниями то буду очень признаетелен
🅰️nimeCoder
эта часть как раз отвечает за открытие такого окна
ну вот с электроном можешь и открывать. Тут юзается хром если устновлен ну или же еше там есть пример webview для Linux (под винду не пойдет , нужно доп патчи)
Mimik
а почему требуется такое усложнение для проксирования?
🅰️nimeCoder
ну вот с электроном можешь и открывать. Тут юзается хром если устновлен ну или же еше там есть пример webview для Linux (под винду не пойдет , нужно доп патчи)
после запуска создается .http-mitm-proxy там есть ca серитификат и все сертификаты что будут созданы для хостов на лету
🅰️nimeCoder
а почему требуется такое усложнение для проксирования?
ну я делал это для простоты интеграции и чтобы не вмешиваться в приложение, типа подключил прокси + поставил корневой серт или отключил их верификацию и готово
🅰️nimeCoder
ну таймаут можно еще подкрутить. Прося сама видит когда появился челленж, вызывает открытие окна из его фабрики, все запросы приостанавливаются для домена и субдоменов, после прохождения все возобновляется, а запрос на котором появилось повторяется и возвращается ответ без челенжа
🅰️nimeCoder
там есть npm скрипты и настроен rollup для сборки в single executable с передачей параметров в cli
🅰️nimeCoder
можешь тут почитать еще https://t.me/anilibrix_plus/278?comment=132
🅰️nimeCoder
выглядит вот так
🅰️nimeCoder
Я крч когда столкнулся с этой проблемой и не нашел решения нормального, меня так вштырило что я увлекательно вровел время накидав вот эту вундервафлю
Mimik
Спасибо, я отбежал от пк, если не против попозже ещё подонимаю вопросами. Я попробовал в электрон в окно плюнуть html но видимо что-то не так, может можно загрузить preload js и через него инжектить?
🅰️nimeCoder
Почему?
потому что это не просто HTML
🅰️nimeCoder
там есть редиректы и куча всякой хрени
🅰️nimeCoder
ну типа можно в тоерии потхазаться с этим, но нужно ли это? в урле там еще челенж ID, будешь урл еще менять в окне?
Mimik
А почему бы и нет?
Mimik
Надо понять принцип