Как стать автором
Обновить

Комментарии 133

Ровно год назад, здесь, на хабре, я задавал вопрос, когда же будет полноэкранный флеш в линуксе. Он, как мне ответили, был уже в работе.
Не буду нарушать такую замечательную традицию и задам тот же вопрос. Ну и как там полноэкранный флеш в линуксе?

А что с ним не так? Только позавчера тестировал какую-то флэш-игрушку, которая работает в полноэкранном режиме.

Установлен vivaldi-stable последней доступной версии 1.13.1008.44-1. Полноэкранный флеш открывается в отдельном окне.

И в чём проблема?

Отправил вам скриншот в личку.

Спасибо, ответил там.

Вот и поговорили. А остальным не интересно что там?

Баг-репорт есть, в работе.

Я, наверное, задам глупый вопрос. Вы используете кодовую базу Chromium, причем каждый раз сливаете изменения из новых версий в свой браузер. При этом у вас с ними постепенно накапливаются различия: вы добавляете новые функции, из Chromium иногда удаляется функционал, который вы продолжаете поддерживать. То есть накапливаются очень существенные отличия в кодовых базах. Кроме того сам код Chromium очень большой, что также должно затруднять слияния. В общем, как вы с этим всем справляетесь? Не случится ли когда-то такая ситуация, что отличий будет столько, что слить изменения воедино станет практически невозможно?

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


Со временем, когда наберём необходимое число пользователей, приступим к разработке собственного ядра. Будет полегче.

Если не секрет, то свое ядро будет форком Blink'а или полностью своя разработка?

Поживём — увидим. Лучше, конечно, делать полностью своё.

Не знаю. Конкурировать с таким монстром как Гугл — не такая простая задача. Как нынче иногда посмеиваются в сторону Сафари, идущего подобной дорогой, называя его "современным ие", также и с вами может возникнуть подобная проблема.


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

Это с каждым годом делать всё сложнее.

НЛО прилетело и опубликовало эту надпись здесь
сделайте вывод видосиков поверх всех окон и будет топ!

Отправьте запрос через баг-репорт.

Я отправил несколько дней назад запрос на эту функцию (номер VB-36896), мне пришло на почту уведомление, но к сожалению нет никакой дальнейшей возможности отследить его состояние (или может быть я её не нашёл). Отсутствие обратной связи не очень удобно и несколько снижает мотивацию её отправлять — ощущение, будто говоришь в пустоту.
Я отправил несколько дней назад запрос на эту функцию (номер VB-36896)

Всё нормально. Ваш запрос добавлен к остальным. Чем больше запросов — тем больше приоритет на реализацию.


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

У нас нет возможности обеспечить полноценную обратную связь репортерам — у нас слишком маленькая команда. Но абсолютно все репорты проверяются и обрабатываются в течении одного дня с момента поступления.

Вопрос не в том, обрабатываются репорты или нет, мы верим, что обрабатываются. Вопрос в том, каков оказался результат обработки. Я с Вами уже общался в личке по поводу нескольких багов, которые, как обнаружилось, были давно закрыты как Cannot reproduce, а я сижу и жду исправления или хоть какой-то обратной связи, потому что баг реально есть и сильно меня достаёт. А если бы не написал в личку, то и до сих пор ждал бы, не зная статуса. Вот такие ситуации катастрофически снижают мотивацию к репортам. Мало кому интересно коллекционировать список багов и регулярно Вас лично пинать на предмет, а не оказался ли какой-то из них неправомерно закрытым.

Повторю: у нас пока нет ресурсов для обеспечения более активной обратной связи. Мы делаем всё возможное в имеющихся условиях.

Я понимаю проблему, но какой-то самый минимальный вариант не должен потребовать много сил. Хотя бы просто прикрутить автоотправку мейла при изменении статуса. Без обратной связи, без ручной обработки, просто односторонний сигнал: ваш баг такой-то был закрыт с таким-то вердиктом. Уже это даст громадный отклик — репортер будет знать, что происходит с багом, а подробности можно будет и через Вас спросить или передать, если потребуется.

Или ваша система баг-трекинга в принципе не умеет такого? Мне казалось, уж трекинг состояния на почту должен быть во всех баг-трекерах по умолчанию, как основная функция.

В принципе можно сделать всё. Но, повторю, ресурсов не всегда хватает на это "всё".

Это «всё» (точнее, вот эта мелочь с уведомлением) ожидается уже который год… Я перестал слать репорты, потому что бесполезно (для меня). Не вижу результата, никакой обратной связи. Не знаю, сколько ещё человек столкнулись с проблемой, смогли ли вы воспроизвести или просто закрыли…

Вы не поверите, но вот как раз в данную минуту сидим с Йоном и обсуждаем разные варианты, как сделать BTS ближе к пользователю. :-)


Это хорошая новость. Плохая новость — информирование репортеров о статусе баг-репорта имеет мало шансов. Есть доводы за, но и не меньше доводов против. Так что висит в воздухе — ищем пока другие пути улучшения взаимодействия разработчиков и репортеров.


И, кстати, у нас появилось одно вакантное место для русскоязычного Sopranos — это внештатный тестер с доступом в BTS. Требования:


  • хороший опыт программирования
  • навыки тестирования и создания тесткейсов
  • хороший английский язык
Вложу сюда свой PoV, если это как-то поможет.
Для меня Vivaldi со старта и до сих пор — это, вроде как, интересный браузер, но не очень качественный. Я вот, например, в очередной раз дождался интересного мне релиза и обнаружил, что он, чёрт побери, не работает нормально (но уже из-за других проблем, нежели мешали работать раньше).
Так как у вас, полагаю, не очень большой штат тестировщиков, фидбек от пользователей для вас может быть критически важен для того чтобы хоть как-то поддерживать планку качества. Но если на пути этого фидбека ставятся дополнительные препятствия, то вряд ли желающих помогать без какого-либо понимания, влияет ли это на что-то будет много.
Например, я тоже более активно бы участвовал, если бы был хотя бы частично открытый багтрекер. Получая отбивки по фиксу багов я бы шёл и смотрел свежие снапшоты. А сейчас я (в отличие от Opera, у которых тоже плохо с фидбеком, но стабильность выше) полностью забил на снапшоты и смотрю на браузер раз в несколько релизов.
Увы, но Вивальди как разработчики сами правильно заметили, что браузер уже давно пошел по пути «снова добавляют всякую ерунду вместо того, чтобы внедрить реально востребованную функцию частичного выделения другим цветом заглавных букв». Но, к сожалению, это называется софистика, подменить понятия. Никто ведь не просит заглавных букв цвета радуги. Это абсурд. А вот реально востребованные и нужные функции висят в запросах по году и больше.
Как разработчик я их понимаю: гораздо приятнее делать то, что хочется или то, что менее трудозатратно, оставляя сложное «на потом». ;) А поскольку тут вообще сам себе хозяин, то это «на потом» так и остается никогда не реализуемым.
И пользователи, увы, разбегаются и доверие теряется.

Из всех четырёх представленных сегодня новых функций все четыре реализованы по запросам пользователей. Что же вы противоречите фактам? :-)


Если посчитать функции, которые мы добавили от себя, помимо того, что просят пользователи, то и десятка не наберётся. Всё остальное — запросы пользователей. Которых в BTS, между прочим, больше тысячи, все стоят на очереди на реализацию.


И если вы разработчик, то мне не нужно вам объяснять, что такое "приоритеты" и как они расставляются в процессе реализации проектов.

Вот я как раз и интересовался, почему, к примеру, реализация ручной сортировки списка поиска стоит выше реализации удобной группировки вкладок ;) и выше массы других более востребованных и удобных фич, которых нет в альтернативных продуктах и которые могут действительно сделать работу пользователя более удобной и комфортной, после которой он уже просто не сможет пересесть на другой браузер. ;) Причем, некоторые-то мелкие фичи ну точно реализуются буквально за 5 минут программирования и еще 5 минут на добавить в расширенные настройки чекбокс на включение и проверить в целом. ;)
Заметьте, я не говорю об ошибках. Впрочем, у вас свой путь и видение, у нас тут свой.
Я полгода сидел и постепенно перетягивал офис на Вивальди, но нет, пока что вернулись на Оперу и Лису, хотя и не хотелось. Потому что потенциал и запал был! А вот второй раз затянуть будет сложнее. Ну, такое. Ждем. Пока ваши приоритеты совпадут с нашими. ;) Удачи!
почему, к примеру, реализация ручной сортировки списка поиска стоит выше реализации удобной группировки вкладок

Потому, что сортировки списка не было, а группировка уже есть. И вполне удобная, судя по отзывам пользователей.


Причем, некоторые-то мелкие фичи ну точно реализуются буквально за 5 минут программирования и еще 5 минут на добавить в расширенные настройки чекбокс на включение и проверить в целом. ;)

А вы точно программист?

Спасибо за уточняющий вопрос.
Подход к реализации и к общению с пользователями понятен.
Еще раз удачи!
Когда уже будет версия под андроид?!!! И еще я все никак не могу понять зачем вообще выпилили синхронизацию с гуглом и стали впиливать свою? У меня все на гугле завязано. Была бы синхронизация с гуглом я бы уже сейчас мог начать пользовать вивальди на ПК, а на смартфоне все так-же хромом и все бы синхронизировалось… Неужели никак нельзя было ее оставить? :(

Версию для Android планируем показать в этом году, синхронизации с гуглом нет и не будет, т.к. мы сами несём ответственность за данные пользователей и не можем передавать её другим компаниям.

Спорно, очень спорно. Можно же было оставить синхронизацию с гуглом как доп. опцию «для тех кто готов рискнуть». Типа пользуйтесь на свой страх и риск. С возможностью переключения на вашу синхронизацию. Тогда бы были «и волки сыты и овцы целы». Уверен — я не один такой. Наверняка масса пользователей уже пересела бы на вивальди если бы оставили синхронизацию с гуглом. Там и расширений кстати говоря огромное количество. Я не в курсе у вивальди вообще есть свой маркет расширений? Так или иначе его придется долго наполнять чтобы хоть немного приблизится к тому разнообразию что есть в хроме. А без расширений браузер — не браузер. Например многими я постоянно пользуюсь, типа «The Great Suspender» (усыпляет неактивные вкладки и хорошо экономит память), «The Pocket», да хоть банально «uBlock Origin». Т.е. пользоваться вивальди будет невозможно еще долгое время: пока не появится версия под андроид (без синхронизации с ПК-версией жить нельзя), пока не появятся достаточное количество расширений… А была бы синхронизация с гуглом и это сразу бы решило все проблемы. Ну ладно как хотите. Можете и дальше терять пользователей из-за упрямства.
Я не в курсе у вивальди вообще есть свой маркет расширений?

Ставятся и работают хромовские.


А была бы синхронизация с гуглом и это сразу бы решило все проблемы.

Нет, это создало бы массу новых.

Уж лучше бы была гугл синхронизация, чем бесконечное ожидание вивальди синхронизации. Если когда-нибудь доделали бы свою синхронизацию, там и гугл можно бы было отключить, а пока ни того, ни другого.
Вообще синхронизация уже есть, она была представлена в одной из тестовых сборок. Работает неплохо, но есть ещё много того, что нужно улучшить. В этот релиз она не попала, но если хотите пользоваться, то включите её на странице vivaldi://experiments
Нуну, я видел заметку об синхронизации, скачал тестовую сборку, зарегистрировался, на сайт под моими данными заходит, в синхронизацию нет, забил, опять родной хром привет.
Так же бесит невозможность отключить превью вкладок, бывает случайно нажмешь и они появляются, а мне при любом раскладе они не нужны, приходиться вручную убирать.

Синхронизация в процессе отладки, также происходят серьёзные изменения на серверах (вот буквально вчера запустили в тестирование новые серверы синхронизации — пока только для внутреннего тестирования), так что неполадки неизбежны.


Превьюшки вкладок отключаются в настройках (опция "Визуальные вкладки").

Скорее всего, проблема — в неформализованности алгоритма синхронизации у Хрома и кого-либо ещё. Каждый по-своему разрешает коллизии, поэтому ответственность у каждого своя. Если бы был алгоритм, аналогичный правилам форматирования кода или правилам умножения, Гугл мог бы его опубликовать и придерживаться, а другие бы присоединялись к прозрачному алгоритму, беря за свою реализацию ответственность. А сейчас в случае межбраузерной синхронизации никто даже не сможет сказать, кто затёр данные, посчитавшиеся устаревшими — нет алгоритма.
На андроиде под Linux Deploy можешь запустить десктопный вивальди =)) arm версию. Если совсем уж тяжко ждать андроид-версию.
Как насчет частичного выделения цветом заглавных букв? Я имею ввиду поиск на странице по все открытым вкладками и использование в нем регулярных выражений?

Отправьте своё предложение новой функции через форму баг-репортов.

до сих пор не сохраняется размер шрифтов в инспекторе(
1) f12
2) crtl + ++
3) f12 f12
и шрифт прежний

Отправьте баг-репорт.

Япония сейчас лидирует по числу людей, установивших себе браузер Vivaldi

А почему так, если не секрет?

Сообщество более активное. Японцы вообще лучше реагируют на всё новое.

Кстати о новом, а возможно добавить пункт «удалить» в контекстное меню, вызываемое из полей ввода?
В текущей опере такое есть, но не из адресной строки =\

Не понял запроса. Можете пояснить?

Давайте я помогу. В Windows, а также почти во всех браузерах в полях, требующих текстового ввода данных, в контекстном меню есть обычно четыре пункта: вырезать, копировать, вставить, удалить. Так вот, в Vivaldi в контекстном меню последнего пункта нету. Почему — для меня абсолютная загадка, вероятно, как и для коллеги выше.

Хм, а для меня загадка, зачем оно нужно.


Ну, можете отправить запрос на добавление такой опции.

Чтобы не пользоваться буфером обмена. Там могут быть другие данные, которые не хочется в данный момент заменять вырезанием. Ну и реже, буфер обмена — чувствительная область, доступная многим приложениям, например, следящим, или, при работе на удаленном рабочем столе.
Сайт Моя Планета https://www.moya-planeta.ru/
во всех браузерах сразу открывается нормально и только в Vivaldi — в мобильном режиме (узкая длинная колонка). Приходится вручную каждый раз переключать на обычный вид.

Это надо спросить веб-разработчиков сайта, зачем они отправляют для Vivaldi мобильную версию.

Вы просили, мы сделали?
Ок.
А сделайте браузер, как Опера 12.
Спасибо за внимание.

Пожалуйста.

Не уже, а ещё :-)

А что вы сделали с нестандартными протоколами? Теперь даже стикер пак для телеграмма и магнет ссылку не открыть. imgur.com/a/xxMxu

Это не мы — это Google в ядре Chromium.

В последнем chromium (64.0.3282.119-1) оно корректно работает. Может быть надо где-то в настройках что-нить покрутить, чтобы починилось? А то как-то нехорошо вышло.

Не в курсе. Отправьте баг-репорт — тестеры посмотрят.

Проверил на Chrome 64.0.3282.119, Windows, магнет-ссылки не работают.

я проверял на телеграме, ссылка была вот такая t.me/Cbpub (канал паблика из VK, первое, что под руку попалось) хромиум вываливает диалог подтверждения запуска xdg-open, вивальди кажет ERR_UNKNOWN_URL_SCHEME

Да, на долю секунды открывается страница Telegram, а потом в ошибку слетает.


Отправьте баг-репорт, я попрошу тестеров посмотреть.

уже отправил, спасибо

Разработчики говорят, этот баг Chromium был исправлен точно перед релизом:
https://bugs.chromium.org/p/chromium/issues/detail?id=788431


Только в финал Vivaldi исправление не успело попасть.

а есть шансы, что этот фикс cмерджат в snapshot? а то очень неудобно урл из адресной строки все время в консоль копировать

Добавят при первой же возможности. Когда — точно не скажу.

о, у меня та же беда, значит я такой не один

Я всех друзей подсадил на Vivaldi и у нас неожиданно возник спор. Нужна ли программа JAVA пользователям этого браузера? Мне кажется нет! Дайте пожалуйста нам авторитетный ответ. Заранее спасибо!

Java уже не поддерживается ядром Chromium, насколько я знаю с 2015 года. Но этот плагин может запрашиваться некоторыми веб-сайтами.

