ALΣX
Покоритель
Покоритель
я нашел решение
Покоритель
питон в помощь
Олег
А можно же созданое приложение на электроне в екзешник собрать условный?
maxim
а зачем тут электрон? ученик же не с компьютера это будет смотреть а телефона? не проще обычный локальный вебсайт поднять?
ALΣX
Олег
maxim
Что?
это не на пост выше было) не реплайнулось
Стас
А вообще классно сюда закидывать просто недоТЗ🤣
Иван
electron-reload юзал кто с типом модули? Не получается завести его
Ismoil
Всем привет у кого-то была ошибка Potentially Unwanted Software при релизе для Windows?
У нас всё работало хорошо, но недавно началась такая проблема (каждый раз когда мы релизим electron-updater пытается скачать и установить новую версию но Windows Defender считает что это вирус)
Прикрепил свой вопрос с Stackoverlow
https://stackoverflow.com/questions/77748400/electron-based-app-flagged-as-potentially-unwanted-software-by-windows-defender
No
Ismoil
мы используем DigiCert
Сертификат подписи кода .p12
No
Ismoil
OV?
не уверен, а можно это как-то проверить через Digicert Certificate utility?
No
No
Ismoil
OV?
что может быть не так с типом OV?
No
Ну возможно да
No
На него часто ругается смарт скрин. Но у тебя там дефендер…хз
Nikko
Подписываю приложение через electron-builder сертом Developer ID Application и все равно при установке вижу - can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.
Пробовал подписывать через codesign все равно такая же проблема
Где можно почитать как правильно подписать приложение?
Nikko
dmg файл
Nikko
Sergey
Друзья, доброе утро. Дайте совет, пожалуйста. Делаю приложение под виндовс. Работаю с путем файла. Получаю абсолютный путь корневого каталога с бэкслешами с поощью path.resolve(__dirname). А далее js библиотека в renderer достраивает путь к конкретному файлу со слэшами. Я так понимаю, можно из preload в объект window передать метод node path.normalize() и привести пути в соответствие. Вопрос! Но правильно ли так делать или лучше использовать какие-то другие способы в API браузера или процесса renderer? Или просто какой-нибудь npm package использовать с аналогичным методом?
No
Sergey
No
No
ALΣX
Подписываю приложение через electron-builder сертом Developer ID Application и все равно при установке вижу - can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.
Пробовал подписывать через codesign все равно такая же проблема
Где можно почитать как правильно подписать приложение?
Вот пример кода, которым мы использовали для подписи через @electron/notarize. Подписываем и релизим обновленния где-то раз в месяц-два, пока проблем не было.
const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
const appName = context.packager.appInfo.productFilename;
return await notarize({
appBundleId: 'your.bundle.id', // тут надо поменять
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
teamId: process.env.APPLETEAMID,
});
};
Но, возможно, есть какие-то проблемы именно на стороне серта. К примеру, у нас бывали траблы, когда у Apple обновляется политика конфид. или другие изменения, то без подтверждения (соглашения) с данными изменения через аккаунт Apple Developer подпись или не проходила вовсе или были проблемы при установки приложения, потому тоже нужно учесть.
Nikko
Вот пример кода, которым мы использовали для подписи через @electron/notarize. Подписываем и релизим обновленния где-то раз в месяц-два, пока проблем не было.
const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
const appName = context.packager.appInfo.productFilename;
return await notarize({
appBundleId: 'your.bundle.id', // тут надо поменять
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
teamId: process.env.APPLETEAMID,
});
};
Но, возможно, есть какие-то проблемы именно на стороне серта. К примеру, у нас бывали траблы, когда у Apple обновляется политика конфид. или другие изменения, то без подтверждения (соглашения) с данными изменения через аккаунт Apple Developer подпись или не проходила вовсе или были проблемы при установки приложения, потому тоже нужно учесть.
Спасибо, попробую
No
Вот пример кода, которым мы использовали для подписи через @electron/notarize. Подписываем и релизим обновленния где-то раз в месяц-два, пока проблем не было.
const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
const appName = context.packager.appInfo.productFilename;
return await notarize({
appBundleId: 'your.bundle.id', // тут надо поменять
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
teamId: process.env.APPLETEAMID,
});
};
Но, возможно, есть какие-то проблемы именно на стороне серта. К примеру, у нас бывали траблы, когда у Apple обновляется политика конфид. или другие изменения, то без подтверждения (соглашения) с данными изменения через аккаунт Apple Developer подпись или не проходила вовсе или были проблемы при установки приложения, потому тоже нужно учесть.
Нотаризация и подпись - это разные процессы
ALΣX
Ismoil
Сергей
hola
Сергей
Как привязать скрипт puppeteer к button electron интерфейса?
Сергей
это вообще нх физически возможно?
🅰️nimeCoder
так же как и любой батон прокидываемый с renderer в main - по IPC
🅰️nimeCoder
Сергей
Сергей
const { app, BrowserWindow, ipcMain } = require('electron');
const puppeteer = require('puppeteer');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({ width: 800, height: 600 });
mainWindow.loadFile('index.html');
ipcMain.on('run-puppeteer-script', async (event) => {
const browserURL = 'http://127.0.0.1:9223';
const browser = await puppeteer.connect({ browserURL });
const pages = await browser.pages();
const page = pages[0];
await page.setViewport({ width: 1660, height: 1080 });
await page.waitForTimeout(2000);
await page.type('#post_field', 'Здравствуйте, я здесь');
await page.click('#send_post');
await browser.disconnect();
});
});
вот чзх
Сергей
<html>
<head>
<title>Electron + Puppeteer</title>
</head>
<body>
<button id="runPuppeteerScript">Запустить скрипт Puppeteer</button>
<script>
const { ipcRenderer } = require('electron');
document.getElementById('runPuppeteerScript').addEventListener('click', () => {
ipcRenderer.send('run-puppeteer-script');
});
</script>
</body>
</html>
Сергей
не работает, я сегодня целый день пытался это сделать
Сергей
обычную кнопку
_dimon_chick_
Всем привет, буквально недавно решил написать что-то на electron.js, вроде разобрался, связал даже с React, при запуске все работает и никаких ошибок нет, но в консоле вылазил предупреждение, на гите нашел issues но в ней ничего толкового не сказали, кроме как идти в сообщества, может кто-то подскажет ? Заранее благодарю за ответ
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:101)
at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:493)
at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:379)
at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:301)
at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:556)
Roman
_dimon_chick_
думал мб что-то косячное в будущем вылезет решил на начале пофиксить, мол забить всегда успею, в любом случае спасибо
Roman
Если же прямо очень надо, то попробуйте билдить приложение без флагов на использование дискретных GPU. Работает это плохо и, зачастую, надо плясать с бубном скорее с конкретным браузером, чтобы разрешить ему доступ до графического апи, нежели с самим электроном.
_dimon_chick_
да вроде и так без ничего такого собираю, webpack по туториалу привязал и все, запуск тоже идет без флагов чисто "electron ."
Roman
Ну, тут сложно сказать. Просто в issue, который вы приложили, и флаги сборки есть и установка переменных браузера...
_dimon_chick_
это просто первое что попалось когда начал искать, у меня все намного проще
"scripts": {
"dev:watch": "webpack --config webpack.common.js --watch",
"dev:start": "electron ."
},
_dimon_chick_
но в целом я согласен с позицией работает не трож, и забить на варнинг
Rav
Всем привет
Была проблема ранее, что не отображалась иконка приложения или иконка трея например в main.js
Решилось тем, что путь писал:
Icon: path.join(__dirname, “ico/tray.png”
Теперь переделываю приложение под vue3 с использованием vite и так уже не работает, снова не отображается ничего
Подскажите как можно это исправить
agent
const tray = new Tray(path.resolve(__dirname, 'ico/tray.png'));
_dimon_chick_
я наверное скажу фигню и скорее всего вы пробовали, но все же, вдруг поможет
Я просто прописал относительный путь до файла и все заработало, единственное почему-то ни ico и svg не хочет воспринимать
icon: path.join(__dirname, './src/images/icons/logo.png')
Rav
_dimon_chick_
если просто в тупую
./src/images/icons/logo.png
_dimon_chick_
а как у тебя vite подключен ?
_dimon_chick_
потому что я с реактом долго мучался, пока не додумался подключить его в конце index.html, другими словами ты можешь запускающий файл подключить так же, тогда electron не будет толком знать о vite, и работать как обычно (я не уверен, просто мои догадки)
Rav
Rav
Большое спасибо))
_dimon_chick_
рад был помочь)
Denis
Ребят, подскажите пожалуйста, может кто билдил на вите электрон приложение, юзаю vite-plugin-electron , не подхватывается в асар архив папка dist со статикой, какие-нибудь может знает кто решения?
_dimon_chick_
Denis
Сначала собираю да, потом через electron-builder билжу электрон, сейчас пробовал докинуть в асар папку dist, в браузере скрипты загружаются и стили тоже, но сайт не заводится как будто серв не запускается на самой ноде
_dimon_chick_
блин я тогда хз, очень не долго с electron работаю, так что увы подсказать не моуг
eden
подскажите, почему при запуске на мак ос в дев режиме приложение может не показываться в таск баре?
Ismoil
Ismoil
Скажете если найдёте решение
eden
ага
eden
eden
только у меня еще другая проблема - диплинк открывает это окно вместо окна приложения