Cache Fixer v.0.9

1st June 2005 - 00:50

Cache lost if Firefox crashes… Say «No!»

Ноги растут вот отсюда, качать здесь (5kb).

Пара слов о сути проблемы. Firefox склонен к потере кэша после некорректного завершения работы (bug 105843). Всего и сразу. Достаточно прибить процесс из Task Manager и убедиться в этом.

При запуске браузер устанавливает флаг в файле %ProfilePath%\Cache\_CACHE_MAP_, который снимает в ходе корректного завершения работы. Если не снимет, то при следующем запуске браузер видит этот флаг и обнуляет кэш.

Можно озадачить планировщик копированием кэша, можно пропатчить .exe|.dll, можно забить на это и ждать перевода кэша на рельсы SQLite. В общем, варианты есть. Сache Fixer — один из них.

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

Расширение ищет путь к папке Cache в следующих местах (где раньше найдёт, там и будет работать):

  • browser.cache.disk.parent_directory;
  • в локальном профиле (FF1.1);
  • в профиле (FF1.0)

about:config, browser.cache.disk.cache_fixer_debug — если захочется посмотреть некоторую отладочную информацию.

Возможно несколько невразумительное поведение браузера, объясняемое тем, что при запуске браузер считывает содержимое _CACHE_MAP_ в память, а перед выходом записывает его новое состояние на диск. Соответственно, если лиса крошится, то и нового состояния не будет, т.е. пропадут все данные сеанса, который был завершён аварийно. Также возможно «гуляние» размеров кэша, несоответствие суммарного объёма файлов в папке Cache и тех значений, которые показывает сам браузер через about:cache (здесь результаты некоторых экспериментов). Но, если больших неприятностей это не доставляет, то можно махнуть рукой; дело-то житейское. Браузер падает не так уж и часто, а потерять кэш лишь одной сессии и поиметь пару-тройку (даже десятков) «лишних» мегабайт гораздо лучше, чем потерять всё.

PS: мне самому в этой ситуации больше нравится идея патча .exe Опера, но и расширение может кому пригодится.

Categories: Soft | comments: (4)

Комментарии

1. kullibbin 1st June 2005 - 01:59

Если честно, ноги растут не с форума, а с багзиллы :) там ребята долго уже пытаются эту проблему решить.

Mash:

Ноги именно этого расширения растут с форума. Багзиллу читал, но сам бы туда не скоро полез, хотя и интересовался этим поведением FF; да и полез бы вообще — не известно.

Это всё мелочи. :)

2. Vovan's 8th July 2005 - 13:30

А в чистой Мозилле такое расширение возможно? А то раздражает меня этот фф ;)

Mash:

Расширение работает и в Mozilla.

3. Vovan's 8th July 2005 - 14:26

//мне самому в этой ситуации больше нравится идея патча .exe

А у кого нет «.ехе»? Выходит, что расширение единственный выход. Так ведь? Да ещё ведь куча разных сборок ФФ. Да плюс к тому, Мозилла на том же движке…

4. SoulWar 29th December 2005 - 18:16

Расширение обновляется? Или застыло на месте?
Если да то где новые версии.
Или проект закрыт?

Комментарии временно отключены.