In this Supercharged Live Code Session, Jake & Surma use a streaming Support Employee, coding in severe time, bugs and all!

No matter whether you are taking a look at live or not, please send in your queries and actions to the people as they will check out them and if they can, service them for you.

Code for this live stream session:


21 thoughts on “Streaming Support Personnel: Live Code Session – Supercharged”

  1. This is the my first time using the Cache interface and I have a question about the about this "caches" object that maybe someone here might know the answer of. Why does this exist? Isn't this exactly the same as "CacheStorage"? Why is "caches" preferred over using "CacheStorage"?

  2. 45:10 I don't think that using promises or async functions necessary defers work. Depending on the task and the underlying hardware they can get resolved in the same frame. I think the only reason they are useful, is that they don't block the event loop, as Jake said. But please correct me if I'm wrong.

  3. Chapters:
    0:09 – Intro & talking through the existing setup.
    9:30 – Creating & registering a service worker that logs to console.
    15:19 – Writing a fetch event with a very basic offline fallback.
    18:12 – Caching HTML, CSS and images, then modifying the fetch listener to create a branded offline page. Includes using static-module to dynamically write JavaScript.
    36:28 – Auto versioning caches.
    42:25 – Deleting caches from previous versions using the "activate" event.
    45:11 – Talking about app shell vs streaming when it comes to speeding up page loads.
    47:25 – Creating an endpoint that serves the middle of an article.
    50:15 – Creating & caching a generic page start & end.
    54:45 – Handling particular routes differently in the fetch event.
    1:01:08 – Combining three responses into a single streaming response.
    1:11:18 – Uh oh encoding issues.
    1:12:56 – Fixing the page title.
    1:14:25 – Showing the performance difference vs app shell.

Leave a Reply

Your email address will not be published. Required fields are marked *