Andrey
А как это сделать?
Andrey
Надо установить расширение в электрон
Как расширение это установить в консоль?
Den
Как расширение это установить в консоль?
https://www.npmjs.com/package/electron-devtools-installer
ALΣX
всем привет, не получается отловить сообщения через ipcRenderer изнаачльно задача отрендерить логи из main процесса в ui render пробую через бридж contextBridge.exposeInMainWorld('electron', { ipcRenderer: { ...ipcRenderer, send: (channel, data) => ipcRenderer.send(channel, data), on: (channel, func) => ipcRenderer.on(channel, (event, ...args) => func(args)), // on: ipcRenderer.on.bind(ipcRenderer), removeListener: ipcRenderer.removeListener.bind(ipcRenderer), }, }); -------- export const testRun = () => { console.log("testRun"); ipcRenderer.send('log', "Привет") setInterval(() => { const currentTime = new Date().toLocaleTimeString(); // console.log("Привет", currentTime); ipcRenderer.send('log', "Привет", currentTime) }, 1000); } в render использую react useEffect(() => { // event: IpcRendererEvent electron.ipcRenderer.on('log', (e, ...args) => { console.log('ipcRenderer', `${args}`); // setLog([...logs, ...args]) }); }, []); в обьекте window есть ipcRenderer но ничего не ловит
С main процесса в рендерер вроде бы сообщения передаются через webContents.send, что-то не припомню, что бы в ipcMain имел какие-то собственные методы для передачи сообщений. Или же использовать ipcRenderer.invoke, где можна вернуть результат после обработки в ipcMain.handle. Все зависимо от реализации.
Алексей
Нужно запихнуть Google Analytic 4 в приложение. Кто-то сталкивался с этим? Хотелось бы какую-то либу для отправки событий. Самому писать используя API не очень хочется.. В гугл не отправлять. Гуглил, гуглю, и продолжу гуглить , но пока никакой полезной инфы не нашел... Помогите кто чем может.
Алексей
https://kilianvalkhof.com/2018/apps/using-google-analytics-to-gather-usage-statistics-in-electron/
Статья 18 года. Уже не подходит. Там описана старая аналитика. А мне нужно подключить новую, четвёртую.
Sergey
там используется пакет universal-analytics
Sergey
посмотрите его API и что он поддерживает
Alexander
Как победить эту ошибку?
ALΣX
Как победить эту ошибку?
пробовали удалить node_modules и package-lock.json и переустановить все зависимости? И какая версия electron и ноды установлены?
Alexander
пробовали удалить node_modules и package-lock.json и переустановить все зависимости? И какая версия electron и ноды установлены?
Пробовал. Не понимаю, у меня стоит node.js 16.20, что как раз соответствует NODE_MODULE_VERSION 93
ALΣX
Пробовал. Не понимаю, у меня стоит node.js 16.20, что как раз соответствует NODE_MODULE_VERSION 93
Та по ходу как раз NODE_MODULE_VERSION 110 вам и нужна, попробуйте поставить или 18 чисто для эксперимента.
ALΣX
Какая версия Electron?
ALΣX
^22.0.2
хм, ну она для 16 ноды... странно тогда.
ALΣX
Да, ничего не поменялось. :( iohook меня с ума сведет
Попробуйте тогда поменять на 18 и проверить, решит проблему или нет.
ALΣX
Да, ничего не поменялось. :( iohook меня с ума сведет
Пробовали еще этот пакет? https://www.npmjs.com/package/@electron/rebuild
Rewrite
Как победить эту ошибку?
Это нативный модуль (написан на аддонах) который нужно прогонять через ребилдер
Alexander
Это нативный модуль (написан на аддонах) который нужно прогонять через ребилдер
Да, я понял, что это нативный модуль, понял что его надо билдить. Но ребилдир мне ничего не билдит и ничего не работает. Разбираюсь.
Alexander
Это нативный модуль (написан на аддонах) который нужно прогонять через ребилдер
В общем, все билдится, файлы с билдами создаются нужной версии под нужную архитектуру, но ошибка та же самая вылезает. 🥲
Rewrite
Раз 20 уже это делал. :(
возможно two-packaged.json structure нужен, не уверен
Rewrite
https://www.electron.build/tutorials/two-package-structure.html
Rewrite
если иохоок не получается завести, попробуйте uiohook-napi он точно заводится, сейсам сам его юзаю
ALΣX
Раз 20 уже это делал. :(
есть публичный репозиторий с проектом?
Alexander
есть публичный репозиторий с проектом?
У сожалению нет, закрытый проект дали доделывать
Alexander
Оно заработало, я пол дня искал замену iohook и не мог найти ничего вменяемого
Rewrite
да, я тоже когда искал такого либа виду нашел сначала кривой иохоок(
Rewrite
uiohook уже полгода работает без проблем
Алексей
там используется пакет universal-analytics
потому что "С 1 июля 2023 года стандартные ресурсы Universal Analytics прекращают обработку данных." Пакет из статьи не поддерживает 4 аналитику. последний релиз пакета - год назад. Ещё причины нужны?
Rav
Всем привет. Подскажите, пожалуйста, как можно сделать, чтобы окно приложения на экранах с разным разрешением отрисовывалось одинаково в одном месте. А то если ты задаешь координаты и на одном разрешении окно отображается нормально, в углук экрана например, то на другом оно будет вообще не в области видимости
Sergey
positionX = screenWidth - windowWidth - (10px)
Sergey
условно
Rav
Под каждое разрешение отдельно получается да? В процентах как-то нельзя отступ задать по x,y?
Sergey
positionX = screenWidth - windowWidth - (10px)
под абсолютно любое
Sergey
хочешь высчитать процент ну посчитай его
Sergey
screenWidth / 100 * (percent)
Rav
Понял, большое спасибо))
Andrey
Товарищи подскажите как сделать отверстать на 3840px. Адаптация в панели разработчика не работает. Как мне ресайзить? Если на сайте то просто уменьшается zoom
Andrey
1920
Rustam
на системном уровне масштаб сделай или на уровне видеокарты
Rustam
на уровне видеокарты - лучшая идея
Andrey
на уровне видеокарты - лучшая идея
А больше ни как? У меня только до 1920 мах
Rustam
А больше ни как? У меня только до 1920 мах
на уровне видеокарты у тебя есть в натройках upscale ? не системные настройки
Rustam
у радеонов есть возможность задать больше, не знаю как у нвидиа
Andrey
ладно, может кто ещё дельного скажет
Rustam
ладно, может кто ещё дельного скажет
можешь сделать див в диве и верхнему дать четкую ширину + overflow:auto, внутреннему задай 3840
Unknown
а как оно может не работать?
Andrey
а как оно может не работать?
Щелкаешь сюда, а по итогу тишина
Unknown
наверное, из-за того, что девтулзы в отдельном окне
Unknown
переведи их в сплит экрана и попробуй
Unknown
Andrey
О точно
Andrey
Спасибо всё заработало
Алексей
Всем привет. Подскажите или ткинет носом, есть следующая задача: приложение на electron запускает другое приложение, задача в момент запуска перекрыть заставки запускаемого приложения. Как сделать окно electron поверх я разобрался, но теперь вопрос в том, что после того как запускаемое приложение стартануло, нужно electron подвинуть назад. Но на сколько я понял метода moveBack аналога moveTop нет в классе BrowserWindow. Кто то реализовывал подобное? В какую сторону стоит ковырять?
Алексей
Я пробовал делать hide, но меня не устраивает что я могу вызвать show только в момент закрытия стороннего приложения и получается что секунду я вижу пустой рабочей стол, хотелось бы именно его подложить под стороннее
Алексей
Вообще впринципе странно, что метод moveTop реализован а moveBack отсутствует
Василий
Ребят, есть вопрос Я правильно понимаю, что на электроне можно сделать так, чтоб приложение работало и на Пк и на телефоне?
Michael
Не, для телефона вам нужна Кордова какая-нибудь :)
Michael
Но можно исхитриться и сделать так, чтобы страницы обращались к апи приложения-хоста и были одинаковыми и в электроне и на телефоне
Василий
А электрон разве не кроссплатформенный?
Michael
Кроссплатформенный для десктоп платформ
Василий
О, хорошо Спасибо