Андрей
скорее всего внутри самого скайпа да это подписка на активность в системе но если система свернута в трей ? а пользователь вне процесса скайпа, а например работает в Word ? Сам детект активности между Виндой и системой же как-то сделан. Возможно у скайпа и о винды как у систем от одного разработчика этот мостик сделан через какую-то шину, но реализация отслеживания активности на уровне ОС пока видится именно через отслеживание мыши/нажатия клавиатуры
Стас
Есть нативные модули под системы
Или писать руками самостоятельно на сях и системных api, с последующим портированием на ноду
Стас
Под макос точно видел такой модуль, готовый, под другие думаю тоже есть
Максим
Всем привет, кто нибудь знает как распаковывать и разархивировать архивы при нажатию на кнопке, в электрон приложении
Максим
А какой именно архив ? чем он изначально упакован ?
как мне сказали, скорее всего простой зип архив
Максим
А какой именно архив ? чем он изначально упакован ?
просто я делаю лаунчер, и там при нажатии играть. происходит распаковка всех файлов и установка всего нужного, просто уже 5 часов сижу не как сделать не могу
Андрей
а что это?
npm пакеты с поиском по ключевому слову zip Выбираешь любой npm пакет, устанавлишваешь через npm install, читаешь доку какие методы вызывать и все
Андрей
Ну или еще вариант) пишешь CHAT GPT спрашиваешь мол вот как это добро сделать, она варианты предлагает 😁
Максим
Ну или еще вариант) пишешь CHAT GPT спрашиваешь мол вот как это добро сделать, она варианты предлагает 😁
я спрашивал уже у всех у кого мог, а кстати я вспомнил, он мне предлагал эту библиотеку и оно в коде используется
Максим
но все ровно ничего не помогло
Стас
я спрашивал уже у всех у кого мог, а кстати я вспомнил, он мне предлагал эту библиотеку и оно в коде используется
Выбери любую библиотеку, которая нравится (лучше если оно хотя бы стабильно поддерживается разработчиком), установи в проект и используй, зип не новость, с ним много что работает, мануалы обычно к библиотеке прилагаются
Стас
но все ровно ничего не помогло
А консоль что говорит? Хотя бы ошибки покажи, не работает это нормально, а не пробовал - так себе
1788-L
всем привет! следующая проблема: запускаю скрипт своими ручками, все отрабатывает нормально. запускаю скрипт через электрон, вылезает ошибка 400. что делать? может есть какая-то настройка?
_dimon_chick_
всем привет! следующая проблема: запускаю скрипт своими ручками, все отрабатывает нормально. запускаю скрипт через электрон, вылезает ошибка 400. что делать? может есть какая-то настройка?
Я помочь не смогу, но хотя бы дам направление для размышлений, глянь функцию запуска, гугли проблему для своего сборщика, так же глянь есть ли у электрона права на запуск и все такое
1788-L
права на запуск? не, именно api отдают ошибку 400 (ошибка files must be specified, апи timeweb.cloud, вдруг кто-то шарит xd), хотя при обычном запуске скрипта ручками все окей
_dimon_chick_
права на запуск? не, именно api отдают ошибку 400 (ошибка files must be specified, апи timeweb.cloud, вдруг кто-то шарит xd), хотя при обычном запуске скрипта ручками все окей
Ошибка 400 (Bad Request) обычно возникает, когда сервер не может обработать запрос из-за неверного синтаксиса или отсутствующих параметров. В вашем случае ошибка "files must be specified" указывает на то, что при запуске приложения что-то неправильно передается в запросе к API Timeweb.cloud. Вот несколько шагов, которые могут помочь решить эту проблему: 1. Проверьте конфигурацию приложения: Убедитесь, что все необходимые параметры (такие как файлы, заголовки, токены и т.д.) правильно указаны в конфигурации вашего приложения. 2. Сравните запросы: Сравните запросы, которые отправляет ваше приложение, с теми, которые отправляются при ручном запуске скрипта. Возможно, в автоматическом запросе пропускается какой-то параметр или передается в неверном формате. 3. Логи: Проверьте логи вашего приложения и сервера, чтобы увидеть подробную информацию о запросах и ответах. Это может дать подсказки о том, что именно идет не так. 4. Проверка файлов: Убедитесь, что файлы действительно передаются в запросе. Возможно, в процессе автоматизации путь к файлам или сами файлы указаны неверно. 5. Использование библиотеки для запросов: Убедитесь, что библиотека, которую вы используете для отправки HTTP-запросов, правильно обрабатывает данные. Иногда настройки библиотеки могут отличаться от стандартного поведения командной строки. 6. Отладка: Попробуйте добавить отладочную информацию в ваш код, чтобы увидеть, какие данные реально отправляются в запросе. Вот пример проверки конфигурации запроса с использованием axios в Node.js: const axios = require('axios'); const fs = require('fs'); async function uploadFile() { try { const formData = new FormData(); formData.append('file', fs.createReadStream('/path/to/your/file')); const response = await axios.post('https://api.timeweb.cloud/endpoint', formData, { headers: { ...formData.getHeaders(), 'Authorization': 'Bearer YOUR_TOKEN' } }); console.log('Response:', response.data); } catch (error) { console.error('Error:', error.response ? error.response.data : error.message); } } uploadFile(); Если вы используете другой язык программирования или библиотеку, принцип остается тем же: убедитесь, что все необходимые данные передаются правильно и в нужном формате. Если проблема сохраняется, предоставьте больше информации о том, как именно вы запускаете приложение и какой код используется для отправки запроса. Это поможет дать более точные рекомендации. Чат гпт ответил
Алексей
Добрый день. Подскажите, пожалуйста, как быть. Електрон не распознаёт кириллицу вообще! Может нужно где-то что-то прописать дополнительно. Но пока я попробовал только такие варианты mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { defaultEncoding: 'utf-8', // Убедитесь, что это установлено на 'utf-8' preload: path.join(__dirname, 'preload.js'), }, }); import iconv from 'iconv-lite'; mainWindow.loadFile('index.html', { encoding: 'utf-8' }); Везде выдаёт вот это в console.log C:\Users\╨Р╨╗╨╡╨║╤Б╨╡╨╣\Desktop\app1\dist Операционка настроена на кириллицу. А мне обязательно нужно распознавание
Алексей
На стороне electron.ts Проект собирается webpack, с ним проблем нет, проверял Даже если я просто пишу в файле electron.js console.log(“привет”) — мне выдаёт околесицу
Стас
Стас
Можете показать?
Алексей
Да, могу, в личку?
Стас
Да, могу, в личку?
Как вам удобно
Alex
Всем привет! Как можно сделать так чтобы апка работала в background и каждые n минут она всплывал пока её не закроют и потом снова тоже самое?
Alex
Неа, она долдна открыватся и проигрывать анимацию
1788-L
товарищи правильно ли я понимаю, что у electron есть беда с методом post через axios? завел в preload.js axios.get и отработало без проблем, но вот axios.post отдает непонятную ошибку (при попытке вручную отправить никаких ошибок не получаю)
Alex
А не проще отправлять уведомления просто ?
Я просто не понимаю как сделать background и чтобы иконка была тюна таскбаре
_dimon_chick_
но ведь гет-запрос он отправляет без проблем
Может быть ты тело не указал ? Или в голове что-то напутал
1788-L
порылся и увидел, что в електроне есть какой-то icpRender, но весь код переписывать на него не могу
1788-L
проблема, думаю, в самом електроне
_dimon_chick_
Неа, она долдна открыватся и проигрывать анимацию
Просто окно с фоновым видео/картинкой ?
1788-L
проблема, думаю, в самом електроне
потому что не меняя код никаких ошибок я не получаю
_dimon_chick_
проблема, думаю, в самом електроне
Ты запросы отправляешь с рендера ? Или с main ?
1788-L
я запросы отправляю в preload.js
_dimon_chick_
а
_dimon_chick_
Ты их делаешь до открытия приложения типо ?
1788-L
логика следующая: когда в html нажимают на кнопку, то срабатывает скрипт, который получает изображения, потом их обрабатывает и затем отсылает
1788-L
может быть я где-то что-то неправильно настроил, уже дня два не могу понять, почему вылезает ошибка
_dimon_chick_
Но у тебя в preloader только настройки моста между main и render, логика отправки должна быть в main, нет ?
1788-L
не понял
_dimon_chick_
import { contextBridge } from 'electron' if (!process.contextIsolated) { throw new Error('contextIsolated must be enabled in the BrowserWindow') } try { contextBridge.exposeInMainWorld('context', { // todo }) } catch (error) { console.error(error) }
_dimon_chick_
Вот весь базовый файл preloader
1788-L
у меня в preload.js вся логика написана и после нее стоит contextBridge.exposeInMainWorld('electron', { editImg: script, });
1788-L
а в html <!DOCTYPE html> <html> <head> <title>Пример кнопки "Начать"</title> </head> <body> <button id="startButton">Начать</button> <script> const startButton = document.getElementById('startButton'); startButton.addEventListener('click', () => { window.electron.editImg(); }); </script> </body> </html> </code></pre>
_dimon_chick_
Давай так, правильно ли я понял что у тебя в /preload написана вся логика для файлов в /render ?
1788-L
можем в лс, чтобы тут не сорить?
Shieldy
@whdfaod, пожалуйста, отправьте цифры с картинки в этот чат в течение указанного времени, иначе вы будете кикнуты. Спасибо! (60 сек) При поддержке 1inch Network
Anonymous
631557
Андрей
Всем добрый день(вечер) Подскажите, кто-нибудь использовал собственные dll'ки написанные на шарпе в main процессе ? Пытаюсь сейчас загрузить используя electron-edge-js но что-то как-то не ясно, сыпит ошибку
Иван
Ребят, привет Использую такой сборщик https://github.com/alex8088/quick-start/tree/master/packages/create-electron/playground/react, решил добавить несколько файлов в папку main с моим бэкэндом, где лежит index.js с настройками Electron, но проблема в том, что используя require в index.js, он их не видит и выдаёт ошибку can not find Module, лечится?
No
там настройки вайта надо смотреть
No
тут кто-то вроде выше писал про похожу проблему
Иван
а импорт что мешает использовать?
да, сори, import уже использовал, но всё равно выдавало ошибку, в итоге я лох и забыл про export default
Иван
кстати, не знаете почему в обычном npm start/run dev работают роуты да и впринципе блоки из сторонних .jsx файлов, а в билде их и подавно нет
Иван
Иван
UPD: вопрос решился, это было связано с относительными путями в роутах, то есть в npm run dev/start было что-то по типу "/home" "/modpacks", а в exe файле "/D:/home", "/D:/modpacks", я просто заменил import { BrowserRouter as Router, Route, Routes, useLocation } from "react-router-dom"; на import { HashRouter as Router, Route, Routes, useLocation } from "react-router-dom";
Андрей
Vadim
Привет! Пытаюсь настроить electron-release-server, выложил все ассеты, прописал путь ${server}/update/${process.platform}/${app.getVersion()} как в доке, но получаю ошибку в autoUpdater.on('error')... Уже все идеи закончились, в чем может быть проблема?
Vadim
Андрей
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается main js в этом main js я подключаю собственную dll для вызова C# класса. Поэтому dll просто кладу рядом и оно все работает корректно Само собой когда все дело билдится (electron-builder) то выходная папка dist не содержит нужные мне dll Встает вопрос как это сделать правильно? Вот пример electron-build.config { "appId": "com.electron.app", "directories": { "output": "dist" }, "nsis": { "oneClick": false, "perMachine": false, "allowToChangeInstallationDirectory": true, "shortcutName": "Name App" }, "win": { "target": "nsis", "icon": "renderer/android-chrome-512x512.png" }, "linux": { "target": ["snap"] }, "files": [ { "from": "build/main", "to": "main", "filter": ["**/*"] }, { "from": "build/renderer", "to": "renderer", "filter": ["**/*"] }, { "from": "src/main/static", "to": "static", "filter": ["**/*"] }, { "from": "node_modules", "to": "node_modules", "filter": [ "**/*", "!**/{CHANGELOG.md,README.md,README,readme.md,readme}", "!**/{test,__tests__,tests,powered-test,example,examples}", "!**/*.d.ts", "!**/.bin" ] }, "!**/*", "package.json" ] }
Roman
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается main js в этом main js я подключаю собственную dll для вызова C# класса. Поэтому dll просто кладу рядом и оно все работает корректно Само собой когда все дело билдится (electron-builder) то выходная папка dist не содержит нужные мне dll Встает вопрос как это сделать правильно? Вот пример electron-build.config { "appId": "com.electron.app", "directories": { "output": "dist" }, "nsis": { "oneClick": false, "perMachine": false, "allowToChangeInstallationDirectory": true, "shortcutName": "Name App" }, "win": { "target": "nsis", "icon": "renderer/android-chrome-512x512.png" }, "linux": { "target": ["snap"] }, "files": [ { "from": "build/main", "to": "main", "filter": ["**/*"] }, { "from": "build/renderer", "to": "renderer", "filter": ["**/*"] }, { "from": "src/main/static", "to": "static", "filter": ["**/*"] }, { "from": "node_modules", "to": "node_modules", "filter": [ "**/*", "!**/{CHANGELOG.md,README.md,README,readme.md,readme}", "!**/{test,__tests__,tests,powered-test,example,examples}", "!**/*.d.ts", "!**/.bin" ] }, "!**/*", "package.json" ] }
А electronize не подходит? Или он помер?
Roman
это who ? 😅
https://github.com/ElectronNET/Electron.NET там оно умеет упаковывать как-то по-своему, так чтобы все работало.
Roman
Хотя я его чисто в ознакомительных целях тыкал, года 2 назад ещё 🤔