Yura
Всем ку
Yura
Ребят, столкнулся с проблемой! После сборки приложение mas, в приложение перестал подниматься локальный сервер
Yura
подскажите че делать? кто сталкивался с таким ?
Anonymous
реветь
Yura
реветь
есть другой путь?)
Vadim
реветь
Не смешно. Админа пингануть или что?
Yura
я пробовал гуглить но что то ничего не помогло
Yura
Error: listen EPERM 0.0.0.0:13789 at Server.setupListenHandle [as _listen2] (net.js:1269) at listenInCluster (net.js:1334) at Server.listen (net.js:1421)
Vadim
Error: listen EPERM 0.0.0.0:13789 at Server.setupListenHandle [as _listen2] (net.js:1269) at listenInCluster (net.js:1334) at Server.listen (net.js:1421)
Нет прав на открытие сервера на этом порту, попробуй другой порт
Yura
пробовал добавлять в plist
Yura
попробую
Yura
Нет прав на открытие сервера на этом порту, попробуй другой порт
а добавить права как то можно ? у меня просто в сборке dmg все работает
Мира
Салют, кто может кинуть пример рабочего кастомного протокола? А то никак в доке вчитаться не могу в них
Vadim
Просто в 99% случаев это антипаттерн
Мира
Привет. https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L35
А что тут он конкретно выполняет? Я хочу разобраться, как с их помощью передать данные из браузера в приложение Как например делает Zoom или Discord
Oleh
Привет. https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L35
https://www.electronjs.org/docs/api/protocol Вот новое АПИ насколько я понимаю
Мира
Да да, я читал эту страницу И пишу, что понять чет оч сложно, хотелось бы увидеть пример или детальные прояснения
Yura
Кст, а зачем тебе сервер в приложении?)
для того что бы запустить билд агулара с userData, у меня там лежит локальный ангулар
Vadim
Зачем запускать сборку в real-time?
Oleh
А что тут он конкретно выполняет? Я хочу разобраться, как с их помощью передать данные из браузера в приложение Как например делает Zoom или Discord
https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L15 Открывает новое окно, если ссылка вида chatgrape://domain.com/call
Vadim
он собраный
А зачем сервак?
Yura
Зачем запускать сборку в real-time?
запускается через localhost
Vadim
loadFile
Yura
А зачем сервак?
потому что собирается ангулар чаще чем приложение
Oleh
потому что собирается ангулар чаще чем приложение
Типо что бы перебилдить приложение на ангуляре внутри самого электрона?
Oleh
Почему тогда просто не деплоить куда в веб
Vadim
if (!isDev) { mainWindow.loadURL(file://${appPath}/build-render/index.html) } else { mainWindow.loadURL('http://localhost:3000')
Yura
Почему тогда просто не деплоить куда в веб
потому что с локалки скрипты работаю быстрее, это нужно для тех у кого с инетом проблемы
Vadim
if (!isDev) { mainWindow.loadURL(file://${appPath}/build-render/index.html) } else { mainWindow.loadURL('http://localhost:3000')
Вот что-то такое принято делать, если собрано то загружать папку, если в дев моде, то грузить с лайвсервера
Oleh
Бля, на сколько? на 200мс-400мс быстрее? Все равно если данных нет, ничего не загрузится А если инета нет, можно локально захендлить интернета нет, попробовать перезагрузить
Мира
https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L15 Открывает новое окно, если ссылка вида chatgrape://domain.com/call
окей, то есть при попадании этого протокола в адресную строку, в електроне откроется новое окно, верно?
Muhammad
сталкивались с таким? переустановка не помогает
Muhammad
при том что пару дней назад рабтало, вроде не трогал
Oleh
Бля, на сколько? на 200мс-400мс быстрее? Все равно если данных нет, ничего не загрузится А если инета нет, можно локально захендлить интернета нет, попробовать перезагрузить
Наверное это будет правильным решением в случае, если сделан оффлайн мод в приложении на ангуляре, и данные хранятся где-то локально (я не знаю насколько это безопастно) и тогда ты их будешь оттуда тянуть как-то и что бы у тебя была возможность поднять приложение даже в офлайне
Oleh
удали node_modules/ и установи заново
Я так понял, что это пробовали уже. У меня не было такого
Мира
Да
А как, к примеру, передать в електрон какие бы то не было данные? Какое окружение у кода, что выполняет протокол? Я хочу что бы данные аутентификации с сайта послались в приложение електрона
Oleh
В ссылке, потом считывай его
Мира
Эт понятно. Как считывать?
Oleh
new URL
Oleh
https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L37
Oleh
У тебя же есть адрес в параметрах
Vadim
superappprotocol://example.com?my-token=dwadawdwa
Вот я подобное расписывал,@fertern
Muhammad
удали node_modules/ и установи заново
написал что уже пробовал и не помогает
Oleh
https://www.electronjs.org/docs/api/app#event-open-url-macos Вот так его слушать
Muhammad
Кэш сбрось
как це делается?)
Oleh
написал что уже пробовал и не помогает
https://github.com/electron/electron/issues/20731#issuecomment-546616376 пробовал?
Мира
Вот я подобное расписывал,@fertern
ну, мне ты это и разьяснял) В итоге испугался синтаксиса и написал на сокетах Но в итоге понял что сокеты не оч надежны, и вернулся к протоколам У них оч разный синтаксис, я уже третий вариант их написания вижу
Мира
Я через квери параметры уже передаю номер сессии, так что принцип работы мне понятен Осталось только понять, как это структурировано написать
Мира
Там вроде другой юзер) Да, есть несколько вариантов, я использую старый, он не лч удобный но решает свои задачи. Ссылку выше кидал
Ну вот как я написал странное решение на сокетах . Нужно придумать аналог на протоколе. В итоге, протокол нужно писать в самом електроне, а в открытом окне - только перекидывать человека на адрес с данными токена?
Muhammad
короче насколько я понял ошибка отсюда лезет
Muhammad
Muhammad
Мира
а вот наверно зверь, которого я искал парсить данные с квери параметров я могу с request.url , верно?
Мира
https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L37
Где в проекте протоколы стоят? Вижу что они в отдельном файле как и положено, но где они потом вклиниваются в код?
Oleh
Ну протокол он один - https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L10 есть экшены у меня он один - https://github.com/ubergrape/grape-electron/blob/new/src/app/protocolHandler.js#L13
Мира
Все, всем спасибо. Если все правильно понял, сейчас попробую написать свою вариацию
Мира
Этого я понять не могу. Разумно будет указать просто домен самого сайта для авторизации, разницы же нет?
Muhammad
помог npm update
Muhammad
не знаю как это связано
Vadim
Я говорю, хз, использовал старое апи