Size: a a a

Эликсир и Вунш

2019 February 13

RK

Roman Kolesnev in Эликсир и Вунш
Да мы же уже с благодарностью) Надо же и позитивный фидбэк давать
источник

PZ

Pavel Zachesa in Эликсир и Вунш
В общем всем спасибо.
источник
2019 February 14

PZ

Pavel Zachesa in Эликсир и Вунш
Дубль два.

Ошибка при входе на сайт, в ней видно, что отдаёт функция  Guardian.Phoenix.Socket.authenticate , судя по примеру взятому с другими версиями библиотек, нам нужно получить ["sub"], то есть элемент массива по данному ключу. Что нужно добавить, чтоб функция  {:ok, assign(socket, :current_user, auth)}  получила данное значение?

http://caix.ru/kanaly-feniks/ (вместо пастебин)
https://github.com/PavelZX/imcon
источник

FM

Fey Martynov in Эликсир и Вунш
чёт не вижу связи между кодом и ошибкой. ошибка ругается на попытку сделать socket["sub"], но в коде, на который указывает стек ничего такого нет: https://github.com/PavelZX/imcon/blob/master/lib/imcon_web/channels/user_channel.ex
источник

FM

Fey Martynov in Эликсир и Вунш
и ещё я не понял, зачем ты приводишь пример с другими версиями библиотек. смотрю в миксфайл, а там вообще гардиан не подключен: https://github.com/PavelZX/imcon/blob/master/mix.exs#L34
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Файлы на сервере и в Гитхабе не синронизированы. То, что привёл в ссылке это результат последней правки. Не до конца разобрался, как пользоваться Git.
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
git add . -A
git commit -m “new_commit 1.last”
git push
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Заменил пока вручную mix.exs
Дело в том, что сервер на VDS на CentOS, а git сделал с каталога на рабочем компьютере с W10, а в 10-ке после 7-ки всё немного иначе, к чему я ещё не привык. С сервера не стал клонировать, поостерёгся пока не понимаю, как с ним работать.
источник

FM

Fey Martynov in Эликсир и Вунш
а у UserChannel`-то какой код на самом деле? Эксепшн указывает на 6 строку, но там пусто.
(imcon) lib/imcon_web/channels/user_channel.ex:6: ImconWeb.UserChannel.join/3
источник

Я

Ярослав in Эликсир и Вунш
Новый митап 6 марта в 19:19 (офис Mail.Ru Group). Подробности и обязательная регистрация по ссылке http://elixir-lang.moscow/events/9
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Я туда вот это поставил IO.inspect(current_user["sub"])
эксперемнтеривал...
источник

FM

Fey Martynov in Эликсир и Вунш
ошибка говорит, что в current_user на самом деле лежит %Phoenix.Socket{}
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Да, конечно так и будет после current_user = socket.assigns.current_user

Мне вчера подсказали как узнать, что в атом закидывается с помощью IO.inspect(current_user) потом я поменял на IO.inspect(current_user["sub"]) в качестве эксперимента и забыл вернуть.

Сейчас ошибки нет, но и канал не включается, из-за того, что приходит не то.
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Переправил свой пастебин http://caix.ru/kanaly-feniks/
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Понимаю, что надо поменять логику в ImconWeb.UserSocket чтоб не переделывать логику по всем каналам, прошу помощи, как это сделать правильно. После погружения в JavaScript трудно, с непривычки, переключится на Elixir.
источник

PZ

Pavel Zachesa in Эликсир и Вунш
Опять потерял, где описываются управляющие конструкции типа ...>    ->  |>  давали ссылку на статью сайта как-то.
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Это вообще разные все вещи
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
И ни одна из них - не управляющая конструкция
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
…> такого вообще нету
источник

FM

Fey Martynov in Эликсир и Вунш
https://hexdocs.pm/guardian/Guardian.Phoenix.Socket.html#authenticate/5 – эта функция возвращает {:ok, Phoenix.Socket.t()}, а у тебя в UserSocket такое:

case Guardian.Phoenix.Socket.authenticate(socket, ImconWeb.Guardian, token) do
     {:ok, user} ->
       {:ok, assign(socket, :current_user, user)}


Кроме того в описании функции написано, что она уже сохраняет юзера в сокет (`store the resource, claims and token on the socket`) => не нужно самому делать assign
источник