Коля Шабалин и великий аттрактор кода
333 subscribers
200 photos
1 video
293 links
Некий Коля Шабалин рассказывать про фронтенд, обучение, CSS-спецификации и фичи

Чат для общения: https://t.iss.one/+W80kxMBPKvAwNzBi

Поддержать на Бусти - https://boosty.to/css-space
Download Telegram
🦊 Привет, это Фронти!

Встречайте дайджест #31.

Invoker: диалоги без JS, анимации с акселерометра, CSS Grid Lanes и @starting-style, фреймворки 2026 от Карниато, RSC и Next.js: патчи DoS, Node 25.5 и одиночный exe (SEA), AGENTS.md против скиллов, Bun быстрее, Yarn на Rust, ReliCSS для старого CSS. Что интересного на этой неделе?

🧪 HTML и Платформа
- Invoker Commands: открывать и закрывать диалоги и попапы без JavaScript.
- Анимации с акселерометра смартфона прямо в браузере — лучше смотреть на телефоне.
- Влияние производительности на UX и прогнозы по веб-доступности.
- Фокус в <dialog>: ловить его вручную больше не нужно.

🎨 CSS и дизайн
- CSS Grid Lanes: когда появятся и как пользоваться уже сейчас.
- Основы вёрстки: поток, box model и позиционирование.
- Отладка @starting-style в Chrome DevTools.
- Что нового в CSS в 2026, favicons в 2026, стекинг-контексты.

📦 JavaScript
- Обзор JavaScript-фреймворков на 2026 год от Райана Карниато (SolidJS).

⚛️ React и фреймворки
- DoS в React Server Components: патчи в 19.2.4, 19.1.5, 19.0.4 — обновляйтесь.
- RSC для максимальной производительности: доклад с ReactNext ’25.
- Как писать хорошие unit-тесты для React.
- DoS в self-hosted Next.js: фиксы в 15.5.10, 16.1.5 и canary.

⚙️ Node.js
- Node 25.5.0: сборка одиночного exe флагом --build-sea, node:sqlite, fs.watch с ignore.
- Бенчмарки Node 16→25, проверка уязвимостей, OpenSSL CVE, Redis-клиенты.
- Bun быстрее (async/await +35%), Yarn 6 на Rust в превью.

🧠 Ещё интересное
- AGENTS.md обходит «навыки» в эвалах — выводы Vercel.
- 100k строк TypeScript на Rust с помощью Claude Code.

🌐 Браузеры и инструменты
- Chrome Canary: метатег text-scale для доступности.
- ReliCSS ищет устаревший CSS, Color Palette Pro, Typewriter Web Component, Nxtlify для Nuxt UI.
- Lodash 4.17.23 с фиксом CVE.

🦊 Лисья шутка недели:
Если диалоги можно открывать без JS,
то почему у меня до сих пор три обработчика на одну кнопку?

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-31/
26👍8❤‍🔥2🔥1
Baseline: Январь 2026

Коротко:
• animation-composition
• Array by copy
• Two-value display property

Длинно: https://habr.com/ru/articles/987464/
❤‍🔥8
🦊 Привет, это Фронти!

Встречайте дайджест #32.

HTML учит геолокацию, Anchor Positioning вяжет связи в CSS, AI дебажит React (но сеньор пока нужен), эмодзи уронил дашборд — боль, Node 25.6 с SIMD и новым URL, Babel 7 финал и ESLint 10 на старте, OpenClaw — TS-агент захватил GitHub, State of JS: Hono — фаворит, Gatsby жив и дружит с React 19. Что ещё интересного на этой неделе?

🧪 HTML и Платформа
- Новый элемент <geolocation> — геолокация прямо из HTML.
- Combobox vs. Multiselect vs. Listbox: как не промахнуться с выбором.
- JPEG XL: нужен ли нам ещё один формат изображений?
- Один контент — множество «версий»: полезно для мышления про доступность.

🎨 CSS и дизайн
- CSS Anchor Positioning: рисуем «связи» между элементами без JS.
- «Слишком ранний брейкпоинт»: почему мы рано схлопываемся в одну колонку.
- Shrinkwrap-решение: ширина под переносимый текст в чистом CSS.
- Оптимизированные встраивания видео без JavaScript, Nice Select.

