Crash recovery
When the browser closes by itself
- 30 seconds
- A snapshot every
- Up to 30 per profile
- Tabs remembered
- 7 days
- The offer lives
- None
- Tab addresses sent to your account
What the app is watching
While a profile is open the app asks its browser what is on screen, once every half minute. A profile that is closed is never asked.
The built-in engine answers from its own windows. ARMANOS Browser answers on the local port it already uses for automation, and a browser that cannot answer right now says nothing rather than saying that nothing is open.
| What was open | What the snapshot keeps |
|---|---|
| A page on http or https | Its address and its title |
| The start page, or anything else on localhost | Nothing: the start page opens itself at every launch |
| A blank tab, settings, developer tools | Nothing: you never opened them |
| Extension and worker targets | Nothing: they are not pages |
| The same address in two tabs | One entry |
| Tab number thirty one | Nothing: thirty is the ceiling |
The snapshot is written quietly
A profile that climbs to the top of your recently changed list every half minute would be worse than no memory at all. So this write is not counted as a change you made.
It also stays on this computer. The fields that travel to your account are named one by one, and the addresses of open pages are not among them.
The change date stays put
Sorting by recently changed keeps meaning what you did to the profile.
Nothing new means nothing written
A set of tabs that has not moved since the last sweep never touches the disk.
An empty answer keeps the memory
A browser still starting, or reloading a page, does not erase what it held a minute ago.
When the browser goes
A browser that exits with a code nobody asked for, or dies on a signal, has crashed. Pressing stop is not that, and neither is closing the window yourself.
The last snapshot is frozen right there, before anything else touches the profile. The next launch would write over the list before you had a chance to answer.
The notification names the profile
It leads to the profile it belongs to, and when the engine named no reason it says how many tabs were remembered.
The reason, when the engine gave one
A browser that printed a line before dying hands that line to the message, and it stands there in place of the tab count.
One message per profile per clock hour
A browser crashing in a loop folds into the message still sitting unread, instead of burying the rest under copies of itself.
When nothing was seen nothing is promised
If the snapshot was empty, and the engine named no reason, the message says the profile and its cookies are intact and stops there.
What you are asked at the next launch
The question comes before the browser starts, because your answer decides what it opens with. It names the profile, the time its browser went, and how many tabs were remembered.
Both answers are final in their own way, and a question closed with Esc counts as the clean slate.
- 1
Bring them back
The tabs open again in the order you left them.
- 2
Start with a clean slate
The offer is dropped for good, so it cannot keep surfacing at every launch.
- 3
Either way the profile opens
The question decides the tabs and nothing else about the launch.
Where the restored tabs land
On ARMANOS Browser they queue behind what the launch already opens with: the address the profile was going to, and ahead of that the start page whenever this launch has one.
The built-in engine has no tab strip, so each one comes back as its own window, opened the way the app opens any window of that profile.
The same folder
Cookies and storage are the ones that profile already had.
The same way out
A restored window leaves through the profile's proxy like every other window of it.
The same order
First tab first: the order is the one you left, not the one the disk returned.
Only after a launch that worked
A launch that fails keeps both the tabs and the offer to bring them back.
What else a bad exit leaves behind
A browser is not the only thing that can be cut off mid sentence. Three more things are checked every time the app starts.
A session swap caught in half
Moving a session in does two renames, and a profile left between them is put back together with the older copy, because the newer one may never have finished being written.
A tunnel that outlived the app
On macOS and Linux an ssh that ARMANOS started and that still holds a connection to your server is found by a file only this app names, and shut down.
Folders from a run that was killed
Tunnel folders and leftover working folders from a previous run are swept, because otherwise they pile up until the disk has no room for a profile.
What this does not do
- It does not bring your work back. Addresses return; a half filled form, an unsent message and a basket the site had not saved yet go with the browser.
- The last half minute can be missing. A tab opened between two sweeps was never seen, and one you closed just before may come back anyway.
- The offer does not wait forever. It goes by itself after a week, and a clean slate is final: that profile is not asked again.
- It does not cover the app itself being killed. The list is frozen by the app watching its browser go, so when ARMANOS goes down too there is nobody left to freeze it.
How to check
Each claim above is held down by a stand you can run.
- Service addresses and repeats stay out, thirty is the ceiling, and the offer expires after a week
- apps/desktop/src/lib/tabRestore.js · apps/desktop/test/вкладки-после-падения.js
- Remembering tabs does not mark the profile changed and sends no address upward
- apps/desktop/src/lib/profiles.js · apps/desktop/test/вкладки-после-падения.js
- An ordinary close is not taken for a crash, and the offer clears only after a launch that worked
- apps/desktop/src/main/main.js · apps/desktop/test/вкладки-после-падения.js
- A session swap cut in half is put back together, and a stray tunnel is shut down
- apps/desktop/test/session-sync-folder.js · apps/desktop/test/выход-по-ssh.js
Questions
- Does an ordinary close offer the tabs back?
- No. Closing the window or pressing stop is your own decision, and the offer exists only for a browser that went unasked.
- What happens when I launch the profile inside a group?
- It opens without the question and without the tabs. The offer waits until you open that profile on its own.
- Does the question show which pages they were?
- Not yet. It gives the profile, the time and the count, while the titles sit on disk beside the addresses.
- Do the addresses of my open tabs reach your server?
- No. The fields that sync are listed by name, and open addresses are not among them: they stay on your own disk.
- Why half a minute and not every second?
- Ten open profiles asked every second is ten real requests a second, for nothing. Half a minute keeps up with hands.
Keep what the browser was holding
Install ARMANOS and open a profile: what is on screen starts being written down at once.