Commits


sync changelog


add cache-info


cache: keep track of the total size and number of cached pages


mcache_tab: free previous copies of that page


rename util.c -> utils.c for consistency


move util.c declarations in utils.h it's not spelled `util.h' because otherwise it'd get included instead of /usr/include/util.h


de-duplicate hash_* function: collect them in util.c


save parser name across mcache_tab/mcache_lookup


simplify the caching API - don't expose the evbuffer where we store the cached page - cache to/from tabs instead of buffers


fix start_loading_animation usage the idiom if (load_next_page(...)) start_loading_anim(...); is fundamentally wrong because `load_next_page' (or previous page, or anything else that call into load_url) *may* load all the page before returning (thanks to the cache, but not only, cf. load_page_from_str.) Instead, let's call start_loadign_anim at the start of make_request so it's always called in the right moment. Cache and other special pages don't end up calling make_request anyway, and we already call stop_loading_anim when a request finishes (or fails.) move start_loading_anim up in make_request.


provide a way to bypass the cache This changes the last argument of load_url to be a `mode' bitmap instead of a boolean ``nohist''. LU_MODE_NOHIST is the old 1, LU_MODE_NONE is provided just for readability and the new LU_MODE_NOCACHE allows to bypass the caching when loading a page. Telescope only uses the cache when: - re-opens a closed tab - navigates backward and forward in the history All other situations result in the usual network request.


cache only gemini:// and gopher:// pages


add an in-memory cache store see github issue #1


fringe-ignore-offset is already at its default


document fringe-ignore-offset