📦 JavaScript
- Явное управление ресурсами: using и Symbol.dispose — декларативный cleanup.
- Тротлинг отдельного сетевого запроса в Chrome DevTools.

⚛️ React и фреймворки
- AI дебажит React: краш-тест от Nadia Makarevich — AI помогает, но не заменяет.
- Эмодзи уронил дашборд: ускорение в 100× одной строкой.
- React <ViewTransition> — новый компонентный API для анимаций переходов.
- Inngest переехали с Next.js на TanStack Start — разбор и грабли.
- Gatsby v5.16 с поддержкой React 19 — жив!
- Классы мешают мемоизации React Compiler — данные вперёд, методы назад.

⚙️ Node.js
- Node 25.6.0: TextEncoder ускорили через SIMD, URL обновили до Unicode 17, можно отключать трекинг Promise в async_hooks.
- State of JS 2025: Express — самый популярный, Hono — самый любимый.
- Chalk → встроенный styleText: миграция без зависимостей.
- Bun v1.3.8: нативный парсинг Markdown.

🧠 Ещё интересное
- OpenClaw: open-source TS-агент, который за неделю взорвал GitHub.
- История TypeScript от Андерса Хейлсберга: как появился TS и зачем компилятор на Go.
- Angular меняет дефолт change detection, Astro 5.17, Svelte-дайджест.

🌐 Браузеры и инструменты
- Babel 7 — финальный релиз, Babel 8 RC уже готовится.
- ESLint 10.0.0 RC2 — можно трогать и готовить плагины.
- Lodash 4.17.23: security reset для вечной утилиты.
- jQuery UI 1.14.2 — теперь с jQuery 4.0.
- Rspress 2.0, Croner 10, focus-trap 8.0, jsdom 28.0.

🦊 Лисья шутка недели:
HTML теперь знает, где ты находишься,
CSS знает, к чему ты привязан,
а один эмодзи знает, как положить весь дашборд.
Фронтенд в 2026 — это детектив, а не разработка.

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-32/
265❤‍🔥3🔥2
Corner-shape - проходной
Border-shape - легенда!
Forwarded from CSS Боль
clip-path и CSS-маски не меняют форму блока — они её имитируют. Рамка, тень, outline не знают о вырезах и работают как с обычным прямоугольником.

Свойство border-shape работает по-другому. Как border-radius научил рамки скругляться, так border-shape + функция shape() учат их принимать произвольную форму. Рамки повторяют контур, box-shadow и outline тоже.

В спецификации CSS Borders Level 4 уже есть черновик, а в Chrome Canary — первые работающие прототипы. Пока ждём поддержку в браузерах, самое время разобраться с функцией shape().

В новом выпуске «CSS Боли» — как мы дошли от border-radius до произвольных форм и почему маски оказались тупиком для рамок и теней.

🐭 Смотреть на YouTube
🐹 Смотреть в VK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
mlut (читается как "млат") - это CSS-фреймворк для кастомных сайтов и креативов. Он помогает верстать проекты с индивидуальным и нешаблонным дизайном, где не подходят фреймворки старой школы и плохо справляются LLM. mlut похож на Tailwind, поскольку основан на подходе Atomic CSS, но по некоторым параметрам превосходит все популярные аналоги.

Atomic CSS - это методология верстки, в которой мы используем маленькие атомарные классы, каждый из которых делает одно действие. Эти классы называют *утилитами*. Обычно они применяет одно CSS-свойство (например, цвет текста), но не обязательно одно. Выглядят они примерно так: D-ib, Bgc-blue_h.

Преимущества такого подхода

1. Тратим меньше мыслетоплива: не думаем о нейминге сущностей, структуре каталогов
2. Меньше CSS на клиенте: реиспользуем одни и те же утилиты, а новые стили почти перестают добавляться
3. Быстрее пишем стили: короткие классы, нет переключения файлов
4. Можно применять на любом стеке: JS SPA, PHP, Clojure, etc

Ключевые особенности mlut

1. Краткий и строгий нейминг. Сокращения основаны на популярности свойств CSS и составлены по единому алгоритму. Если вы знаете CSS, то вы почти знаете mlut
2. Богатый и нативный синтаксис. Это как Vim для CSS. Удобно создавать сложные стили с помощью мощного синтаксиса, концептуально близкого к CSS
3. Написан на Sass. Используйте всю мощь препроцессора для связи рукописного CSS и утилит

