Notion наконец-то работает офлайн: как инженеры победили закон подлости

Notion научился работать без интернета — теперь можно править базу знаний даже в метро, где Wi-Fi пропадает быстрее, чем энтузиазм на утреннем стендапе.
Если вы когда-нибудь пытались открыть Notion в метро и видели анимированный логотип, который крутился до самой вашей станции, — эта новость для вас. Команда Notion наконец-то раскачала офлайн-режим, и это не просто «кешируем странички», а полноценная синхронизация с локальным хранилищем.
Инженеры признаются: сделать Notion полностью рабочим без интернета было задачей уровня «собрать IKEA-стеллаж с закрытыми глазами». Основная проблема — это структура данных Notion, где каждый блок может ссылаться на любой другой. Чтобы не сойти с ума от конфликтов синхронизации, ребята применили CRDT (Conflict-free Replicated Data Types) — ту же магию, что лежит в основе Figma и Google Docs. Теперь можно смело править одну страницу с ноутбука и телефона, а при reconnect всё сольётся само.
Конечно, не обошлось без компромиссов. В офлайн-режиме недоступны некоторые функции: например, поиск по всем страницам (только по открытым) и вложения, которые не успели закешироваться. Но это лучше, чем смотреть на бесконечный спиннер и проклинать создателей за то, что они не предусмотрели поездку в деревню. Для разработчиков это ещё и отличный кейс: как построить offline-first приложение, не порвав себе шаблон.
Комментарий студии METABYTE: Мы как раз недавно делали похожий механизм синхронизации для одного стартапа — и да, CRDT спасает, но тесты на конфликты лучше писать с вечера пятницы, чтобы к понедельнику уже не плакать.