TGViewer
Вебня Вебня @webnya · 4.41K subscribers
Post #2126 8.21K
В Safari 14.1 сломан localStorage

Вчера Jake Archibald обнаружил, что localStorage сломан в последнем релизе Safari таким образом, что каждая вкладка читает свой собственный экземпляр хранилища, а не делит общий с другими вкладкми origin'а. И хотя при записи в localStorage вкладки получают событие change, они не могут получить новое значение, так как читают из своего собственного экземпляра хранилища.
Эта механика используется как для синхронизации между вкладками, так использовалась и для коммуникации между вкладаками, пока не появился BroadcastChannel. Сегодня BroadcastChannel важен для PWA, так как используется для коммуникации между Service Worker'ом и закладками. Интерфейс появился в Chromium и Firefox 5 лет назад, в Edge с переходом на Chromium. В Safari же тикет на имплементацию висит без движения уже почти 5 лет. Поэтому для Safari используют полифилы, использующие синхронизацию через localStorage, которая сейчас сломана.
Баг связан с самим Safari, а не его движком (WebKit) и затрагивает только macOS – Safari на iOS не затронут. Инженеры Apple уже пофиксили проблему, но когда выкатится патч не известно, так как они не могут это комментировать, хотя понимают, что это существенная регрессия... Вероятно патч выйдет со следующим релизом macOS.
Пока обходное решение использовать IndexedDB в связке с Service Worker'ом.
More from @webnya
  1. Feb 23, 2022Добавление поддержки ShadowRealms в WebKit В WebKit была добавлена поддержка пропозала Sha…
  2. Feb 23, 2022Monorepo.tools "Все что вам нужно знать о монорепах и инструментах, чтобы их построить" –…
  3. Feb 22, 2022Релиз Yarn 3.2 В новом релизе была добавлена поддержка поля libc. Её можно использовать со…
  4. Feb 21, 2022В GitHub появилась поддержка добавления диаграмм с помощью синтаксиса Mermaid. Доступно со…
  5. Feb 17, 2022Версии 100 браузеров Firefox и Chrome Совсем скоро Firefox и Chrome достигнут версий 100,…
  6. Feb 16, 2022О Вебне, паузе в новостях и планах на будущее Привет! В последнее время тут было очень мал…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →