Перейти к содержимому

После падения

Когда браузер закрывается сам

Браузер может исчезнуть посреди работы и унести с собой все открытые вкладки. ARMANOS раз в полминуты записывает, что было на экране, замораживает этот список в миг, когда браузер уходит, и предлагает его обратно при следующем открытии профиля. На вопрос вы отвечаете один раз, и ответ запоминается.
30 секунд
Снимок раз в
До 30 на профиль
Вкладок запоминается
7 дней
Предложение живёт
Ни одного
Адресов вкладок уходит в аккаунт

За чем следит программа

Пока профиль открыт, программа раз в полминуты спрашивает его браузер, что сейчас на экране. Закрытый профиль не спрашивают вовсе.

Встроенный движок отвечает своими окнами. ARMANOS Browser отвечает на местном порту, том же, которым пользуется автоматизация, а браузер, который прямо сейчас ответить не может, молчит, а не говорит, что открытого нет.

Что было открытоЧто попадает в снимок
Страница по http или httpsЕё адрес и её заголовок
Стартовая страница и всё остальное на localhostНичего: стартовая страница открывается сама при каждом запуске
Пустая вкладка, настройки, средства разработчикаНичего: вы их не открывали
Цели расширений и рабочих процессовНичего: это не страницы
Один адрес в двух вкладкахОдна запись
Тридцать первая вкладкаНичего: тридцать это потолок

Снимок пишется тихо

Профиль, который раз в полминуты лезет наверх списка недавно изменённых, хуже, чем отсутствие памяти вообще. Поэтому такая запись не считается вашей правкой.

И дальше этого компьютера она не уходит. Поля, которые едут в ваш аккаунт, перечислены поимённо, и адресов открытых страниц среди них нет.

  • Дата изменения остаётся на месте

    Сортировка по недавно изменённым продолжает значить то, что вы с профилем делали.

  • Нечего писать значит не пишем

    Набор вкладок, не сдвинувшийся с прошлого обхода, диска не касается.

  • Пустой ответ не стирает память

    Браузер, который ещё запускается или перезагружает страницу, не стирает того, что держал минуту назад.

Когда браузер исчезает

Браузер, вышедший с кодом, которого никто не просил, или убитый сигналом, это падение. Нажатая остановка это не оно, и закрытое вами окно тоже.

Последний снимок замораживается прямо там, до того как профиля коснётся что-либо ещё. Следующий запуск затёр бы список раньше, чем вы успели ответить.

  • Сообщение называет профиль

    Оно ведёт к тому профилю, о котором говорит, и, если движок не назвал причину, говорит, сколько вкладок запомнено.

  • Причина, если движок её назвал

    Браузер, успевший написать строку перед смертью, отдаёт её в сообщение, и она встаёт там вместо числа вкладок.

  • Одно сообщение на профиль в календарный час

    Браузер, падающий по кругу, сливается с тем сообщением, которое ещё висит непрочитанным, и не заваливает своими копиями остальные.

  • Пустой снимок ничего не обещает

    Если вкладок в снимке не было, а движок не назвал причину, сообщение говорит, что профиль и его печенье целы, и на этом умолкает.

О чём спрашивают при следующем запуске

Вопрос приходит до того, как браузер стартует: от ответа зависит, с чем он откроется. В нём названы профиль, время ухода браузера и число запомненных вкладок.

Оба ответа окончательны по-своему, а вопрос, закрытый клавишей Esc, считается чистым листом.

  1. 1

    Вернуть их

    Вкладки открываются снова в том порядке, в каком вы их оставили.

  2. 2

    Начать с чистого листа

    Предложение снимается насовсем, чтобы оно не всплывало при каждом запуске.

  3. 3

    Профиль откроется в любом случае

    Вопрос решает судьбу вкладок и ничего больше в запуске.

Куда встают возвращённые вкладки

На ARMANOS Browser они встают за тем, с чем запуск открывается и так: за адресом, куда профиль шёл, а перед ним стартовая страница, если у этого запуска она есть.

У встроенного движка полосы вкладок нет, поэтому каждая возвращается своим окном, открытым тем же ходом, каким программа открывает любое окно этого профиля.

  • Та же папка

    Печенье и хранилища те самые, что у профиля уже были.

  • Тот же выход

    Возвращённое окно уходит через прокси профиля, как и всякое другое его окно.

  • Тот же порядок

    Первая вкладка первой: порядок тот, в каком вы их оставили, а не тот, в каком их вернул диск.

  • Только после удавшегося запуска

    Неудачный запуск сохраняет и вкладки, и само предложение их вернуть.

Что ещё остаётся после плохого выхода

Браузер не единственное, что обрывается на полуслове. При каждом запуске программа проверяет ещё три вещи.

  • Замена сессии на полпути

    Укладка сессии делает два переименования, и профиль, застрявший между ними, собирается обратно из старой копии, потому что новую могли не успеть дописать.

  • Туннель, переживший программу

    На macOS и Linux ssh, поднятый ARMANOS и всё ещё держащий связь с вашим сервером, узнаётся по файлу, который называет только эта программа, и снимается.

  • Каталоги от убитого запуска

    Каталоги туннелей и остатки рабочих каталогов прошлого запуска подметаются, иначе они копятся, пока на диске не кончится место под профиль.

Чего это не делает

  • Работу это не возвращает. Возвращаются адреса; наполовину заполненная форма, недописанное письмо и корзина, которую сайт не успел сохранить, уходят вместе с браузером.
  • Последние полминуты могут не попасть. Вкладку, открытую между двумя обходами, никто не видел, а закрытая перед самым падением может вернуться обратно.
  • Предложение не ждёт вечно. Через неделю оно снимается само, а чистый лист окончателен: второй раз этот профиль не спросят.
  • Убитую саму программу это не покрывает. Список замораживает программа, которая видит уход своего браузера, и когда ARMANOS уходит вместе с ним, замораживать некому.

Как проверить

Каждое утверждение выше держит стенд, который можно запустить.

Служебные адреса и повторы не попадают в снимок, тридцать это потолок, а предложение живёт неделю
apps/desktop/src/lib/tabRestore.js · apps/desktop/test/вкладки-после-падения.js
Память о вкладках не помечает профиль изменённым и не отправляет наверх ни одного адреса
apps/desktop/src/lib/profiles.js · apps/desktop/test/вкладки-после-падения.js
Обычное закрытие не выдаётся за падение, а предложение снимается только после удавшегося запуска
apps/desktop/src/main/main.js · apps/desktop/test/вкладки-после-падения.js
Оборванная замена сессии собирается обратно, а переживший программу туннель снимается
apps/desktop/test/session-sync-folder.js · apps/desktop/test/выход-по-ssh.js

Вопросы

Предложит ли вернуть вкладки обычное закрытие?
Нет. Закрытое окно или нажатая остановка это ваше собственное решение, а предложение бывает только у браузера, который ушёл, когда его не просили.
Что будет, если запустить профиль в группе?
Он откроется без вопроса и без вкладок. Предложение подождёт, пока вы откроете этот профиль отдельно.
Показывают ли в вопросе, что это были за страницы?
Пока нет. В нём профиль, время и число, а заголовки лежат на диске рядом с адресами.
Уходят ли адреса моих открытых вкладок на ваш сервер?
Нет. Поля, которые едут в аккаунт, перечислены поимённо, и открытых адресов среди них нет: они остаются на вашем диске.
Почему раз в полминуты, а не каждую секунду?
Десять открытых профилей, опрошенных каждую секунду, это десять настоящих запросов в секунду впустую. Полминуты успевают за руками.

Сохраните то, что держал браузер

Поставьте ARMANOS и откройте профиль: то, что на экране, начнёт записываться сразу.