Sergey
protocol.registerSchemesAsPrivileged([
{ scheme: 'foo', privileges: { bypassCSP: true, standard: true, secure: true, allowServiceWorkers: true,supportFetchAPI: true, corsEnabled: true,strsm: true}}
])
если пробую расширить протокол таким образом - опять белый экран
Michael
Привет)
не могу подключить react bootstrap к электрон приложению с реактом, пишет постоянн!
Может в webpack что то нужно прописать?
Подскажите плиз!
Sergey
Michael
Michael
убираю элемнты бутсрапа все сразу ок
Sergey
Sergey
Michael
да точно, блин
Michael
спасибо, я его не заметил в свойствах
Michael
Michael
Ребят подскажите пожалуйста)) почему навбар вниз лег?))
Michael
под ним пока были компоненты он лежал на них посередине)) теперь сосвсем упал
Иван
у body (или у контейнера в которм навбар лежит) в css
justify-content: end
скорее всего стоит
https://developer.mozilla.org/ru/docs/Web/CSS/justify-content
Michael
Сергей
Всем привет! Может кто сталкивался с такой проблемой.
В электроне загружаю файл реакт приложения который лежит локально, то есть URL приложения получается следующим
file://путь до приложения/build/index.html
В реакт приложении мне нужно использовать cookie. Но так как файл считается локальным то куки не записываются в реакт приложение.
Есть ли способы использовать там куки?
Eugene
погугли electron cookie
Сергей
Да гуглил все что нашел перепробывал)
Пробовал вариант через electron.remote.session.defaultSession.cookies из этой статьи, не сработало
https://www.poxon.dev/code/snippet-send-cookies-electron-react/
Пробывал через нативный js в файле прелоада пихать
document.cookie = ‘key=; Max-Age=0';
document.cookie = `${encodeURIComponent('key')}=${encodeURIComponent(String(value))};`;
Пробывал по официальной документации
const cookie = {url: ‘local_url’, name: 'key’, value: value}
session.defaultSession.cookies.set(cookie, (error) => {
if (error) console.error(error)
})
И это все работает, но только при условии что у тебя приложение грузится по урлу с сервера, а не лежит локально. Для локального ничего из этого не работает.
Rewrite
Иван
в main процессе есть Cookies
https://www.electronjs.org/ru/docs/latest/api/cookies#cookiessetdetails
Через неё можно куки запихнуть.
Rewrite
Rewrite
правда в той статье чутка по другому делается
используется импорт электрона, а не сессии, как в доке
Иван
А ну да, не дочитал его сообщение
Сергей
Да походу и не запишет куки для такого пути
file://путь до приложения/build/index.html чет перепробывал все что нашел в инете.
Походу придется что то другое придумать, потому как и с роутингом проблемы.
Если урл например file://путь до приложения/build/index.html/link то он пытается искать локальный файл.
Сергей
А вообще может кто пробывал в электрон класть билд реакт приложения с роутингом и как то из электрона запусать его, чтобы оно адекватно работало? Хотел не грузить с приложение по урлу с сервака, а запускать именно из билд папки, чтобы скорость загрузки была быстрой.
Sergey
Сергей
Касательно содержимого в разных окнах я сделал точно так же) И это работает.
Но хотелось бы чтобы была как веб версия реакт приложения, так и его отображение в электроне. Но просто хотел оптимизировать загрузку, так как по урлу с сервера тянет и открывает гораздо дольше, поэтому и решил попробывать положить локально в электрон папку build. Но проблемы с куками и роутингом(
Eugene
Сергей
Спасибо) Посмотрю что это)
Rewrite
Сергей
Я еще пробывал loadUrl и локальный путь к приложению, не помогло)
Sergey
а кто нить свой протокол делал? чтобы грузилось не через file, а через app например?
Eugene
Пытался, но не смог
Sergey
я сделал чтобы грузилось, но не смог расширить
Eugene
не открывает приложение или приложение не получает события о том, что ссылку открыли
Sergey
Sergey
я долго пытался - в итоге, понял что нужно сначало зарегистрировать протокол, потом его добавить, а потом уже использовать. Но он не расширяемый( типа если добавляю помимо fileProtocol, http уже не идет. Bufer тоже не особо подходит, косяк в том что с приложения идут запросы на сервис, который принимает только https((
Сергей
Я читал про протокол, но не пробывал. Да и статьи попдались 15 года, старенькие. Свежих не нашел и не стал пробывать
Артем
Коллеги, подскажите где создается глобальная переменная или стейт, значение которой меняется в процессе работы через send event, чтобы перед закрытием window можно было обратиться к этой переменной в теле следующего события:
app.on('window-all-closed', () => {
...
});
Для примера, переменная "пути к рабочим каталогам"
Необходимо как-то запомнить эти пути, и перед закрытием выполнить специальную логику в каждом каталоге
Sergey
ну судя по логике - там же, где и запускается электрон, можно сделать отдельный файл и заимпортить туда, ну или использовать электрон стор
Артем
Сергей
Привет!
Проблемы с обновлением на винде, может кто сталкивался...
Стоит electron-updater и electron-builder
Обновление скачивается, все, ок но после скачивания нет перезапуска приложения. Оно закрывается и на этом все. Не происходит установка и запуск новой версии. В диспетчере задач видно что приложение пропадает.
Вот код по завершению скачивания
Sergey
видимо закрыв все окна основной процесс тоже тухнет, и autoUpdater.quitAndInstall() уже не срабатывет
Сергей
Комментировал этот фрагмент кода, не помогло. Он для макоси нужен, без него на маке не перезапускает( Но условие бы просал, эсли бы это помогло.
Еще в диспетчере задач в фоновых процессах появляется приложение, то есть как будто что то из него все таки запустилось, но повторюсь, установки нет. Если повторно запустить аппу, все равно запрашивает обновиться. Думаю не может ли быть это связано с подписью для windows может….
Иван
Сергей
Спасибо! Попробую подписать. Для мака подписано и все ок с обновлениями. А для винды не подписывал, думал так будет работать.
Иван
Sergey
подписать мак кстати кажется менее геморно чем винду
Иван
У нас был раннер на котором собиралось приложение для мак, но он сдох, мы завели новый, и переложили сертификат, со сдохшего, на новый раннер, но при сборке он как будто не видит этот сертификат, может он как-то к тачке привязан, и на других не будет работать?
Сергей
подписать мак кстати кажется менее геморно чем винду
Не знаю. Там с сертификатами просто один гемор((((
У меня на одном маке все было настроено несколько месяцев назад и там проходит сборка. А на другом пару дней назад пытался настроить, так и не разобрался с сертифиатами… прочел что вроде apple что то там обновили у себя и я так понял что на первом маке у меня осталось все по старой политике, а вот сейчас после их обновления я так и не настроил подпись. Точнее ругается на нотариальное заверение и оно не проходит.
Сергей
Sergey
у меня обратный опыт, на мак 1 раз настроил на ci и там все натуризуется автоматом и серт подхватывается, а на винду я так понимаю все подписывают через signtool который свое окошко поднимает для ввода серетов, пришлось писать какие то приблуды которые его детектят и вводят эти данные, а до этого все вручную каждый билд
Иван
Мне попалась такая статья: https://funtoimagine.com/blog/electron-mac-sign-and-notarize/ но сам пока не пробовал
Иван
На винде быстро получилось, в переменной окружения винды положил пароль и путь до сертификата и все заработало
Arsen
В electron-builder у меня перезапуск не работает при некоторых типах упаковок. При msi работает, при appimage и portable exe не работает.
Rewrite
Всем прив. Если нужно создать локальный бекенд, который в билде запускается вместе с приложением
То нужно юзать только ipc?
p.s понимаю что можно все сделать в одной куче, но хотелось бы использовать модель клиент/сервер
Сергей
Я через ipc делал, да. Реакт в качестве фронта, электрон в качестве бэка получается.
Иван
Всем привет, а где бы вы делали подключение какого-то внешнего устройства? Через ipc и на main процессе или в рендере?
Иван
Сейчас сделано в майн процессе и много проблем из-за этого, бывает устройство долго не отвечает и блокирует майн процесс а он блокирует рендер, пришлось ещё это и в воркер выносить
Anonymous
привет всем, надеюсь, у вас все хорошо, я хотел бы создать файл типа .exe через его электронный код, я пробовал электрон-билдер, но тщетно.
Мне очень нужна твоя помощь спасибо
eden
привет, кто-нибудь сталкивался? возникает при подписывании приложения для мака
Eugene
Eugene
Есть возможность бесплатно переводить без ограничений
Eugene
Статья была в инете как "взломать" гугл переводчик и юзать апи
eden
Артем
Коллеги, как решается следующий кейс при разработке в стеке electron + python:
1. необходимо запускать скрипты py (для этого использую python-shell)
2. необходимо запускать скрипты в собранном py-проект в exe (использую child_process->execFile)
В preload скриптах есть проверка (If-else) которая решает что запускать ( python-shell или child_process)
Есть ли другой подход решать этот кейс?
Почему такое разделение: python-shell для удобства отладки py-скриптов, child_process - для прода, дабы спрятать py-логику в exe
Артем
Артем
Комёб
Комёб
Владимир
Подскажите через что лучше тестировать ui в электроне (Нативное приложение - запуск через exe)?
Владимир
Spectron deprecate, к сожалению
Сергей
То есть получается отладка на проде? В уже собранном приложении?