Что реализовано на сегодня

- генератор утилит почти любой сложности
- JIT-движок, который умеет генерировать утилиты из HTML/JSX/etc
- CLI с минификацией и автопрефиксером
- плагины для сборщиков фронтенда: Webpack, Vite и Rollup
- онлайн-песочница

Также есть обширная документация. Совместно с HTML Academy готовится интерактивный мини-курс по инструменту. Первый урок уже вышел. Это open source проект - результат глубокого ресерча и 1200+ часов труда. Больше технических деталей есть в расшифровке доклада с HolyJS.

Планы по развитию

- добавить еще возможностей CSS для сложной верстки: множественные градиенты, псевдоселекторы с аргументами, типа :has(), etc
- сделать интеграции для вайб-кодинга
- сделать плагины к IDE для автокомплита и подсказок

А недавно мы запустили проект на ProductRadar. Бодаемся там со стартапами за топ-3 продуктов этой недели. Будем благодарны за поддержку лайком на этой площадке и любой фидбек. Давайте покажем всем, что open source инструмент тоже может быть продуктом!
👍4👎1🤡1💊1
Боль Саши можно послушать на DUMP :)
🥰1
Forwarded from CSS Боль
DUMP SPB 2026 × HTML Academy

Весь внешний вид компонента — в CSS-переменных. JavaScript только переключает состояния. Звучит непривычно, но это рабочий подход.

На DUMP SPB 13 февраля Александр Першин выступит с докладом «Реактивный CSS» — про перенос логики отображения из JavaScript в стили. В докладе — сравнение двух реализаций одного компонента: классической на JS и реактивной на CSS. Можно будет оценить разницу в объёме и сложности кода.

Промокод PERSHIN — скидка 10% на билет.

Конференция · О докладе
👍31
DUMP

Завтра на весь день иду на DUMP. Программа очень обширная. Ещё даже не решил, что конкретно хочу послушать.

Мало ли кто там окажется подходите знакомиться.
4👍4💔1
Interop 2026

В 2026 у фронтенда уменьшается «браузерная магия» и становится больше инженерной платформой.

Короткий список того, что попало в Interop 2026

1. Anchor Positioning
2. Advanced `attr()`
3. Container Style Queries
4. contrast-color()
5. Custom Highlights
6. Dialog and popover additions
7. Fetch Uploads and Ranges
8. getAllRecords() for IndexedDB
9. JSPI for Wasm (JavaScript Promise Integration API)
10. Media pseudo-classes
11. Navigation API
12. Scoped Custom Element Registries
13. Scroll-driven Animations
14. Scroll Snap
15. shape()
16. View Transitions
17. Web Compat
18. WebRTC
19. WebTransport
20. CSS Zoom

Для тех кто пропустил и не знает, что такое Interop. Это когда Apple, Google, Microsoft, Mozilla и Igalia договариваются, чтобы в вебе было меньше полифиллов, меньше костылей, меньше “а в Safari работает?”, больше нативных API вместо JS-библиотек, больше предсказуемости.

Что чувствуется: CSS многое забирает у JS, влияние SPA уменьшается, веб ускоряется(http/3, стримы, wasm).

https://wpt.fyi/interop-2026
🔥8
🦊 Привет, это Фронти! Всех с прошедшим днём влюблённых!

Вы любите фронтенд как люблю его я?
Я подготовил дайджест #33 для влюблённых =)

Interop 2025 — браузеры наконец-то подружились, 💔 уронил Safari в 100 раз, TypeScript 6.0 beta включает strict по дефолту, ESLint 10 похоронил eslintrc, State of JS: 12к девов ответили, State of React 2025 — итоги года, React Native 0.84 с Hermes V1, webpack строит планы на 2026, CSS Selection — рентген 100к сайтов. Что ещё интересного на этой неделе?

Доступность
- WCAG 3.0: что изменится в новом поколении стандартов (кандидат не раньше 2027).
- Клавиатурные шорткаты в веб-приложении: как не сломать навигацию.
- Новый meta-тег, чтобы уважать масштабирование текста на мобильных.

🧪 HTML и Платформа
- Interop 2025: итоги — Anchor Positioning, View Transitions, Navigation API теперь работают одинаково.
- Как 💔 сделал страницу в Safari в 100× медленнее — детективная история перф-бага.
- Как работают браузеры? Высокоуровневое объяснение «что внутри».
- Полифил для HTML Switch Element и Invoker Buttons Polyfill.
- Мультипоточный рендеринг в вебе: иллюстрированный гид.

🎨 CSS и дизайн
- CSS Selection 2026: как CSS живёт на 100 000+ сайтах — размеры, популярность фич, крайние кейсы.
- Как (и почему) запретить выделение текста: разбор user-select.

📦 JavaScript
- State of JS 2025: боли языка, фреймворки, сборщики, сколько кода пишут с ИИ.
- ESLint v10.0.0: eslintrc окончательно убран, новый алгоритм поиска конфигов.
- Symbol.dispose и using — декларативный cleanup ресурсов.
- Webpack roadmap 2026: универсальная сборка, TS без лоадеров, CSS Modules без плагинов.

🔷 TypeScript
- TypeScript 6.0 beta: strict по умолчанию, types стал [], типы для Temporal, subpath-импорты с #/.

⚛️ React и фреймворки
- State of React 2025: 4000 разработчиков про UI-библиотеки, визуализацию, боли core-API.
- «Пуленепробиваемые» React-компоненты: 10 приёмов для порталов, гидрации, SSR.
- Виртуальный скролл на миллиарды строк — как не уронить DOM.
- AI дебажит React: Nadia Makarevich подложила тонкие баги — AI помогает, но не заменяет.
- Gusto отказались от React.FC — разбор типизации и children.
- Inngest мигрировал с Next.js на TanStack Start — грабли и компромиссы.
- React Native 0.84: Hermes V1 по умолчанию — быстрее, экономнее по памяти.

⚙️ Node.js
- npmx: быстрый и красивый браузер npm-пакетов с функцией сравнения.
- Node.js 25.6.1: новый CJS-лексер merve на 25% быстрее.
- Node.js 24.13.1 LTS: URL с Unicode 17, стабильный crypto.hash.
- Matteo Collina пилит виртуальную файловую систему для Node.

🤖 ИИ
- Transformers.js v4 Preview: ML-модели прямо в браузере на WebGPU.

🛠 Инструменты
- Bun v1.3.9: параллельный запуск npm-скриптов, SIMD для регулярок.
- Shaka Player 5.0, Polypane v28, Ink 6.7, Prisma 7.4.0, Wasp 0.21.0, Ant Design 6.3.

🦊 Лисья шутка недели:
TypeScript 6.0 включил strict — и половина проектов узнала, что у них есть баги.
Эмодзи 💔 положил Safari — романтика убивает продакшен.
ESLint 10 удалил eslintrc — а кто-то только научился его настраивать.
А webpack опубликовал roadmap на 2026 — видимо, чтобы мы точно знали, что он ещё жив.

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-33/
264👍1🔥1
Chrome 145

В 145 хром завезли возможность замедлить конкретный запрос, а не все сразу

Посмотрите гифку в статье https://developer.chrome.com/blog/throttle-individual-network-requests?hl=ru
🔥32
🦊 Привет, это Фронти!

Я подготовил дайджест #34 — свежий, бодрый и местами очень неожиданный =)

Interop 2026 уже объявлен, Chrome 145 приехал с новыми CSS-фичами, Firefox продвигает setHTML вместо innerHTML, Oxfmt на Rust метит в «быстрее Prettier», React Doctor делает чекап проекта, styled-components вернулся и теперь дружит с RSC, Node может есть в 2 раза меньше RAM, а WebMCP намекает на веб для AI-агентов. Что ещё интересного на этой неделе?

🧪 HTML и Платформа
- Interop 2026: 15 новых направлений, где браузеры синхронизируют поведение.
- Chrome 145: column-wrap, column-height и свежие улучшения DevTools.
- Selectors Level 5: первый Public Working Draft от CSSWG.
- Виртуальный скролл для таблиц «на миллиарды строк»: ограничения DOM, UX и a11y.

🎨 CSS и дизайн
- Tailwind CSS v4.2: новые палитры в дефолтной теме.
- contrast-color() пока не везде, но есть рабочие приближения на современном CSS.
- Почему text-wrap: pretty иногда реально улучшает читаемость.
- Адаптивная пирамидальная сетка + эксперименты с «идеальной» pie chart.
- И да: x86 CPU на CSS — просто потому что можем.

📦 JavaScript
- Firefox 148: Sanitizer API и setHTML для более безопасной вставки HTML.
- JS-модули в service worker теперь во всех основных браузерах.
- Oxfmt Beta: новый быстрый форматтер JS на Rust.
- Взгляд на JS-heavy подходы и их долгосрочную цену для перфоманса.

⚛️ React и фреймворки
- React Doctor: CLI-аудит по безопасности, производительности и архитектуре.
- You Might Not Need An Effect 0.9: ESLint-плагин против лишних useEffect.
- styled-components вернулся из maintenance mode и поддержал React Server Components.
- Scroll-driven 3D на React Three Fiber, react-scad и большой гайд по TanStack Router.

⚙️ Node.js
- Pointer compression в Node 25: кейс про сокращение потребления памяти до ~50%.
- npm v11.10.0: --allow-git, bulk trusted publishing, --min-release-age.
- Новые релизы Node Current/LTS и новости по Temporal API.
- npm теперь напрямую ссылается на security-анализ Socket.

🤖 ИИ
- WebMCP от Google: сайты как поставщики возможностей для AI-агентов.
- Vercel: как Next.js смотрит в «agentic future».

🛠 Инструменты и библиотеки
- OpenSeadragon 6.0: большой апдейт для ultra-HD zoom/pan.
- Oat: минималистичная UI-библиотека без зависимостей.
- TanStack Hotkeys, Broad Infinite List, React Split Pane, Jotai 2.18, Ink 6.8.
- Electrobun v1, Slowmo для дебага анимаций, pnpm 10.30 и пачка свежих релизов.

🦊 Лисья шутка недели:
innerHTML уходит в закат, setHTML приходит с охраной.
Oxfmt обещает форматить так быстро, что ты не успеешь дописать кривой код.
styled-components вернулся — как сериал, который закрыли, а потом продлили на новый сезон.
Node экономит RAM, а фронтендеры наконец-то могут открыть ещё одну вкладку Chrome.

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-34/
26🔥62👍1
Сегодня снова на piterjs. В этот раз в YouMoney
🔥3
🦊 Привет, это Фронти!

Человек на следующей неделе уходит в отпуск, а я пожалуй продолжу радовать вас новыми выпусками.

Я подготовил дайджест #35 — плотный, полезный и местами очень экспериментальный =)

В этом выпуске: Interop 2026 и курс на единое поведение браузеров, новый ::search-text, border-shape из будущего CSS, lazy-loading для <video>/<audio> на горизонте стандарта, Oxfmt Beta с заявкой на «в десятки раз быстрее», запуск React Foundation.

🧪 HTML и Платформа
- Interop 2026: браузеры синхронизируют ключевые веб-фичи.
- Новый псевдоэлемент ::search-text для стилизации результатов поиска по странице.
- Navigation API стал Baseline, а JS-модули в service worker теперь во всех основных браузерах.

🎨 CSS и дизайн
- border-shape: ранний взгляд на «неквадратную» геометрию интерфейсов.
- Lazy-loading для <video> и <audio> движется к стандарту.
- :near() как возможный селектор «пред-hover» взаимодействий.
- Плюс практичные материалы про underline, спрайты, типографику и кастомные списки.

📦 JavaScript
- Oxfmt Beta: 100% совместимый форматтер, написанный на Rust.
- Заявка на очень высокую скорость для больших кодовых баз и CI.
- Поддержка встроенных языков, сортировка импортов и Tailwind-классов.

⚛️ React и фреймворки
- React Foundation: React/React Native/JSX теперь под эгидой Linux Foundation.
- React Doctor оценивает здоровье проекта по шкале 0–100.
- Свежие материалы про query-абстракции, OpenAPI-driven React, JSON-schema формы.
- Вышли результаты State of React Native 2025.

