Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Ещё одна статья о #WebAssembly — Игра “Жизнь” на AssemblyScript.

https://refruity.xyz/assembly-noscript/

Кстати, авторы этой статьи и статьи из предыдущего сообщения ждут Ваших отзывов в чате @webassembly_ru.
Вышел Firefox 80. В нём:
- улучшения DevTools
- поддержка ES2021 фичи export * as namespace (была добавлена в виде нормативного изменения)
- копозитные операции WebAnimations API
- улучшения Media Session API
- атомарные операции #WebAssembly теперь разрешены не только для разделяемой памяти

Список изменений для разрабочиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/80
Изменения совместимости: https://www.fxsitecompat.dev/en-CA/releases/80/
На сайте WebKit некоторое время назад начал активно пополняться раздел документации Web Inspector. Среди совсем недавно добавленного — руководства по вкладке слоёв, которая позволит отлаживать рендеринг, и вкладке аудита, позволяющей проверить некорректные структуры DOM, отсутствующие атрибуты доступности и многое другое.
В DevTools Chrome 86 (выйдет предположительно 6 октября) появится много нового:
- новая панель Media
- скриншоты узлов из панели Elements
- улучшения во вкладке Issues
- эмуляция отсутствия локальных шрифтов
- эмуляция отсутствия активности пользователя (для отладки Idle Detection API)
- эмуляция медиа запроса prefers-reduced-data
- поддержка ES2021 фич Logical assignment operators и numeric separators
- Lighthouse обновлён до 6.2
- фильтры во вкладке Coverage
- обновлённое отображение информации о фреймах в панели Application
- различные обновления панелей Elements и Network

https://developers.google.com/web/updates/2020/08/devtools
Вышел Chrome 85.

Обзорное видео: https://www.youtube.com/watch?v=htAiPOarIwI

Изменений в нём довольно много, я писал о них ранее тут (DevTools Chrome 85), тут (Hoidini Properties and Values в CSS), тут (WebHID API и потоковые запросы Fetch), тут (что нового появилось в бете Chrome 85), тут (улучшения доступности PDF) и тут (content-visibility: auto).

Также есть статья со списком устаревших и убранных фич: https://developers.google.com/web/updates/2020/07/chrome-85-deps-rems
Minimal React: getting started with the frontend library — статья от Axel Rauschmayer для людей, которые хотят начать изучать React.

https://2ality.com/2020/08/minimal-react.html
Web Share API в Safari позволял принимать протокол file в ссылке, что позволяло прикрепить потенциально чувствительные файлы (историю бразера или что-то подобное) при шейринге через почтовые приложения. При этом также надо уговорить пользователя отправить такое письмо злоумышленнику через Web Share API, что может быть достаточно трудно сделать. Уязвимость исправления в iOS 14 Beta и macOS 14 Beta.

https://blog.redteam.pl/2020/08/stealing-local-files-using-safari-web.html
Гораздо более серьёзная уязвимость была обнаружена некоторое время назад в Chromium. Она позволяла полностью обойти все CSP правила на любой платформе в браузерах Chrome, Edge, Opera и других на основе Chromium версий с 73 по 83. Для обхода CSP достаточно было указать javanoscript: в атрибуте src айфрейма.

https://www.perimeterx.com/tech-blog/2020/csp-bypass-vuln-disclosure/
Разработчики Brave написали статью о том, чем грозит внедрение предложенного компанией Google для стандартизации Web Bundles API. По их мнению это чревато значительным ослабеванием приватности и безопасности. И с ними сложно не согласиться.

Ранее команда Brave выражала свои опасения относительно Client-Hints.
Занятный факт. #TC39 (а точнее Task Group 2 в его составе) непродолжительное время занимался также разработкой языка C#. Позже TG2 была выделена в отдельный комитет TC49.

https://twitter.com/littledan/status/1298450137568759808
Недавно вышел Kotlin 1.4, в котором представлен новый Kotlin/JS IR backend (в альфе). Он умеет удалять мёртвый код и улучшает интероп с TypeScript и JavaScript кодом через генерацию TypeScript определений типов.

https://kotlinlang.org/docs/reference/js-ir-compiler.html
В Wasmtime (#WebAssembly рантайм) добавлена поддержка Reference Types (phase 4). В статье рассказывается о том, чем эта фича полезна для различных хостов (в том числе для web), насколько она полезна для реализации последующих улучшений в WebAssembly и о деталях её имплементации в wasmtime.
Вышел Yarn 2.2.0 — новая версия альтернативного пакетного менеджера для Node.js. В нём появилась новая команда yarn dedupe, которая удаляет дубликаты старых совместимых версий пакетов, улучшена производительность, уменьшен размер бинарника и сделаны другие более мелкие изменения.

Кроме того, команда Yarn обсуждает с Node TSC возможность добавления проекта “Package manager manager” в Node.js. Такой менеджер позволит использовать Yarn или pnpm из коробки (они установятся автоматически при первом вызове).
Команда Edge DevTools из Microsoft рассказала о новых фичах в инструментах разработчика Edge 85. Некоторые из этих фич являются уникальными и еще не добавлены в upstream Chromium.
Вышел Electron 10.0.0. Chrome в нём обновлён до версии 85, а Node.js до версии 12.16. Полный список изменений можно посмотреть здесь. Поддержка Electron 7 остановлена.
Chrome 86 будет поддерживать well-known URL для смены пароля на вебсайте из других тулз (таких как менеджер паролей), спецификацию инкубатора WICG, разработанную Apple (фича доступна в Safari 13 и более поздних версиях). Firefox также рассматривает возможность внедрения этой фичи, в данный момент она помечена как worth prototyping.
Вышел Samsung Internet 13 Beta. В нём несколько визуальных изменений, улучшение юзабилити, новые фичи в Add-on extension API. Браузер основан на Chromium 83.
В Chrome 86 (выйдет 6 октября) появится псевдо-элемент ::marker, который позволит легче и круче стилизовать маркеры в списках. Firefox уже поддерживает его с версии 68, а Safari с 11.1. В Chrome эта фича была доступна только под флагом, начиная с версии 80.

https://web.dev/css-marker-pseudo-element/