Спасибо! Это всё понятно. Но самое интересное в том, что некоторые сайты на самом деле запрашивают Java, но я их на своём компьютере просматриваю без неё. У меня её никогда не было. Почему так?

Потому, что это отмирающая технология.

Спасибо огромное! Теперь всё ясно.
Здравствуйте меня интересует, что есть у Оперы и есть ли это у Вивальди
1) Синхронизация
2) Мобильная версия
3) Портейбл версия имеется? Я не смотрел особо, но после 57 лисы, пришлось искать браузер на замену, ушел на Оперу
  1. Есть. Можно включить в vivaldi://experiments
  2. Пока нет
  3. Полноценной нет. Но есть версия standalone. При её переносе не переносятся пароли и расширения. Впрочем, может помочь синхронизация.
Потыкал синхронизацию, возникло несколько вопросов:
1. Планируется ли синхронизация картинок на закладках в экспресс-панели?
2. Планируется ли синхронизация темы оформления?
3. Можно ли будет выбрать, какие папки в экспресс-панели синхронизировать на какие устройства?
  1. Да
  2. Да
  3. Не видел таких запросов
Можно ли будет выбрать, какие папки в экспресс-панели синхронизировать на какие устройства?
Наверное, нужно, чтобы на работу не просачивались всякие домашние развлечения. Но в то же время синхронизировались все остальные папки. Может, как минимально полезный вариант, подойдёт какая-то галка на каждой папке «не синхронизировать»?

Или лучше сделать пользовательские категории, включающие наборы папок? Сложно уследить за всеми папками и подпапками.

Или чтобы смартфон не захламлять десятилетним архивом закладок.
Во-во! Вспомнил тоже… У меня на рабочем компе тысячи закладок в сотнях папок. И на мобилку я никогда не хотел всё это добро синхронизировать, так и жил без синхронизации закладок.
Короче, нужно писать свой браузер. :)
У лисы было такое расширение
addons.mozilla.org/ru/firefox/addon/fast-dial

Где я мог располагать вкладки в ЛЮБОМ порядке и месте, будет ли такая фишка у вивальди?
Для меня очень важно четкая позиция, где я привык кликать мышью
Установите любое dial расширение. Не знаю почему но во всех современных браузерах dial написано дизайнерами для красоты. Пользоваться этим видимо не пробовал никто. Но почти любое расширение делает это нормально.
Vivaldi продолжает радовать :)

Я писал в ветке по предложениям, повторю здесь: сделайте так, чтобы можно было бы поменять функционал ЛКМ и СКН (нажатие на колёсико) для ссылок, ведущих на сторонние сайты. Грубо говоря, я хочу всегда открывать ссылки, ведущие на другой сайт, в новом окне левой клавишей.
Ещё под Debian столкнулся с тем, что нет поддержки flash (какие-то определенные ролики на тытрубе не игрались, ссылались на отсутствие flash) и не работает кнопка «показать в проводнике» для загрузок.
За остальное спасибо, ждём мобильную версию.

По кнопкам — отправьте баг-репорт с запросом на такую опцию.


Флэш нужно включить в настройках сайта (замочек в адресной строке).


Кнопка "Показать в проводнике" работает.

Интересный проект! А какие у вас планы по поддержке платформ на базе ARM-процессоров (для цифровых приставок)?

Планы есть. Но сроки пока очень неопределённые. Есть пока только вот такая версия:
https://habrahabr.ru/company/vivaldi/blog/343970/

Народ, у меня с последним апдейтом xdg-open отвалился. Теперь телеграмные tg:// и т.п. ссылки не открываются. Я такой один или это общая беда?
Так и не сделали контекстное меню в папках панели закладок…

Это в планах, но не в ближних.

Как обычно, команда Вивальди либо выкатывает маловостребованные фичи, либо же делает их как-то не до конца, половинчато, что-ли. Возьмем тот же поиск. Сортировка поисковиков — фича нужная, спору нет, востребованная еще со времен old-school Оперы. Но на кой оно мне, если в контекстном меню, откуда происходит большинство операций поиска (ведь это удобнее, нежели копировать текст на странице, идти в строку поиска, вставлять да еще и выбирать поисковик, если можно лишь выделить текст и в контекстном меню выбрать соответствующий поисковик) — так вот, в этом меню напрочь отсутствуют иконки поисковиков. И если их (тобишь, поисковиков) не 3-4 штуки, то искать нужный по его названию — это usability hell. Да, сортировка немного помогает, ты уже примерно помнишь, где и что у тебя находится. Но все же визуальное восприятие по картинке куда более быстрое, нежели по тексту.

Еще одно замечание по тому же поиску. У многих поисковиков есть схожее предназначение, по которому их можно отнести к той или иной категории — к примеру, обычный поиск, поиск по картинке, поиск товаров в инет-магазинах, поиск музыки, софта, фильмов и т.д. и т.п. Соответственно, сортировка добавляет порядка, и можно «сгруппировать» по категориям. И в кавычки я слово «сгруппировать» взял не зря. Потому что визуально отделить группы одну от другой — ну никак. Здесь большой плюс был бы в наличии простейшего элемента — горизонтальной разделительной черты. Добавить в настройках поисковиков галочку «разделитель после» — и группы уже были бы визуально различимы. Это, кстати, тоже было в Опере. Вивальди уже далеко не в начале своего пути, но все-еще пересчитать количество фич из старой Оперы, которых нет у Вивальди, проще, нежели сосчитать те, которые есть. И это печально…

Разработка браузера и добавление новых функций — это не цель, а процесс. Невозможно сделать всё и сразу. Неужели это надо каждый раз объяснять? Вот серьёзно: сколько лет работаю в Opera/Vivaldi — столько и повторяю эту избитую истину. А толку никакого. Всё равно кто-то приходит и начинает сетовать на то, что функция "выглядит как-то незавершённо", что "можно было бы добавить то и это", и т.д. и т.п. Простите, но это даже ежу понятно, что улучшать можно до бесконечности. Но вот сделать всё и сразу — это невозможно, немыслимо, никто и никогда так не делает, потому, что это — невозможно. В принципе. Буквально. Я не знаю, как это ещё объяснять.


Если у вас есть предложения — отправляйте их в систему баг-репортов, делитесь идеями, помогайте расставлять приоритеты. Но зачем приходить в комменты и вываливать свою "печаль"? Откуда такая привычка повелась? Непонятно. Вот так сидишь, читаешь и подсознательно понимаешь, что если брякнуть по-официантски "чего изволите, сударь?", то собеседник даже не поморщится — он какбе такой реакции и ждёт. Откуда такое барство? Где уважение к чужому труду?


Парни, честное слово — устаёшь за день такие "претензии" читать.

Публичное пространство помогает найти 2-3 ключевые недостающие фичи. Баг-репорты обычно все намешано. Хорошо бы если бы каждый писал Top 3, а другие люди бы голосовали.

Голосование по функциям мы запустим в феврале.

Я вашу обиду понимаю. Нет, серьезно, тут же коммюнити разработчиков, у каждого наверняка есть проекты, за которые душа болит. У меня есть приложение, которое я разработал сам с чистого листа — не очень большое, никак не сравнимо с такой махиной, как современный браузер, но ведь и разрабатывал я его сам, помимо основной работы, как pet-project. И за год я довел его до довольно таки приличного уровня, когда все конкуренты нервно курят в сторонке. Поначалу и мне писали — нет того да этого, поэтому вот тебе оценка 3/2/1. Это при том, что у конкурентов даже близко не было того функционала, который был у меня. Обидно? Не то слово. Но за полгода я сделал 7 серьезных обновлений (повторюсь — это pet-project, который разрабатывался в личное время) и теперь я просто не знаю, что туда еще можно добавить. Да и пользователи тоже :)

К чему я веду все это? Читая список изменений, ловишь себя на мысли, что за такой период времени их мог сделать и один человек. Нет, ну понятно, что есть многие препятствия — с тем же движком запары постоянные, на которые уходит уйма времени. Не успели толком ничего сделать, борясь с возникшими проблемами, — зачем же тогда выкладывать такие изменения и давать им очередную версию? Что-бы хоть что-то показать? Так покажите хотя бы бета-тестерам то, что вы давно обещаете, что у вас уже вроде как работает, но почему-то вы его «тестируете внутри компании». Пусть с багами и недоработками — на то и нужны бета-тестеры. Но ничего нет. Запилили сортировку и добавили ее куда смогли — в поисковики и панели. Разметку для заметок — напомните, на каком месте она в списке наиболее востребованных фич? За вертикальный режим чтения вам спасибо скажут азиаты — они у вас, видимо, в приоритете.

Вам обидно? И должно быть, потому что если бы не устаревший движок Оперы, который не открывает или если и открывает, то с проблемами, современные сайты, я бы (как и, вероятно, большинство ваших пользователей) в сторону Вивальди даже и не глянул бы. За три года можно было по крайней мере приблизится к ТОЙ Опере. Но у вас и этого не получилось и, судя по темпам добавления фич, ждать нужно еще как минимум столько же. Очень хотелось бы ошибиться в своем прогнозе, но пока этот затянувшийся переход с Оперы на НОРМАЛЬНЫЙ браузер иначе как мучением не назовешь.

Вот такая обидная правда. Или вам лучше сладкая ложь? Тогда это не ко мне

Вы прочитайте свой пост внимательно. Вы же постоянно противоречите сами себе. Сначала приводите пример своего проекта, который хоть и маленький, но за год проделал некую эволюцию. Далее вы говорите, что понимаете масштабность разработки браузера. Т.е. масштаб этот на порядок (если ни больше) сложнее вашей программы. Но на порядок — это в 10 раз. Т.е. тот путь, за который вы довели свой продукт до ума, у нас должен занять 10 лет. Так о чём тогда речь? Мы же только в самом начале пути!


И далее вы сравниваете с Opera 12, к которой мы, якобы, не приблизились. Только вы снова забываете, что Opera шла к своему успеху 15 лет. И даже на пике своей популярности она была далека от совершенства и получала массу критики за баги и недочёты. Посмотрите на списки реализованных функций Vivaldi и сравните со скоростью добавления новых фич в старую Opera. Мы работаем значительно быстрее! Мы за три года добавили в браузер более 120 новых функций, Opera за 18 лет — около 215 функций. Ну и? при этом Opera была всё-таки уже мощной компанией много лет, имела более полутысячи сотрудников. А у нас пока коллектив в 40 человек. И мы работаем быстрее. Неужели это будете отрицать? А раз так, то что за претензии к разработчикам?


Вот такая вот "обидная", а на самом деле весьма воодушевляющая правда. И когда я говорю, что наша команда работает лучше, чем многие другие — я ни на грамм не лукавлю, я говорю чистую правду. А если вас мои слова и цифры выше не убеждают — значит у вас имеется предубеждение против команды Vivaldi, которое не позволяет вам принять объективную реальность такой, какая она есть на самом деле. Пусть сложная, неоднозначная, рискованная, нестабильная, но определённо не такая унылая, как пытаетесь представить вы. Ещё раз спокойно посмотрите на цифры, на факты. Попробуйте их осмыслить.

Масштаб браузера — я бы даже сказал, что на 2 порядка. В 100 раз, ага. Но и у вас же не 1 разработчик, который занимается по 1-2 часа в день, так ведь? Про линейное масштабирование при увеличении количества человек речь, конечно, не идет, но все же сравнение человеко-часов никак не в вашу пользу.

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

Вы отвлекаетесь на малопопулярные плюшки, но упускаете элементарные вещи, которые затрагивают большинство. К примеру, возвращаясь к отсутствию иконок для поисковиков (и не только) в контекстном меню. Это же элементарный уровень юзабилити. Но у вас он отсутствует. Пользоваться КМ вообще неудобно — каждый раз нужно искать нужный тебе пункт, перечитывая их все. Но за это никто почему-то не берется [ссылка на картинку «и так сойдет»]
Масштаб браузера — я бы даже сказал, что на 2 порядка. В 100 раз, ага. Но и у вас же не 1 разработчик, который занимается по 1-2 часа в день, так ведь? Про линейное масштабирование при увеличении количества человек речь, конечно, не идет, но все же сравнение человеко-часов никак не в вашу пользу.

Масштаб браузера в плане кода — это одно, но ведь с ростом команды усложняется на порядок и процесс управления проектом. Вы зачем спорите с очевидностью?


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

Во-первых, над движком конкретно работал коллектив из примерно 20 программистов. Во-вторых, мы сейчас тратим массу времени на адаптацию своего кода к изменениям в коде движка Chromium. Это ненамного проще, чем делать движок собственный.


А вы путаете созидание и копирование.

Нет, это вы путаете идею и реализацию. Идеи — старые, реализация — новая. Так что разница между тем, что делала Opera, и тем, что делаем мы, не очень большая.


реализуйте хотя-бы то, что уже создано ранее, за что многие полюбили Оперу.

Ещё раз: из тех 100 с лишним функций, что уже реализовано в Vivaldi, меньше десятка относятся к неоперным функциям. Всё остальное — именно имплементация оперного функционала. И вы зря думаете, что реализовать оперную функцию в Vivaldi легче, чем создавалась новая функция в Opera. Это, повторю, почти одинаковый по сложности процесс.


Вы отвлекаетесь на малопопулярные плюшки, но упускаете элементарные вещи, которые затрагивают большинство.

С чего вы взяли? Вы нас считаете за идиотов? Абсолютно все функции реализуются в порядке приоритетности, и главным критерием является запрос пользователей. ВАШИ ЛИЧНЫЕ приоритеты другие, но это не значит что они являются приоритетами для большинства. Как вы эту простую вещь понять не можете?


К примеру, возвращаясь к отсутствию иконок для поисковиков (и не только) в контекстном меню.

Вот! Вот для вас это типа критично до такой степени, что вы готовы отказаться от пользования браузером. А для большинства других пользователей эта недоработка менее критична вплоть до абсолютного безразличия. И для этих пользователей важнее вертикальный режим чтения. И поэтому мы в первую очередь делаем вертикальный режим чтения, а иконки в меню откладываем до того времени, когда займёмся плотной работой над улучшением меню. Понимаете? Мы стараемся не скакать с одного на другое, а планомерно и поэтапно реализовывать функции. Сначала, на первом этапе — добавляем базовый функционал. Затем занимаемся добавлением других функций. Затем возвращаемся и осуществляем второй этап работ, включающий комплекс накопившихся предложений пользователей. И так далее. И вот так — работает, так получается делать браузер быстрее, чем делалась Opera. А если скакать по каждому запросу пользователя от функции к функции, то ничего не получится вообще. И вы, как разработчик, обязаны это понимать.


Но за это никто почему-то не берется

Потому, что есть более приоритетные задачи. Вы что думаете, что разработчики сидят и не знают, чем заняться? :-)


В общем, повторю: вы зачем-то спорите с очевидными фактами и с реальностью. Зачем вы это делаете — не могу понять. Я вам объясняю элементарные вещи. И, кажется, вполне приличным русским языком. Но вы старательно отказываетесь принять объективную реальность такой, какая она есть. Печально.

Поверьте, никто специально «по одному лезвию каждый год» не добавляет чисто в маркетинговых целях или чтобы подразнить пользователей :) Разработчики и сами хотели бы получить всё, что было в Опере 12, и сразу, только это невозможно технически и организационно.

Нельзя взять и сделать из горизонтального иероглифического текста вертикальный простым размещением глифов по другим координатам, забив на традицию. Посмотрите на ваш скриншот: жёлтым я подсветил символы, которые должны были бы изображены иным образом.


Заголовок спойлера

image


Здесь кавычки 「...」должны были повернуться на 90° вправо, признак долготы «ー» стать вертикальным, а остальные выделенные символы — сместиться не вниз относительно квадрата, а вправо. Кстати, хромиум справляется c корректным отображением таких текстов, посмотрите, например, статью японской википедии, посвящённой вертикальному и горизонтальному письму:


Отправьте, пожалуйста, баг-репорт — я подключу разработчиков.

