#заметка дня
Знаете, идти сложным путём иногда не так плохо. Делиться его прохождением – тем более.
Мне в комментарии и ответы накидали ещё вариантов запуска WebKit на Windows без необходимости в виртуальной машине вообще.
И, кажется, я был не совсем прав.
Нет, я не меняю своего мнения о том, что интегрировать WebKit в свои приложения сложно. Но как оказалось, Windows-сборки, хоть и полуофициальные, существуют! И даже работают.
Как обычно, давайте по порядку.
У проекта WebKit существует некий сборочный цех. Портал, на котором скрипт-боты запускают сборки, пересборки и тесты всего проекта под различные операционные системы и платформы.
Конечно, большинство сборщиков работают для iOS, macOS и Linix различных конфигураций, но и под Windows тоже имеются!
Поехали.
1. Давайте пройдём в раздел сборок. Видим список с ответственными за них ботами.
Нас конечно же интересуют с префиксом Win в названии сборщика. Фильтруем.
2. Находится не так много, берём Apple-Win-10-Release-Build.
Можно и Debug, но размер его – мама не горюй.
3. Проваливаемся в параметры сборщика и видим огромное число готовых к употреблению сборок.
Как несложно догадаться, они все привязаны к конкретным ревизиям движка. Ну то есть, можно повыбирать…
Но не то чтобы. Оказалось, файлы хранятся не так долго, всего около пары недель. Ну давайте двухнедельной давности и возьмём. Ревизия r280313 не могла уйти далеко.
На момент, когда вы это читаете, архив может уже быть удалён. Поскольку эта версия максимально близка к обсуждаемой Safari 14.1.2, я приложу её отдельно.
Вообще, обещали, что минифицированные архивы будут храниться пару лет: https://webkit.org/blog/7978/introducing-webkit-build-archives/
Видимо, не для всех сборок… надо узнавать.
4. Прямая ссылка скрыта в шаге 12: transfer-to-s3. Находим её в логе, называется S3 URL. Скачиваем архив, распаковываем.
5. Находим в распаковке MiniBrowser.exe и… и запускаем?
Хрен там. Нужен Apple Application Support. Грубо говоря, набор библиотек для запуска.
Как его получить? Установить iTunes. Apple в своём репертуаре, конечно.
Раньше можно было распаковать установщик iTunes и установить библиотеки отдельно, но теперь – не выйдет :(
6. Ну что же, установили iTunes. И вот теперь можно и запустить!
Как и прежде, проверять я буду на:
1. Clip-path и stacking context:
https://bugs.webkit.org/show_bug.cgi?id=140535
https://bug-140535-attachments.webkit.org/attachment.cgi?id=244746
2. Flexbox на summary:
https://github.com/philipwalton/flexbugs
https://philipwalton.github.io/flexbugs/9.3.a-bug.html
В рассматриваемой ревизии этот баг уже исправлен.
3. important и animate:
https://bugs.webkit.org/show_bug.cgi?id=75558
https://bugs.chromium.org/p/chromium/issues/detail?id=552085
http://jsfiddle.net/fFJ3m/1/
Как и прежде, прошу вас делиться результатами и любимыми багами.
Оставайтесь на связи. Мы ещё не закончили.
#safari #bug #webkit #windows
Знаете, идти сложным путём иногда не так плохо. Делиться его прохождением – тем более.
Мне в комментарии и ответы накидали ещё вариантов запуска WebKit на Windows без необходимости в виртуальной машине вообще.
И, кажется, я был не совсем прав.
Нет, я не меняю своего мнения о том, что интегрировать WebKit в свои приложения сложно. Но как оказалось, Windows-сборки, хоть и полуофициальные, существуют! И даже работают.
Как обычно, давайте по порядку.
У проекта WebKit существует некий сборочный цех. Портал, на котором скрипт-боты запускают сборки, пересборки и тесты всего проекта под различные операционные системы и платформы.
Конечно, большинство сборщиков работают для iOS, macOS и Linix различных конфигураций, но и под Windows тоже имеются!
Поехали.
1. Давайте пройдём в раздел сборок. Видим список с ответственными за них ботами.
Нас конечно же интересуют с префиксом Win в названии сборщика. Фильтруем.
2. Находится не так много, берём Apple-Win-10-Release-Build.
Можно и Debug, но размер его – мама не горюй.
3. Проваливаемся в параметры сборщика и видим огромное число готовых к употреблению сборок.
Как несложно догадаться, они все привязаны к конкретным ревизиям движка. Ну то есть, можно повыбирать…
Но не то чтобы. Оказалось, файлы хранятся не так долго, всего около пары недель. Ну давайте двухнедельной давности и возьмём. Ревизия r280313 не могла уйти далеко.
На момент, когда вы это читаете, архив может уже быть удалён. Поскольку эта версия максимально близка к обсуждаемой Safari 14.1.2, я приложу её отдельно.
Вообще, обещали, что минифицированные архивы будут храниться пару лет: https://webkit.org/blog/7978/introducing-webkit-build-archives/
Видимо, не для всех сборок… надо узнавать.
4. Прямая ссылка скрыта в шаге 12: transfer-to-s3. Находим её в логе, называется S3 URL. Скачиваем архив, распаковываем.
5. Находим в распаковке MiniBrowser.exe и… и запускаем?
Хрен там. Нужен Apple Application Support. Грубо говоря, набор библиотек для запуска.
Как его получить? Установить iTunes. Apple в своём репертуаре, конечно.
Раньше можно было распаковать установщик iTunes и установить библиотеки отдельно, но теперь – не выйдет :(
6. Ну что же, установили iTunes. И вот теперь можно и запустить!
Как и прежде, проверять я буду на:
1. Clip-path и stacking context:
https://bugs.webkit.org/show_bug.cgi?id=140535
https://bug-140535-attachments.webkit.org/attachment.cgi?id=244746
2. Flexbox на summary:
https://github.com/philipwalton/flexbugs
https://philipwalton.github.io/flexbugs/9.3.a-bug.html
В рассматриваемой ревизии этот баг уже исправлен.
3. important и animate:
https://bugs.webkit.org/show_bug.cgi?id=75558
https://bugs.chromium.org/p/chromium/issues/detail?id=552085
http://jsfiddle.net/fFJ3m/1/
Как и прежде, прошу вас делиться результатами и любимыми багами.
Оставайтесь на связи. Мы ещё не закончили.
#safari #bug #webkit #windows
#заметка дня
У всей этой истории с Safari должен быть happy end.
TL;DR Browserstack.com
Но не все могут себе позволить даже 150 долларов в год за фриланс-план… или всё же есть выход?
Выход правда есть!
Browserstack активно поддерживает open-source проекты и даёт бесплатные лицензии на год!
Если у вас есть такой — смело топайте на https://www.browserstack.com/open-source и вбивайте там ссылку на репозиторий.
Главное — чтобы была подходящая лицензия. Полного списка я не нашёл, но уверен, что GPL, BSD и MIT точно включены. Я же указал Creative Commons Attribution 4.0 International.
Ах да, что же у меня за проект такой опенсорс? Да просто сайт этого канала: https://github.com/HTMLShit/htmlshit.site
Он немного в анабиозе сейчас, но работа над ним не прекращена.
После прохождения ручной модерации, мне пришло письмо. Я получил годовые планы тестирования браузера и мобильных с весьма вкусными условиями.
Короче, если вы ещё не начали свой проект – чего вы ждёте вообще?
#browserstack #safari #windows #test
У всей этой истории с Safari должен быть happy end.
TL;DR Browserstack.com
Но не все могут себе позволить даже 150 долларов в год за фриланс-план… или всё же есть выход?
Выход правда есть!
Browserstack активно поддерживает open-source проекты и даёт бесплатные лицензии на год!
Если у вас есть такой — смело топайте на https://www.browserstack.com/open-source и вбивайте там ссылку на репозиторий.
Главное — чтобы была подходящая лицензия. Полного списка я не нашёл, но уверен, что GPL, BSD и MIT точно включены. Я же указал Creative Commons Attribution 4.0 International.
Ах да, что же у меня за проект такой опенсорс? Да просто сайт этого канала: https://github.com/HTMLShit/htmlshit.site
Он немного в анабиозе сейчас, но работа над ним не прекращена.
После прохождения ручной модерации, мне пришло письмо. Я получил годовые планы тестирования браузера и мобильных с весьма вкусными условиями.
Короче, если вы ещё не начали свой проект – чего вы ждёте вообще?
#browserstack #safari #windows #test
#заметка дня
Я тут вспомнил, что эпопея с запуском WebKit в Windows — а это, суть, возможность тестировать настолько близко к Apple Safari, насколько возможно — была бы неполной без одного важного дополнения.
Давайте вначале вспомним, что было:
1. Краткая история Safari
2. Запуск WebKit-браузера Epiphany в Windows с WSL2
3. Запуск WebKit под Windows без виртуальных машин
4. Happy End в виде бесплатного Browserstack
У всего этого была одна небольшая проблема: WebKit во 2 и 3 вариантах был обычно слишком новый, что соответствовало последним сборкам Safari 14 и 15. Но что же делать, если нужно что-то чуть постарее? На официальном сервере сборки долго не живут.
Так вот, и такое есть: оказывается, старые сборки WebKit можно найти в старых же релизах Playwright: https://playwright.dev/docs/browsers/#managing-browser-binaries
Кто не знает, Playwright — средство для автоматизации тестирования.
Установили — забрали из каталога установки. Кажется, это вполне себе заявка.
#webkit #safari #windows
Я тут вспомнил, что эпопея с запуском WebKit в Windows — а это, суть, возможность тестировать настолько близко к Apple Safari, насколько возможно — была бы неполной без одного важного дополнения.
Давайте вначале вспомним, что было:
1. Краткая история Safari
2. Запуск WebKit-браузера Epiphany в Windows с WSL2
3. Запуск WebKit под Windows без виртуальных машин
4. Happy End в виде бесплатного Browserstack
У всего этого была одна небольшая проблема: WebKit во 2 и 3 вариантах был обычно слишком новый, что соответствовало последним сборкам Safari 14 и 15. Но что же делать, если нужно что-то чуть постарее? На официальном сервере сборки долго не живут.
Так вот, и такое есть: оказывается, старые сборки WebKit можно найти в старых же релизах Playwright: https://playwright.dev/docs/browsers/#managing-browser-binaries
Кто не знает, Playwright — средство для автоматизации тестирования.
Установили — забрали из каталога установки. Кажется, это вполне себе заявка.
#webkit #safari #windows
#ссылка дня
TL;DR: Итак, Microsoft, наконец, сподобилась выкатить документацию по WSL2: https://learn.microsoft.com/ru-ru/windows/wsl/
Что такое WSL2?
Оооо, мой дорогой друг, присаживайся. Я расскажу тебе сказку.
Хотя не, не расскажу. Достаточно знать, что WSL2 — это Windows Subsystem for Linux. Несложно догадаться, что уже второй версии. Отличия от первой рассказывать не буду, вторая проще в использовании и поддерживает UI-приложения с некоторых пор.
И так понятно, что твои веб-проекты скорее всего будут крутиться на Linux-серверах, а нет ничего лучше, чем разрабатывать сразу в среде, в которой и будет потом всё непосредственно работать. Да и CLI-утилиты в Windows это какая-то неестественная для этой ОС дичь.
Я уже рассказывал о WSL2 в своём цикле постов про повторение багов Safari на Windows, можете почитать тут: https://yangx.top/htmlshit/709
Там вроде достаточно. интересно вышло.
Читаем документацию, ставим WSL2, балуемся. Полезнее этого разве что яблоко съесть. И то не уверен.
#linux #windows
TL;DR: Итак, Microsoft, наконец, сподобилась выкатить документацию по WSL2: https://learn.microsoft.com/ru-ru/windows/wsl/
Что такое WSL2?
Оооо, мой дорогой друг, присаживайся. Я расскажу тебе сказку.
Хотя не, не расскажу. Достаточно знать, что WSL2 — это Windows Subsystem for Linux. Несложно догадаться, что уже второй версии. Отличия от первой рассказывать не буду, вторая проще в использовании и поддерживает UI-приложения с некоторых пор.
И так понятно, что твои веб-проекты скорее всего будут крутиться на Linux-серверах, а нет ничего лучше, чем разрабатывать сразу в среде, в которой и будет потом всё непосредственно работать. Да и CLI-утилиты в Windows это какая-то неестественная для этой ОС дичь.
Я уже рассказывал о WSL2 в своём цикле постов про повторение багов Safari на Windows, можете почитать тут: https://yangx.top/htmlshit/709
Там вроде достаточно. интересно вышло.
Читаем документацию, ставим WSL2, балуемся. Полезнее этого разве что яблоко съесть. И то не уверен.
#linux #windows
👍5👎1
#нытьё дня
Итак, тема нытья сегодня: "Почему разработчики ОС с таким упорством вставляют палки в колёса переключателям языков ввода?".
Поясню, что я имею в виду. Начнём с Windows 11.
Мой личный ноутбук — ThinkPad с финской клавиатурой. При установке Windows я указал Eng (US) и Ru (Ru) раскладки клавиатуры, а ОС...
...подсунула мне финскую раскладку для британского английского! Неудаляемую!
Почему неудаляемую? Потому что британский английский языковой я не устанавливал вообще. Чтобы удалить, пришлось поставить языковой пакет, добавить в него финскую раскладку, тут же её удалить и удалить языковой пакет.
Кто просил это делать изначально? Вопрос риторический.
Теперь Linux. Конкретно — версии с GNOME.
Баг, повествующий о потере фокуса с поля ввода при переключении языка висит в трекере уже много лет. А точнее — 10. Да, он помечен как просроченный, но проблема-то никуда не делась. И важность "Low" или "Medium". Ну то есть разработчикам похер. А ты, тем временем, чтобы переименовать папку или ввести поле тянулся каждый раз не только переключить язык, но и поставить фокус на место.
Плюс, если у тебя Alt-Shift, во многих приложениях начинали срабатывать индикаторы горячих клавиш (VS Code, например), что тоже сбивало фокус если ты использовал для переключения раскладки не штатную шину GNOME, а что-то стороннее или просто настроил в Tweak Tools.
Теперь перейдём к macOS, которая тоже умудрилась насолить.
На ноутбуках и клавиатурах года так с 2021 есть клавиша с символом глобуса. Как нетрудно догадаться, она переключает раскладку. Но:
1. Кнопка на внешней клавиатуре раньше не работала с ноутбуками, у которых такой кнопки нет (2019 год, например).
2. ОС показывает всплывающее окно, что вызывает задержку переключения до двух секунд
3. Но этого окошку было мало и пару версий macOS назад если курсор мыши находился в месте, где появляется окошко — автоматически выбиралась раскладка, попадающая под курсор. Гениально.
Ну с этим бороться было просто, хоть и смешно:
1. Включаем переключение языка через CapsLock
2. Переназначаем Fn-клавишу на CapsLock
3. CapsLock лично я переназначаю на всех своих машинах на Cmd (mac) или Ctrl (Win, Lin). Потому что я не пианист.
В общем, казалось бы — идее переключения раскладки уже лет пятьдесят. Но находятся индивидуумы, которые хотя всё придумать заново.
P. S. многие проблемы решает однозначное переключение языка кастомным хоткеем сразу на нужный.
#macos #windows #linux
Итак, тема нытья сегодня: "Почему разработчики ОС с таким упорством вставляют палки в колёса переключателям языков ввода?".
Поясню, что я имею в виду. Начнём с Windows 11.
Мой личный ноутбук — ThinkPad с финской клавиатурой. При установке Windows я указал Eng (US) и Ru (Ru) раскладки клавиатуры, а ОС...
...подсунула мне финскую раскладку для британского английского! Неудаляемую!
Почему неудаляемую? Потому что британский английский языковой я не устанавливал вообще. Чтобы удалить, пришлось поставить языковой пакет, добавить в него финскую раскладку, тут же её удалить и удалить языковой пакет.
Кто просил это делать изначально? Вопрос риторический.
Теперь Linux. Конкретно — версии с GNOME.
Баг, повествующий о потере фокуса с поля ввода при переключении языка висит в трекере уже много лет. А точнее — 10. Да, он помечен как просроченный, но проблема-то никуда не делась. И важность "Low" или "Medium". Ну то есть разработчикам похер. А ты, тем временем, чтобы переименовать папку или ввести поле тянулся каждый раз не только переключить язык, но и поставить фокус на место.
Плюс, если у тебя Alt-Shift, во многих приложениях начинали срабатывать индикаторы горячих клавиш (VS Code, например), что тоже сбивало фокус если ты использовал для переключения раскладки не штатную шину GNOME, а что-то стороннее или просто настроил в Tweak Tools.
Теперь перейдём к macOS, которая тоже умудрилась насолить.
На ноутбуках и клавиатурах года так с 2021 есть клавиша с символом глобуса. Как нетрудно догадаться, она переключает раскладку. Но:
1. Кнопка на внешней клавиатуре раньше не работала с ноутбуками, у которых такой кнопки нет (2019 год, например).
2. ОС показывает всплывающее окно, что вызывает задержку переключения до двух секунд
3. Но этого окошку было мало и пару версий macOS назад если курсор мыши находился в месте, где появляется окошко — автоматически выбиралась раскладка, попадающая под курсор. Гениально.
Ну с этим бороться было просто, хоть и смешно:
1. Включаем переключение языка через CapsLock
2. Переназначаем Fn-клавишу на CapsLock
3. CapsLock лично я переназначаю на всех своих машинах на Cmd (mac) или Ctrl (Win, Lin). Потому что я не пианист.
В общем, казалось бы — идее переключения раскладки уже лет пятьдесят. Но находятся индивидуумы, которые хотя всё придумать заново.
P. S. многие проблемы решает однозначное переключение языка кастомным хоткеем сразу на нужный.
#macos #windows #linux
❤9👍3🤔2💩1
#фишка дня
Я надеюсь, вас не смутит, что я сюда теперь буду иногда скидывать заметки для Windows PowerShell. Просто у меня очередной приступ усталости от Linux на десктопе, так что на личный ноутбук вернул Windows 11. Не знаю, надолго ли.
Вернул — потому что OEM. Не суть.
Так вот. Если вы ставите различные утилиты для разработки, от Git, Node.js через Volta до Android и Flutter SDK, вам нужно постоянно обновлять пути в переменной среды — Env — и перезаходить в консоль, чтобы утилиты стали доступны к исполнению.
Ну если вы не лох какой и пользуетесь консолью, конечно.
Так вот, первое, что меня убило — недостаточно просто запустить новую вкладку в Windows Terminal, как я бы сделал в любом эмуляторе терминала в macOS и Linux. Надо перезапускать всё приложение. Мерзость.
Чтобы этого избежать, нужно выполнить следующую команду:
И всё встаёт на свои места.
#windows #powershell
Я надеюсь, вас не смутит, что я сюда теперь буду иногда скидывать заметки для Windows PowerShell. Просто у меня очередной приступ усталости от Linux на десктопе, так что на личный ноутбук вернул Windows 11. Не знаю, надолго ли.
Вернул — потому что OEM. Не суть.
Так вот. Если вы ставите различные утилиты для разработки, от Git, Node.js через Volta до Android и Flutter SDK, вам нужно постоянно обновлять пути в переменной среды — Env — и перезаходить в консоль, чтобы утилиты стали доступны к исполнению.
Ну если вы не лох какой и пользуетесь консолью, конечно.
Так вот, первое, что меня убило — недостаточно просто запустить новую вкладку в Windows Terminal, как я бы сделал в любом эмуляторе терминала в macOS и Linux. Надо перезапускать всё приложение. Мерзость.
Чтобы этого избежать, нужно выполнить следующую команду:
$Env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
.И всё встаёт на свои места.
#windows #powershell
💩15👍9❤🔥1🤔1