Я нашёл ошибку в браузере!



    Наш коллега по браузерному фронту Пол Льюис aka @aerotwist из Google, видимо, порядком устал от неправильных багрепортов и опубликовал сегодня блок-схему, показывающую как это делать правильно. Я не удержался и решил перевести. С одной стороны, схема довольно очевидна для тех, кто хоть раз занимался тестированием, с другой — никогда не бывает лишним напомнить или показать схему тем, кто не в курсе.

    Собственно, схема




    Куда пригвоздить?



    Хватит тихо злиться на баги браузеров, пишите нам письма — мы эти баги тоже не любим.
    Opera
    59,73
    Браузер Opera — больше возможностей в интернете
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      +6
      Потерялись стрелки некоторые почему-то. :) «Удалите все фреймворки ...» получилось тупиковым состоянием. :)
        +15
        Потому что вне фреймворков жизни нет :)
          +1
          Поправил, спасибо
          +3
          У вас в первом же ветвлении «Да» и «Нет» перепутаны
            +4
            Нет, там попутан текст ветвления (и логика схемы, к сожалению).
            +3
            В первом условии смысловая ошибка: не «она повторяется в других браузерах?», а «вы проверили в других браузерах?». И «да» должно вести не на «она исправлена в тестовых сборках?», а на «видите ошибку в нескольких браузерах»?

            Причем если первое — это ошибка вашего перевода, то второе — ошибка автора схемы.
              0
              Как раз нет. Там есть лишь ошибка перевода. Ибо на вопрос «Вы проверили ее в других браузерах» в случает ответа «Нет» ее следует проверить. А в случае ответа Да автор схемы подразумевает, что она в других браузерах не возникла и следовательно надо проверить ее наличие в бетках. Так, что там не перепутаны варианты ветвления, а скорее недосказанность от автора.
                0
                … и эта недосказанность легко исправляется заведением «вы проверили» — «да» на «воспроизводится?» Тогда все будет явно.
                  0
                  Вот как-то так мне кажется должно быть. (не совсем правда идеально, но логика работает)
                    0
                    Странно, ни ссылка, ни картинка не добавляются. В общем, вот схема без недосказанности: www.dropbox.com/s/hf43zu20x6cyu36/habr.png?dl=0
                      +2
                      Ваша версия логичнее, но из-за этого схему сложнее читать (и ситуацию сильно не улучшить перемещением графики). Учитывая, что эта схема не для разминирования, а скорее просто стилизованный набор советов, то подобная неточность простительна. Особенно если она упрощает считывание.
                +4
                Например, вот как относится к багам Гугль: code.google.com/p/android/issues/detail?id=39882

                Висит уже третий год. Проблема реальная — попробуйте сделать загрузку файлов на S3 из андроидного стокового браузера. Сломано во всех популярных версиях вплоть до 4.2.

                Привожу этот конкретный пример потому что сжег на нем часов тридцать пытаясь как-то обойти.
                  +4
                  Пффф.
                  bugzilla.mozilla.org/show_bug.cgi?id=381328
                  В файрфоксе нельзя посчитать computed style, если задано margin: auto
                  Зарепорчено в 2007 году.
                    +2
                    Смысл им что то обновлять если с 4.4, кажется, уже на месте стокового браузера стоит Chromium? Это ведь не Security Update. Это как если бы сейчас вышло обновление для IE8 и называлось IE8 но пофиксило какие то. Было бы странно.
                      0
                      Некоторые пользуются и AOSP/AOKP без gapps и без Chrome/Chromium, не?
                        +1
                        И жизнь этих людей гугл пытается сделать невыносимой, все сходится.
                    +2
                    А если бы Хабр поддерживал SVG, то вместо этой громадной 130-килобайтной пнгшки могла быть маловесящая svg-картинка. Впрочем, даже эту картинку можно сделать поуже, разместив горизонтальные отростки после боковых вопросов по вертикали.
                      +11
                      в 21м веке слова «громадной» и «130кб» совсем не смотрятся в одном предложении.
                        +27
                        И всё же это не повод не поддерживать SVG в 21-м веке.
                          0
                          Емнип, хабр поддерживает svg, если подставлять их через тег img. Но svg не поддерживает habrastorage. В последний раз я укладывал svg в публичную папку на дропбоксе и вставлял в пост, используя публичные ссылки.
                            0
                            Я следую рекомендациям Хабра и храню картинки только на Habrastorage.org, чтобы не положить свой сайт случайно.
                              –2
                              С каких пор Хабр может положить Dropbox?
                                +11
                                Запросто. У дропбокса есть лимит на количество просмотров за единицу времени.
                                  +1
                                  Я не пользуюсь Дропбоксом, извините
                              +4
                              А браузеры уже научились работать с SVG без проседанию по CPU?
                                +4
                                Зависит от того, какой SVG. Такая блок-схема отрисовалась бы один раз и больше есть не просила. А если там летающий цирк, то конечно просядет.
                                  0
                                  А если SVG используется для интерфейса (векторные иконки взамен шрифтам или png)? Несколько десятков (обычная замена растра, в SVG это было бы правильнее с учетом макбуков и мобильников) — и браузер не справляется.
                                    0
                                    Посчитайте количество SVG-иконок на главной и в выдаче Яндекса (они часто встроены как data:uri) — вы удивитесь.
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Громадной в данном случае не по весу (хотя 126 КБ для такой картинки тоже немало), а по размерам в пикселях.
                                0
                                А если использовать старый добрый gif с палитрой в 8 цветов, то её можно без проблем ужать в 40Кб.
                                  +1
                                  С палитрой в 8 цветов, она ужимается до 27,5 КБ в PNG и 24,9 КБ в WebP (lossless). Выглядит, правда, отвратно. Но это действительно реальный способ сжимания картинок. Только SVG-картинка весила бы не больше 10 КБ.
                                    0
                                    Если сжать PNG (без потери качества), то будет почти столько же, 56.8 Кб.
                                      0
                                      Вы неправы, GIF на картинках больших размеров проигрывает PNG — проверено многолетним опытом.
                                    0
                                    Первое ветвление неправильно переведено, потому k41n усомнился в выводах первого ветвления.
                                    В целом перевод, конечно, правильный, но упущена формальность: «You checked it in other browsers?» Пол Льюис подразумевает: Проверяли ли вы этот баг в других браузерах? и если «ДА», но там их не было, то переход к второму ветвлению: «Is it fixed in Canary...».

                                    В вашем варианте «Повторяется ли ошибка в других браузерах?» я отвечаю «ДА», забиваю на то, что возможно это я написал плохой код и уже лезу проверять баг в бетках.;)
                                      0
                                      В блок-схемах легко запутаться :( Поправил
                                        0
                                        А первую картинку, которая на главной?
                                          0
                                          Она скорее завлекательная, но и её поправил.
                                      +1
                                      Опера уже и на Вебкит перешла, а форма отправки багов все такая же односторонняя. Как же меня это бесило, пишешь репорт и он уходит в никуда. Ни посмотреть повторяется ли он у других людей, ни выяснить воркэраунд. Нельзя такими быть.
                                        –1
                                        Opera перешла на Blink и теперь на баги в движке можно смотреть в открытом трекере Blink. Внутренний трекер слишком специфичный, мы всё-таки коммерческая компания, так что сравнивать наш закрытый трекер с Bugzilla не совсем корректно.
                                          +1
                                          Об этом на странице bugs.opera.com/wizarddesktop/ ни слова
                                            –1
                                            Этот мастер ориентирован, прежде всего, на пользователей, которых не хочется пугать словами про движки.
                                              0
                                              я как-то слабо себе представляю пользователя, который может дать детальное описание и минимально воспроизводимый кусок, но при этом боится слова «движки»
                                            +3
                                            Допилите свой трекер до состояния, когда он сможет использовать списки контроля доступа. Или для этого тоже надо движок менять?
                                              –1
                                              У нас JIRA с единой базой для всего, которая живёт уже лет 10 (может чуть меньше), вряд ли мы такое потянем без явных причин. Две сотни человек, которые будут следить за своими багами снаружи — это, к сожалению, не причина, давайте трезво подходить.
                                                0
                                                Но это же даст приличный прирост количества репортов и приличное сокращение дублей. Разве не так? Плюс по количеству каких-нибудь звёздочек станет яснее, чем люди интересуются.
                                                  +1
                                                  Ещё у людей появится как минимум ощущение, что они участвуют в процессе. Это вам не отправить баг «в пустоту».
                                          +30
                                          — Кто-то ещё проверял этот код?
                                          — Да!
                                          — Пригвозди этого засранца!

                                          Речь, надеюсь, не про проверяющего?
                                            +7
                                            Зависит от того, насколько у вас в команде суровые нравы :)
                                            +1
                                            Во имя всего святого, где синхронизация, ребят?
                                              +3
                                              Кто здесь?
                                              +1
                                              Отличная схема :) Однако в нее не попадает один исключительный вариант — а именно, когда баг проявляется в тех браузерах, для которых очень сильно осложнена отладка, что касается в первую очередь устройств на iOS.

                                              Да, это камень в сторону политики Apple насчет принудительного использования WebView и как следствие — отсутствия вменяемых средств отладки в браузерах, на нем основанных (то бишь всех кроме родного Safari). Особенно весело становится, когда в собственно Safari, имеющем относительно нормальную возможность отладки JS, баг не проявляется. При этом баг явно содержится где-то в JS-коде сайта, но отловить его не получается.

                                              Пользуясь случаем, хотел бы спросить у сообщества, встречались ли вам такие случаи и как вы их в итоге разрешали?
                                                0
                                                Эмуляция поведения мобильного браузера. Не помню плагин, правда…

                                                У меня была почти похожая ситуация: код работал только под дебагом… Без дебага — падал с ошибкой… Первый костыль был sleep(1), который помогал…
                                                Итого оказался все-таки неверный код
                                                  0
                                                  В iOS 8, которая уже этой осенью, насколько я понимаю, поведение и возможности Safari станут идентичны все остальным WebView и соотв. можно будет заниматься нормальной отладкой в Safari и ждать такого же поведения для всех остальных мест.
                                                  +6
                                                  Да ладно…
                                                  Вы это видели?


                                                  (разрешение 1920 х 1080)

                                                  А по сути, есть один елж, который с большой уверенностью роняет вкладку WebKit (проверенно на Safari, Opera, Chrome (в котором и был обнаружен))…
                                                  Баг отправлен уже больше года как, но не исправлен. По сути, простым баннером с js внедрением можно ронять сайты.

                                                  Не так страшен черт, как его малюю, если бы алгоритм кода из-за этого не пришлось менять полностью (даже такой JSON роняет)…
                                                    +6
                                                    не понимаю как получился елж… я хотел сказать код
                                                      +5
                                                      Произошло смещение клавиш на одну в с торону :-)
                                                        +2
                                                        Это вы вовремя поправили себя. А то я уже гуглил, что это за зверь такой, а в поисковой выдаче был один только LG.
                                                        +2
                                                        А баг-то где? Дайте какие-нибудь пароли-явки, чтобы его можно было найти.
                                                          0
                                                          Вышепоказанный? В хроме
                                                            –1
                                                            И-и-и?
                                                        0
                                                        По-моему в последних Chrome'ах столько ошибок, что работникам Google стоит перестать составлять схемы и начать наконец работать.
                                                        В 33-й версии отваливались font-face шрифты (колоссальнейший баг, у нас все клиенты с ума посходили — у них тексты пропали на сайте. И так по всему миру), и они не могли пофиксить это 1 или 2, не помню, major-релиза. В том же релизе была ошибка, когда последний пункт селекта нельзя было выбрать. До сих пор медленно работают textarea и другие элементы формы. И так далее.
                                                          +1
                                                          Пол Льюис, как и другие участники команды Developer Relations в Google (и такой же команды в Opera Software, откуда я) — код браузера не пишут. Так что хватает времени на то, чтобы нарисовать схему и услышать от разработчиков об их проблемах.
                                                          +1
                                                          Еще расширения надо отключить.
                                                            0
                                                            Вадим, простите за оффтоп, вопрос про Opera Max.
                                                            Планируется ли сжатие https трафика? Может в качестве опции, по желанию пользователя. Это политика безопасности или сама технология не позволяет эффективно сжимать зашифрованные данные?
                                                            Спасибо ;)
                                                              0
                                                              Возможный вариант для Opera Max, скажем, для видео — это договориться с видеохостингами и запрашивать сам медиафайл по нешифрованному протоколу. Мы сейчас думаем об этом, но пока никакого решения не принято.
                                                                +2
                                                                Хорошо зашифрованные данные плохо сжимаются. Поэтому единственный вариант был бы «вскрывать» шифрованное соединение и устраивать MitM-атаку на пользователя — а этого мы по соображениям безопасности не хотим.
                                                                  0
                                                                  И правильно.
                                                                    0
                                                                    Спасибо. У меня второй вопрос родился сегодня)
                                                                    Шифруются ли данные между серверами Opera Max и телефоном?
                                                                      0
                                                                      Таких подробностей не знаю, но думаю, что нет. Потому что:
                                                                      * зачем шифровать то, что планировалось передавать открытым текстом?
                                                                      * Opera Turbo на десктопе не шифруется, чтобы все желающие могли посмотреть, чем мы обмениваемся с сервером
                                                                      Аргументов «за» шифрацию придумать не могу.
                                                                  +3
                                                                  Я нашёл ошибку в браузере! Синхронизация в Opera с 15 версии до сих пор не работает нормально.
                                                                  Вы проверили в других браузерах? Да! В других браузерах она работает.
                                                                  Она исправлена в тестовых сборках? Нет! В тестовых сборках её сломали ещё сильнее.
                                                                  Есть минимальный пример для воспроизведения? Да!
                                                                  Кто-то ещё проверял этот код? Да!
                                                                  Кого нужно пригвоздить?
                                                                    0
                                                                    Ага, юмор. Синхронизация, новая экспресс-панель и закладки уже очень близко, терпение.
                                                                      0
                                                                      Ждём же. Даже шутим ещё. А могли бы и по другим браузерам разбрестись.
                                                                    0
                                                                    Я нашел интересную ошибку, но она воспроизводится только у меня. Только у меня везде: на работе, дома, в другом доме с моим и без моего профиля. Все плагины, скрипты и пр. отключены. Багу естественно закрыли.

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

                                                                    Со стрелкой:
                                                                    image

                                                                    C плюсиком:
                                                                    image.

                                                                    Живой пример: ccnayed.ru/articles/eigrp-start/

                                                                    Кто-нибудь сталкивался?
                                                                      0
                                                                      Unable to reproduce the issue on Latest Stable and Canary
                                                                      Так вы в Канарейке пробовали? Это только Chrome или Opera и Яузер тоже?
                                                                        0
                                                                        Только в Chrome. Да, она везде, во всех версиях преследует меня.
                                                                        +1
                                                                        Картинки не отображаются, но когда проблемы со шрифтами дело может быть как раз в шрифтах. Когда ОС или программа не находить в шрифте символа, то при этом по некому алгоритму подставляется другой, причём эта подстановка может влиять и на другие символы. Часто это можно наблюдать с азиатскими письменностями.

                                                                        То, что этот баг преследует вас, может объяснятся специфичным набором шрифтов. Вы сами можете ставить дополнительные шрифты, шрифты могут ставится вместе с ПО, или у вас какая-то особая сборка ОС.

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

                                                                      Самое читаемое