This repository has been archived by the owner on Jan 10, 2023. It is now read-only.
Releases: sirko-io/engine
Releases · sirko-io/engine
v0.5.0
Changed
- The engine's config (
sirko.conf
) was migrated to a Toml format. Settings didn't change their position in the config file, so it should be easy to find and specify your settings. Don't forget to backup your current config before upgrading.
Added
- If you use Google Analytics (GA) on your site, now it is possible to import sessions from GA, thus, you can get more realistic predictions earlier. Please, get more details here (sirko-io/engine#40).
- Besides prefetching JavaScript and CSS files, the client was changed to prefetch images too. However, only critical images makes sense to be prefetched. So, a CSS selector for finding images should be provided while setting up the client. (sirko-io/client#36).
v0.4.1
Fixed
- The client only sends paths of pages to the engine. For example,
https://example.org/blog
is a URL of the current page, in this case only/blog
gets sent. The path is used to precache a page. A bug in code cutting off the origin produced broken paths. For example, if a URL was like thishttps://example.org/bar/foo/main.html
, only/main.html
would've been sent to the engine. It leaded to precaching pages which didn't exist. Now the client takes paths as they are (sirko-io/client#33). - Some browsers embed internal assets (for example,
chrome-extension://bmdblncegkenkacieihfhpjfppoconhi/scripts/in-page-script.js
) into pages. URLs of those assets were gathered by the client and later there was an an attempt to precache them. Apparently, they cannot be precached, thus, browsers threw errors. Now the client only gathers URLs which lead to the valid HTTP protocol (sirko-io/client#30).
v0.4.0
Changed
- Prefetching several pages might be fine for some sites. So, the engine got changed to return a few pages which get prefetched by the client then. A max number of returned pages is controlled by a
max_pages_in_prediction
setting. Theconfidence_threshold
setting is still considered. For example, if theconfidence_threshold
is 0.5, only 2 pages can be returned even though themax_pages_in_prediction
is 10.
Added
- All prefetched resources aren't removed from the cache anymore. Now they are moved to an offline cache which is used when a user is offline. The offline cache accumulates all prefetched resources during the user's navigation. Thus, the site can partially work offline (sirko-io/client#29).
v0.3.0
Fixed
- Prefetching a wrong page for an authorized user because of missing cookies (sirko-io/client#26)
- A number of issues related to HTTP requests modifying data (#10, #15, sirko-io/client#1). Now, if there is a request modifying data in a user's transition, the transition won't be tracked, hence, a stale page won't be prefetched.
v0.2.0
Changed
-
The engine doesn't prerender pages anymore. The previous release provided fallback to browsers which don't support the prerender hint. Since the Chrome team deprecated the prerender hint, that fallback turned to a main solution. Now, the client side of Sirko Engine prefetches a predicted page and serves it from the cache once the user visits that page. It means if you already use v0.1.0, the following code can be removed:
sirko('useFallback', true);
Also, it is mandatory to serve a
sirko_sw.js
script from the root of your domain, example:https://demo.sirko.io/sirko_sw.js
Please, get more details here.
-
Performance improvements
Added
- When a page gets prefetched via a service worker, assets (images, JavaScript, CSS files) aren't fetched until the page gets shown. To speed up page loading, the engine got enhanced to store urls to assets (only JavaScript and CSS files) of a page. So, when the engine predicts a next page, the client prefetches the predicted page and assets of the page. Thus, when the user navigates to that page, the page and assets get served from the browser's cache.