Size: a a a

2021 May 21

EV

Eugene Vasiliev in pro.elixir
а че не через сессию?
источник

EV

Eugene Vasiliev in pro.elixir
ну, если я всё правильно понял и тебе надо передать че-то из @conn в @socket
источник

DA

Denis Afonin in pro.elixir
см. выше)
источник

EV

Eugene Vasiliev in pro.elixir
ой, а можешь переслать, где именно? а то я жеш не найду
источник

AN

Alexey Novoselov in pro.elixir
Вот же как это для LV делается: https://hexdocs.pm/phoenix_live_view/security-model.html
источник

AN

Alexey Novoselov in pro.elixir
делаешь хелпер и при каждом маунте его вызываешь. В маунте есть и сессия и сокет
источник

DA

Denis Afonin in pro.elixir
ну я имел в виду эти заморочки с гвоздями, в т.ч. params['_csrf_token']. Нет, оно работает, но слишком сложно как-то, да и передавать уже секурный токен через секурные кукесы как-то некрасиво.
источник

DA

Denis Afonin in pro.elixir
угу, это надстройка над Plug.Session. Если нужен более низкоуровнывый контроль, всё в итоге в них упирается.
источник

EV

Eugene Vasiliev in pro.elixir
я правильно понял, что у тебя есть токен, который из браузера попадает на сервер с http запросом и ты просто хочешь что бы к нему был доступ в LV?
источник

DA

Denis Afonin in pro.elixir
мне не то чтобы надо, просто стало интересно узнать, что можно в принципе сделать, а что нельзя, вот и провёл, хмм, исследования. Как результат: из Plug.Conn в Phoenix.Socket попадают лишь uri распарсеный с параметрами, минимальная информация о вызывающей стороне и вот этот костылеобразный доступ к сессиям без возможности их изменения.
источник

DA

Denis Afonin in pro.elixir
там LV вообще нет, там websocket используется как типа-realtime канал к шине с событиями
источник

DA

Denis Afonin in pro.elixir
и хотелось сделать всю низкоуровневую логику, связанную с авторизацией, в виде одного plug-а, чтоб оно одинаково работало и для http-запросов, и для websocket-ов. Что ж, не вышло.
источник

EV

Eugene Vasiliev in pro.elixir
а, я понель
источник

DA

Denis Afonin in pro.elixir
я долго пытался найти способ передать из plug-а хоть что-то в websocket, пока наконец не додумался добавить отладочный вывод в этот plug и сразу увидел, что оно просто не вызывается, вообще. Хотя это не отменяет жётские фильтры между уровнями в коде (фактически, передать что-то можно разве что через headers)
источник

AB

Alex Bubnov in pro.elixir
увы, господа core team решили, что вебсокеты нинужны, всем хватит каналов
рельсовики, что с них взять
источник

o

ox0df in pro.elixir
я кодю на brainfuck-e
источник

DA

Denis Afonin in pro.elixir
на каждую умную опу найдётся свой хитрый винт. Хотя вот модель каналов и комнат там, я думаю, хороша.
источник

B

Bogdan in pro.elixir
ERROR 54000 (program_limit_exceeded) index row size 3744 exceeds btree version 4 maximum 2704 
Это sequence сломалась или что в постгре?
источник

B

Bogdan in pro.elixir
hint: Values larger than 1/3 of a buffer page cannot be indexed.
Consider a function index of an MD5 hash of the value, or use full text indexing.
источник

B

Bogdan in pro.elixir
а понял… у меня слишком большой текст для unique index…
источник