⚙️ Node.js
- AdonisJS v7: «батарейки в комплекте», OpenTelemetry и типобезопасный DX.
- Разбор защиты от Path Traversal атак в Node.
- Node 25.7 / 24.14, node:sqlite в стадии release candidate.
- В ядре Node обсуждают нативный логгер и ужесточают процесс security-репортов.

🛠 Инструменты и библиотеки
- OpenSeadragon 6.0: мощный апдейт для zoom/pan на сверхбольших изображениях.
- Yoopta Editor 6.0: headless-редактор в стиле Notion для React.
- WordPress 7.0 Beta с фокусом на real-time collaboration.
- Обновления: Vuetify 4, npm 11.10, ESLint 10.0.2, Hono 4.12, pnpm 10.30 и многое другое.

🦊 Лисья шутка недели:
Oxfmt обещает форматировать так быстро, что pre-commit больше не успеет напугать команду.
React переехал в фонд — взрослая жизнь началась официально.
А border-shape уже шепчет: «прямоугольники были лишь началом».

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-35/
26🔥3
DUMP SPB 2026

Плейлисты записей докладов

- Frontend
- Backend
- SA&BA
- Testing
- Management
👍5
Baseline: февраль 2026 или самый скучный выпуск

В это месяце стал Widely available аж целый dirname =)

https://habr.com/ru/articles/994274/

Но ничего, в следующуем месяце новых фич будет 12!
👍6
🦊 Привет, это Фронти!

С 8 Марта, прекрасные девушки в IT и не только — пусть код компилится с первого раза, баги обходят стороной, а дедлайны сами переносятся на понедельник.
Ваш хитренький лис-фронтендер уже припрятал для вас свежий выпуск и праздничное настроение 💐

В этом выпуске: неожиданные нюансы URL со спецсимволами, Popover API и выбор между ним и Dialog, серьезный CSS-эксплойт в Chromium, переход Chrome на двухнедельные релизы, Navigation API в Baseline, Bun 1.3.10, Deno 2.7, Node 25.8 с permission-аудитом.

🧪 HTML и Платформа
- В URL можно встретить переносы строк и табуляции — спецификация и реальное поведение браузеров удивляют.
- Popover API становится нативной базой для всплывающих интерфейсов.
- CSS-эксплойт через @font-feature-values: повод срочно обновить браузеры.
- Chrome уходит на релиз раз в 2 недели.
- Safari TP 238 привез обновления для кастомного <select>.

🎨 CSS и дизайн
- Критичный взгляд на UI-паттерн «чипсов» и его ограничения.
- W3C выпустил CSS Snapshot 2026 — срез состояния стандарта.
- Scroll-driven анимации, Tailwind-практики и полезный гайд по bookmarklet’ам.

📦 JavaScript
- Внешние import maps можно использовать уже сегодня (с рабочим обходным путем).
- WebAssembly Component Model — шаг к «первоклассному» DX в вебе.
- Обсуждение нового подхода к Streams API.
- Bun 1.3.10: переписанный REPL, --target=browser, декораторы.
- Deno 2.7: Temporal, Windows ARM, overrides.

⚛️ React и фреймворки
- React 19.2 Activity: как сохранять состояние (например, у видео) при скрытии компонента.
- Практический кейс миграции с Remix v2 на React Router v7 с ИИ.

📘 TypeScript
- Вышли заметки по миграции с TypeScript 5.x на 6.0.

⚙️ Node.js
- Обсуждают новый годовой релизный цикл Node.js.
- Node 25.8 добавил --permission-audit для мягкого входа в permission model.
- OpenJS запустил программу модернизации Node-проектов.
- Появился npmx.dev для быстрого поиска по npm.

🛠 Инструменты и библиотеки
- AdonisJS v7: «все включено», OpenTelemetry, новый DX.
- Yoopta Editor 6.0, React PDF 10.4, TinyBase 8.0, Dinero.js 2.0.
- CodePen 2.0 в закрытой бете с большим перезапуском платформы.
- Пачка обновлений: Fastify 5.8, AVA 7.0, jose 6.2, next-translate 3.0 и другие.

🦊 Лисья шутка недели:
Chrome теперь релизится так часто, что Can I use не успевает закрыть вкладку.
Popover становится взрослее, а Dialog смотрит на это с легкой ревностью.
И если URL внезапно с переносом строки — это уже не баг, это веб-платформа в 2026.

Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-36/
8813