Меня тоже это не слабо удивило, чуть не написал об этом ещё один комментарий, не заметив сначала этот. А вот на превьюшке всё как надо.
А вот какой вопрос. У вас на форуме был тред с фичереквестами. Я там оставлял пару фичреквестов, за них даже голосовали (голосовали не сильно много, ибо оставлял поздно, ажиотаж уже прошел). Оставлял на 1.13. Ни один из реквестов не был реализован даже в 1.14. Ну и у меня теперь такой вопрос, какова судьба этих фичреквестов? На них совсем забили, или они где-то там есть в очереди и надо только ждать? И мне теперь непонятно что делать? Новый пост создавать с этими же фич реквестами или же терпеливо ждать?

Форум — это не лучшее место для фиче-реквестов. В данном случае происходит следующее: собираются запросы, из них разработчики выбирают один-два, которые можно реализовать в ближайшей версии и реализуют. А иногда — не реализуют, если возникли сложности. Но суть в том, что эти опросы ни в какие долгие планы и архивы не попадают. Для того, чтобы фичереквест попал в очередь на реализацию, нужно отправлять эти запросы через форму баг-репортов. Вот такие запросы анализируются и берутся в работу по мере приоритетности, и к таким запросам могут вернуться через год, два, три. Зависит от важности запроса.

А как пользоваться поворотом текста? Оно как-то самостоятельно определяет что на странице японский/китайский и показывает кнопку поворота?

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


image

Интерфейс ужасно неотзывчивый, после других браузеров ощущение что «тормозит». Очень зря стали на html делать, потому что теперь это проблема by design

Пробовали отключать анимацию интерфейса?

Не знаю с чем связано, но, после установки этой версии, начались глюки с проигрыванием видео.
На ютубе иногда нормально показывает, иногда только звук. На других сайтах — facebook, и т.д. ситуация аналогичная.
В общем у меня по ходу что-то с видеодровами.
Решилось выключением hardware acceleration для видео в флагах.
Случайно попал в такое же меню настроек, как в Chrome (chrome://settings) по адресу vivaldi://settings/people, в котором есть кнопка «Sign in to Vivaldi», но она не не работает. Синхронизации ещё нет, или это я как-то не так пытаюсь зайти? Причём при открытии этой ссылки открывается обычное меню настроек Vivaldi (такое же, как и при нажатии на Alt+P). Как попал туда — точно не помню, допишу, если вспомню. Судя по тому, что в этих настройках выбран поиск Google, а у меня по умолчанию сейчас стоит Bing, эти настойски действительно являются для браузера скорее рудиментом.

Скриншот содержимого:
image

У нас таких рудиментов, к сожалению, целое ядро...

В 1.14 появилась неприятная фича. Раньше при запуске браузера все табы, открытые ранее, обновлялись автоматически. Теперь контент остается тем же, что был при закрытии браузера, так что приходится во всех табах делать reload. Это можно как-то изменить в опциях, или надо писать bug report?

Лучше написать баг-репорт. Но я подозреваю, что дело в изменении работы движка Chromium — я не видел, чтобы наши разработчики делали нечто подобное.

Это не баг, а фича (надеюсь)! Причём она была в Опере изначально. Может, наконец-то, кто-то в Гугле тоже докумекал до этого спустя столько лет? :)
Но, конечно, такое поведение лучше делать опциональным.
Кстати, эта фишка, когда-то позволила мне пользоваться страницей сайта, который уже несколько лет не работал — у меня просто эта вкладка висела закешированной.
Перестали обрабатываться ссылки типа itmss:// (itunes). magnet (torrent). и т.д.

Это баг Chromium. Вроде, исправлен — должен скоро попасть и к нам.

В этой версии браузера перестали открываться внешние приложения по ссылкам, например, iTunes не открывается при переходе по ссылке на какой-либо плейлист итп; торрент-качалка не открывается при нажатии на магнит ссылку. В версии 1,13 все работало.
Не критично конечно, но иногда неудобненько)
как всегда — необходима библиотека от хромого для воспроизведения HTML5!!! и самое обидное, что в Дебьяне её нет… только в бубунте. либо добавляйте официально в репозиторий и официально поддерживайте все изменения, либо не страдайте хернёй и создавайте свою! я не намерен из свой идеальной сборки делать помойку для пакетов от бубунты!
Если не платить отчисления, то не получится бандлить библиотеку вместе с браузером.
Накатил очередной релиз на посмотреть, можно ли вообще пользоваться. Ко мне как раз в этот момент подошёл друг и спросил:
— А открой что-то тяжёлое типа Netflix?
— [копаясь в настройках] Сейчас, сейчас… Хотя что может с ним быть не так? Он у меня везде нормально открывается и раньше в Vivaldi тоже нормально работал, вроде.

Докопался в настройках, открыл Netflix, выбрал свой профайл, прогрузилась страница и ВНЕЗАПНО увидел птичку:
Птичка на нетфликсе
image

Друг похлопал меня по плечу: «понятно, можно ещё год не трогать», и пошёл дальше работать.
Я подумал: «ну ладно, бывает, пофиксят скоро, посмотрю пока Netflix в Firefox, а остальным попользуюсь в Vivaldi.
Решил ради интереса открыть свой сайт.
Птичка на моём сайте
image

Ещё пока копался в настройках, проверял как работают tab popup thumbnails. Тоже никак не работают:
Чёрный прямоугольник вместо превью
image

Боюсь представить, что сейчас в снапшотах творится.

Полезная информация
Дистрибутив — Gentoo Linux с systemd и Xorg. Графика — NVIDIA (проприетарный драйвер, nouveau выключен).

system info
# uname -a
Linux skobkin-pc 4.15.0-gentoo-skobkin #1 SMP Thu Feb 1 13:17:49 MSK 2018 x86_64 AMD Ryzen Threadripper 1950X 16-Core Processor AuthenticAMD GNU/Linux

# eix -I nvidia-drivers | fgrep -i installed
Installed versions: 390.25(0/390)^md(01:21:19 PM 02/01/2018)(X acpi driver gtk3 kms multilib tools uvm wayland -compat -pax_kernel -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="linux -FreeBSD")


emerge --info
Portage 2.3.24 (python 3.4.6-final-0, default/linux/amd64/17.1/systemd, gcc-7.3.0, glibc-2.26-r5, 4.15.0-gentoo-skobkin x86_64)
=================================================================
System uname: Linux-4.15.0-gentoo-skobkin-x86_64-AMD_Ryzen_Threadripper_1950X_16-Core_Processor-with-gentoo-2.4.1
KiB Mem: 32872484 total, 20462492 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Tue, 06 Feb 2018 08:26:07 +0000
Head commit of repository gentoo: fbec1bb6b0ac3e52c3780637f21fe73ccf663378

Head commit of repository tox-overlay: 8037d84a8fa2f8179a147f7d20276763ed3540d2

sh bash 4.4_p18
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.3.4 [disabled]
app-shells/bash: 4.4_p18::gentoo
dev-lang/perl: 5.26.1-r1::gentoo
dev-lang/python: 2.7.14-r1::gentoo, 3.4.6-r1::gentoo, 3.5.4-r1::gentoo
dev-util/ccache: 3.3.4-r1::gentoo
dev-util/cmake: 3.10.2::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.4.1-r2::gentoo
sys-apps/sandbox: 2.12::gentoo
sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake: 1.13.4-r1::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils: 2.29.1-r1::gentoo, 2.30::gentoo
sys-devel/gcc: 7.2.0-r1::gentoo, 7.3.0::gentoo
sys-devel/gcc-config: 1.9.1::gentoo
sys-devel/libtool: 2.4.6-r4::gentoo
sys-devel/make: 4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.15::gentoo (virtual/os-headers)
sys-libs/glibc: 2.26-r5::gentoo
Repositories:

[Репозитории вырезал]

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -pipe -march=x86-64 -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O3 -pipe -march=x86-64 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg cgroup compress-build-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer multilib-strict news nodoc parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j32"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/tmp"
USE="X a52 aac acl acpi amd64 avx bash-completion bluetooth branding bzip2 cli cracklib crypt cups curl curlwrappers cxx dbus dga djvu dri dts dv exif fbcon ffmpeg flac fortran gif git gnutls gpm gtk gtk3 gzip hddtemp iconv idn imagemagick inotify ipv6 jabber jit jpeg lame lcms libass libnotify lm_sensors lzma lzo mad matroska mhash mime mmap mmx mmxext modemmanager modules mp3 mp4 mpeg mplayer multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pch pcre pdf plasma png policykit posix pulseaudio qt5 raw readline samba sasl sdl seccomp session sharedmem smp sockets sound spell sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg syslog systemd taglib tcmalloc tcpd theora threads truetype udev udisks unicode upnp upnp-av upower usb v4l vhosts videos vnc vorbis wayland x264 x265 xattr xcb xcomposite xft xinerama xmpp xv xvid xvmc zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" ENLIGHTENMENT_MODULES="conf conf-window-manipulation conf-window-remembers" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-1 php7-2" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_4 python3_5" QEMU_SOFTMMU_TARGETS="x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby23 ruby25" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



vivaldi:about
Vivaldi 1.14.1077.41 (Stable channel) (64-bit)
Revision 78970e4f64703c0ec59cfeab6df9fd6f474dfa97-
OS Linux
JavaScript V8 6.4.388.40
Flash 999.999.999.999 /usr/lib/chromium/PepperFlash/libpepflashplayer.so
User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.121 Safari/537.36 Vivaldi/1.95.1077.41
Command Line /usr/bin/vivaldi-stable --always-authorize-plugins --enable-blink-features=ResizeObserver --flag-switches-begin --flag-switches-end --disable-smooth-scrolling
Executable Path /opt/vivaldi/vivaldi


К слову:
Я тут провёл эксперимент из разряда «вероятность того, что оно сработает равна нулю, но чем чёрт не шутит»… В общем, перетаскивание вкладок из Vivaldi в Firefox работает исключительно по случайности или всё таки это фича? :D Если второе — хотелось бы иметь возможность перетаскивать их обратно :D

Скорее всего, это фишка Firefox

Нет, всё таки ваша :)
При перетаскивании один из объектов передаваемых в операции drag'n'drop'а — текстовая строка. FF (как и Vivaldi) принимает это строку при перетаскивании на панель. А вот FF редиски, у них строки среди объектов нет.

Тогда, наверное, фишка Chromium :-)

Гм. Я конечно немного издеваюсь, но ваш сайт сильно сломан в IE8.
Вы можете сказать, что мне нужно обновить или сменить браузер, но именно за этим на ваш сайт я и зашёл :D
вопрос на засыпку: а как сделать так, чтоб вивальди на винде НЕ выпрыгивал на каждую внешнюю ссылку как черт из табакерки?

вот у меня в другом окне открыто два десятка ссылок — и я хочу их все прокликать, а потом смотреть, а не альт-табиться два десятка раз. хотя тут уже после 2 ссылок начинает задалбывать.

по идее прикрутить такую настройку не должно быть большой проблемой же
Зарегистрируйтесь на Хабре, чтобы оставить комментарий