TL;DR;
Отметиться здесь, и написать "Same problem".
История такова:
Выбрали grpc для общения между сервисами, и чтобы не писать отдельный транспорт для браузерной аппликации, решили проксировать grpc в браузер через grpc-web.
Ну и вообще, всё микросервисное получается, поэтому решили использовать https://istio.io для парадигмы servise-mesh в кубере. Там можно не особо заморачиваться с метриками, canary updates, аутенфикационнные вопросы, и вообще много бонусов без изменения кода самих сервисов. Вобщем красиво.
Кроме всего прочего, istio, даёт из коробки проксирование grpc в grpc-web. Для этого (и всего остального), они используют envoy-proxy, который отдельный проект.
Баг с grpc-web в сафари — это баг envoy-proxy, и он починен, но остался в istio.
Проблема, что istio не даёт выбрать версию envoy-proxy, т.к., насколько я полазил по коду, они собирают envoy-proxy сами, и это неотъемлемая часть их билда.
Понятно, что когда-то они синхронизируются, но хотелось бы знать когда именно.
Поэтому, если можете, конечно, чирканите коммент "same issue", пожалуйста...
Здравствуйте, Doom100500, Вы писали:
D>Баг с grpc-web в сафари — это баг envoy-proxy, и он починен, но остался в istio.
Если баг починен, то перенесите фикс в их форк и сделайте PR. Они его с радостью примут. Опенсорс работает именно так, а флешмобы с враньем это из другой оперы.
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Doom100500, Вы писали:
D>>Баг с grpc-web в сафари — это баг envoy-proxy, и он починен, но остался в istio.
W>Если баг починен, то перенесите фикс в их форк и сделайте PR. Они его с радостью примут. Опенсорс работает именно так, а флешмобы с враньем это из другой оперы.
Ну, скажем, что я и не предполаагл, что в коротком описании проблемы прочувствуэтся вся боль прохождения по коду различных проектов, понимания когда баг был внесён, и когда был починен, что в istio нет прямой возможности узнать версии используемых компонентов, и в конце коноцов, также понимания того, что со сторорны istio — девелоперская работа по фиксу около нуля (не исключено, правда, что это повлечёт за собой много работы тестировщиков).
А также по поводу envoy — нет никаких упоминаний в roadmap, когда планируется обновляться. Плюс, image, используемый для envoy proxy, я не нашёл на docker-hub, вернее, нашёл, но не насшёл там таг, который загрузился в кластер.
Возьмём, также то, что в большом проекте с 1000 открытых issues, когда видят что-то вроде Safari, да еще и grpc-web, скорее, всего на это закрывают глаза.
Мне хотелось им сказать — ребята, около года назад вы взяли версию с багом, вот вам фикс, обновитесь.
Ну, и показалось, что, принимая во внимание вот это вот всё, что небольшой флешмоб мог бы приподнять интерес к проблеме, которая решена уже.
Ну, и, ПС.
Дело сдвинулось, маинтенер вступил в диалог (понадобился всего один коммент)
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Doom100500, Вы писали:
W>Или просто немного подождать. Сам говоришь, проект большой.
Ээээ. Ниже есть ответы на вопрос на сообщение до редактирования, но включает также и на актуальное...
Фикс описан в issue.
Баг вообще в другом проекте, с которым они интергрируются время от времени.
Насколько я понял последняя интеграция была около года назад.
В milestones я не нашёл информации о планируемой следующей интеграции.
То, что не работает только Safari, нам также на данный момент не критично. Но критично было знать когда это будет внутри и быть on-track.
W>Или просто немного подождать.
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Doom100500, Вы писали:
W>Я имел в виду, что их реакция на ваш issue через три дня вполне могла быть вызвана не дополнительными сообщениями, а просто "дошли руки".
За выходные зашло не так уж и много багов.
То, что зашло после меня, и имело несколько коментартиев, начали как-то обсуждаться.
Скорее весго есть алертница, которая шлёт сообщения куда надо, и, скорее всего, смотрят на то, что в алертах фигурирует чаще (я бы так и сделал, если проект деиствительно большой).
У Ишью были все шансы остаться незамеченным долгое время, и тогда, взяв во внимание всё, что было раньше (отсутсвие внятной информации о версиях компонентов, и отсутсвие внятной информации о планах на апдейт этих компонентов) оставалось несколько вариантов:
— доунграидится до версии, когда всё работало, причём последовательно, не пропуская даже минорные версии (И огрести несовместимость некоторых АПИ)
— форкать всё нахрен, и допиливать самому (это не понравилось, т.к. апдеититься они всё равно будут, но неясно когда, и на какую версию), потом сравнивать, пробовать, и когда всё заработает, грохать форк
— напомнить о себе в алертнице (но лучше уже не от своего имени) , чтобы узнать всё то, что было неясно, а именно — в какой весии будет апдейт нужного мне компонента, и на какую версию.
Я остановился на третьем варианте.
Не такой уж и серьёзный грех, я думаю.