Pull to refresh
4
0
Сковорода Никита Андреевич @ChALkeRx

re-evaluating native module sources is not suppor…

Send message

Знаете, если утечёт приватная часть сертификата какой-нибудь комоды, которой можно будет подписать что угодно и которую по каким-то причинам решат не отзывать — это будет проблема комоды лично или TLS в целом? Это невероятный сценарий (особенно часть «решат не отзывать»), но здесь мы наблюдаем именно это.


Насколько я понимаю, все или подавляющее большинство устройств доверяют уязвимому bootmrgw.efi. bootmrgw.efi доверяет чему угодно. Ни один из компонентов этой цепочки в ближайшем будущем не починят, если верить авторам.


Это проблема системы как таковой.

Во-первых, 1.3 там нет. Викли и превью тоже выходят исключительно блобами.
Во-вторых, судя по другим источникам — там не всё, а куски. Извините меня, если я ошибаюсь. Сейчас качаю, чтобы проверить.
В-третьих — по-хорошему нужен репозиторий, иначе не видно чейнджсетов и нельзя слать патчи нормально.

Ну, например посмотреть, что в этом браузере делает google analytics. Можно и так, конечно, но неудобно.
Плюс быть уверенным, что блоб получен именно из публичных исходников, а не как обычно с волшебными закладками.
Плюс мне может быть интересно, что они используют и как именно они что-то делают — я мог бы взять и посмотреть код интересующего компонента без дополнительных проблем.


Учтите — не обязательно каждому пользователю смотреть на 5% кода. Достаточно небольшому проценту пользователей посмотреть каждому маленький кусочек кода, чтобы в целом значительно улучшить ситуацию и свести к минимуму вероятность наличия там откровенной фигни (это не касается серьёзных закладок, конечно — от них нужен тщательный ревью, который, кстати, тоже гораздо удобнее делать с открытыми проектами).


И да, я периодически присылаю патчи в то, чем пользуюсь. Для этого необязательно читать все исходники — достаточно иметь возможность найти конкретное место, которое меня не устраивает. А тут не только публичного репозитория с пулл реквестами, тут вообще исходников, кажется, нет.


А вообще — см. https://www.gnu.org/philosophy/free-sw.html

Кстати, а что в вашем браузере делает google-analytics? Я ничего плохого не имею ввиду пока, просто спрашиваю — например, есть валидные юзкейсы: скэшировать опередённые частоиспользуемые файлы чтобы не грузить их. Либо мог прилететь с зависимостями, а вы не заметили. Либо вообще не используется. Либо при первом старте есть большая кнопка «согласен отправлять аналитику» (по аналогии с фф). Либо мне вообще показалось.


Я не ставил, я не знаю, поэтому спросил.

Не упускайте шанс передать разработчикам свои самые сокровенные мечты.

Эх. Меня вот от попыток использования вашего браузера останавливает отсутствие иcходников, например.


Да и пакеты под мой дистрибутив вы официально не собираете, кстати.

В скотио с выхода версии 1.0 произошло разделение на модули, при желании можно не тащить транспорты для фалбеков и использовать только вебсокеты.

Большой Список Обязательных Зависимостей
accepts@1.1.4
after@0.8.1
arraybuffer.slice@0.0.6
backo2@1.0.2
base64-arraybuffer@0.1.2
base64id@0.1.0
benchmark@1.0.0
better-assert@1.0.2
blob@0.0.4
callsite@1.0.0
component-bind@1.0.0
component-emitter@1.1.2
component-emitter@1.2.0
component-inherit@0.0.3
debug@0.7.4
debug@2.2.0
engine.io-client@1.6.11
engine.io-parser@1.2.4
engine.io@1.6.11
has-binary@0.1.6
has-binary@0.1.7
has-cors@1.1.0
indexof@0.0.1
isarray@0.0.1
json3@3.2.6
json3@3.3.2
mime-db@1.12.0
mime-types@2.0.14
ms@0.7.1
negotiator@0.4.9
object-component@0.0.3
options@0.0.6
parsejson@0.0.1
parseqs@0.0.2
parseuri@0.0.4
socket.io-adapter@0.4.0
socket.io-client@1.4.8
socket.io-parser@2.2.2
socket.io-parser@2.2.6
socket.io@1.4.8
to-array@0.1.4
ultron@1.0.2
utf8@2.1.0
ws@1.0.1
ws@1.1.0
xmlhttprequest-ssl@1.5.1
yeast@0.1.2

Это всё обязательно поставится при установке socket.io текущей версии. Включая две версии ws. Часть из этого любит ломаться при обновлении, потому что привязано к нативным модулям. Причём они это чинят далеко не сразу, и это даже почему-то иногда в issues Node.js приносят:



Часть из этого — из-за старого ws, который они долго обновляли по своей цепочке зависимостей — посмотрите время между фиксом руками и реальным исправлением тикета.


Плюс оно в каки-то версиях при установке тянуло блобы (и в один чудесный момент установка сломалась так как сервер ой), не знаю, как сейчас:



Кроме этого, у сокетио есть некоторые проблемы, которые сказываются в т.ч. на других проектах (например, karma — https://github.com/karma-runner/karma/issues/1788).


А используют сокетио, главным образом, из-за реализованных механизмов комнат, нэмспесов, решенных вопросов с масштабированностью и тому подобному.

Первые два — тривиальны и нет смысл ради этого тащить кило чёртовщины, а про масштабированность можно поподробнее? Что он делает, что невозможно на вебсокетах? Хотелось бы узнать, так как внутри он использует именно вебсокеты.

Особенности перевода. Она не «неустранимая», а «неустранимая без поломки большого количества существующих сейчас загрузочных медиа (дисков/флэшек/рекавери)».

О, спасибо, что разместили тут эту новость.


И да, это просто прелестно.

4.3 это не все андроиды. Это штатный андроид браузер версии 4.3. У всех версий штатного андроид браузера целиком — 9% в русскоязычном сегменте, всё остальное — хром. Причём надо ещё смотреть, какая часть из этого — 4.3, ими вообще скорее как звонилками пользуются.

Мне не лень, я хочу, чтобы вы своими глазами посмотрели и убедились, что там только ие9 из десктопных. Который уже не поддерживается MS, если у вас не Vista. Плюс очень старые мобильные времён iOS 5.

И это не говоря о том что socket.io одна из самых популярных библиотек по работе с WebSocket, даже если понижения канала не происходит.

Ага. глючная и постоянно отваливающаяся при обновлениях.


по работе с WebSocket

Неа. Внутри она всё равно ws использует, по работе с вебсокетами самый популярный — ws. А сокетио предоставляет фаллбэк, который не особо-то и нужен в большинстве случаев, плюс за некоторую цену.


Специфика проекта предполагает возможность работы на устаревших браузерах,

Хорошо, с этим соглашусь, если у вас действительно такие требования — есть смысл. Но ие9 совсем-совсем умер, вообще-то.

Он его и использует

Я в курсе. Но socket.io, кроме этого, тянет ещё килограмм зависимостей и строит фаллбэки для поддержки того, что давно умерло.


к примеру браузер не умеет WebSocket

Пример браузера приведите, пожалуйста.


Как раз суть в том, что для этого тянуть большой и страшный сокетио уже не надо — всё работает и так, и более стабильно.

А для каких конкретно браузеров сейчас есть необходимость в socket.io? Чем плох стандартный WebSocket?

Только что проверил на VPS с Debian Jessie и тот же самый архив с офсайта — stack-overflow2.js сегфолтится так же, тест выше не падает, но там рейс может вполне от мощности машины зависеть в том числе. Возможно, если покрутить числа — тоже упадёт, но я сейчас этим заниматься не буду.


Успехов в поиске бага, серьёзно =).

Linux yoga 4.6.3-1-ARCH #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016 x86_64 GNU/Linux


Node.js — 6.3.1 с офсайта (архив) и 6.3.1 из пакетов арча — поведение одинаковое.


И да, я пробовал пересобирать fibers — не помогло.

Наличие или отсутствие a.map(x => x.get()) и b.map(x => x.get()) ни на что не влияет.

По поводу примера на основе вашего кода — с REQUESTS = 3000 валится в 90% случаев уже.
Упрощённый код:


const Future = require('fibers/future');

function test() {
  const future = new Future;
  setImmediate(() => future.return());
  future.wait();
}

function app() {
  const arr = new Array(3000).fill(0);
  const a = arr.map(() => Future.task(test));
  Future.wait(a);
  const b = arr.map(() => Future.task(test));
  Future.wait(b);
}

Future.task(app).resolve(error => {
  if (error) console.error(error);
});

Знаете, решил на его тесты посмотреть.


https://github.com/laverdet/node-fibers/blob/master/test/stack-overflow2.js вообще стабильно (100%) сегфолтится.


Может, ну его?

Кстати, есть док-станции, которые умеют и DP over USB-C и DisplayLink.


Почему такое не вкрутили в этот девайс — вопрос. Или вкрутили?

Под хостом вы имеете ввиду сторону, выдающую сигнал или принимающую сигнал?


Если второе — то вот и пора выпускать, девайс из статьи как раз то что нужно.


Если первое — то на всех новых ноутах видеовыход это DP over USB-C.
На телефонах — не знаю, но кроме USB-C (и беспроводного) на них ничего нет, так что особо без вариантов. Если и не поддержживают DP ещё, то скоро будут.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity