· ✦ · ╭──────────────╮ · ✦
✦ · · │ 0 . 1 . 7 │ · ·
· ✦ ╰──────────────╯ ✦ ·
Одна история, которую этот релиз наконец рассказывает, и одно обещание, которое он делает нерушимым.
🌡 Инструменты теперь участники. Пространство может держать не только людей: сенсор входит в комнату так же, как устройство, — со своими ключами, декларацией того, что он измеряет, и показаниями, которые появляются в панели Instruments у каждого участника. Плоскость, на которой они говорят, запечатана на пространство и едет рядом с разговором, никогда не внутри него: ваши сообщения и температура вашей теплицы — разные виды речи, и реле не читает ни ту, ни другую. Ротации доезжают до инструментов так же, как до устройств: кто-то ушёл — инструмент перепечатывается вместе со всеми. Виртуальная теплица едет с каждым узлом как эталон: подключите её к любому своему пространству и смотрите, как панель дышит.
🔌 И микроконтроллер может быть инструментом — developer preview. SDK QuietInstrument превращает скетч ESP32 в полноценный инструмент: плата держит свои ключи, сама подписывает своё зачисление, сама запечатывает свои показания — байт-в-байт совместимо с узлом, проверено interop-гейтом в CI. Скетч — дюжина строк; одна команда собирает, прошивает и смотрит серийный монитор, а гайд проводит LilyGo T3-S3 с DHT22 от нуля до показаний в панели. Preview значит ровно то, что написано: сегодня плата достигает пространства через USB-стенд рядом с узлом; радио- и сетевые носители, которые сделают её самостоятельной, — следующее решение, и гайд честен о том, по какую сторону этой линии что лежит.
📨 Отправка — факт, а не обещание. Эту часть сформировал полевой отчёт: жмёшь «отправить», «ничего не происходит», текст пропал — жмёшь ещё раз — сообщение приходит дважды. Обе отправки сработали; экран об этом не сказал. Теперь кнопка отвечает в то же нажатие, каждый раз, на любой сети:
- Ваши слова пишутся в долговечный outbox на устройстве до того, как тронута сеть, — поле очищается потому, что текст уже в безопасности.
- Pending-пузырь появляется немедленно, говорит «отправляется…» и честно говорит, когда сети нет: «нет соединения — буду пробовать». Ретраи отступают по экспоненте и держат порядок; закрытие или перезагрузка приложения не теряет ничего — очередь продолжает с того же места.
- Повторять безопасно, потому что отправка теперь идемпотентна: каждый запрос несёт референс, по которому узел дедуплицирует, и ретрай — или нетерпеливый двойной тап — не может отчеканить вторую копию.
- Единственное, что не ретраится никогда, — отказ: если пространство не принимает ваши слова, они возвращаются к вам баннером с причиной и восстановлением текста в один тап. Слова не исчезают. В этом вся доктрина.
- И ваша собственная отправка всегда прокручивается в поле зрения — неподвижность для чтения; вы только что говорили.
🕰 Лента знает, какой сегодня день. Тихая линия между днями — Сегодня, Вчера, затем дата — и время в углу каждого пузыря, с полной датой по ховеру. Разговор, подхваченный через неделю, больше не читается как один бесконечный вечер.
Мелкие честности, приехавшие попутно:
- Закрыт класс «замёрзшей ленты»: ответы API теперь прямо запрещают HTTP-кэширование, и webview не может отдавать вчерашнюю комнату, пока каждый опрос «успешен».
- Шесть строк интерфейса, показывавших свои плейсхолдеры — {who} просит о разговоре, {site} в согласии на воспроизведение, — теперь показывают имя.
- Первый проход цветового ре-грейда интерфейса: цвет уходит с поверхностей и становится смыслом.
- Отправленное сообщение будит курьера сразу, а не отсиживает остаток синк-тика.
⬇ Обновите обе стороны ради плоскости инструментов: показания едут в конвертах, которые носит только 0.1.6+, а панель нова в этой сборке. Всему, что касается отправки, не нужно, чтобы обновлялся кто-то ещё — ваше устройство, ваш outbox.
🐛 Сломалось или обещает больше, чем может доказать? → Полевые заметки.