• Español – América Latina
  • Português – Brasil
  • Tiếng Việt

Strategies for service worker caching

Until now, there have only been mentions and tiny code snippets of the Cache interface . To use service workers effectively, it's necessary to adopt one or more caching strategies, which requires a bit of familiarity with the Cache interface.

A caching strategy is an interaction between a service worker's fetch event and the Cache interface. How a caching strategy is written depends; for example, it may be preferable to handle requests for static assets differently than documents, and this affects how a caching strategy is composed.

Before we get into the strategies themselves, let's take a second to talk about what the Cache interface isn't, what it is, and a quick rundown of some of the methods it offers to manage service worker caches.

The Cache interface versus the HTTP cache

If you haven't worked with the Cache interface before, it might be tempting to think of it as the same as, or at least related to the HTTP cache. This is not the case.

  • The Cache interface is a caching mechanism entirely separate from the HTTP cache.
  • Whatever Cache-Control configuration you use to influence the HTTP cache has no influence on what assets get stored in the Cache interface.

It helps to think of browser caches as layered. The HTTP cache is a low-level cache driven by key-value pairs with directives expressed in HTTP headers.

By contrast, the Cache interface is a high-level cache driven by a JavaScript API. This offers more flexibility than when using relatively simplistic HTTP key-value pairs, and is one half of what makes caching strategies possible. Some important API methods around service worker caches are:

  • CacheStorage.open to create a new Cache instance.
  • Cache.add and Cache.put to store network responses in a service worker cache.
  • Cache.match to locate a cached response in a Cache instance.
  • Cache.delete to remove a cached response from a Cache instance.

These are just a few. There are other useful methods, but these are the basic ones you'll see used later on in this guide.

The humble fetch event

The other half of a caching strategy is the service worker's fetch event . So far in this documentation, you've heard a bit about "intercepting network requests", and the fetch event inside of a service worker is where this happens:

This is a toy example—and one you can see in action for yourself —but it's one that offers a glimpse into what service workers can do. The above code does the following:

  • Inspect the request's destination property to see if this is an image request.
  • If the image is in the service worker cache, serve it from there. If not, fetch the image from the network, store the response in the cache, and return the network response.
  • All other requests are passed through the service worker with no interaction with the cache.

A fetch's event object contains a request property which some useful bits of information to help you identify the type of each request:

  • url , which is the URL for the network request currently being handled by the fetch event.
  • method , which is the request method (e.g., GET or POST ).
  • mode , which describes the request's mode. A value of 'navigate' is often used to distinguish requests for HTML documents from other requests.
  • destination , which describes the type of content being requested in a way that avoids using the requested asset's file extension.

Once again, asynchrony is the name of the game. You'll recall that the install event offers an event.waitUntil method that takes a promise, and waits for it to resolve before continuing on to activation. The fetch event offers a similar event.respondWith method that you can use to return the result of an asynchronous fetch request or a response returned by the Cache interface's match method .

Caching strategies

Now that you've got a little familiarity with Cache instances and the fetch event handler, you're ready to dive into some service worker caching strategies. While the possibilities are practically endless, this guide will stick with the strategies that ship with Workbox, so you can get a sense of what goes on in Workbox's internals.

Shows flow from page, to service worker, to cache.

Let's start with a simple caching strategy we'll call "Cache Only". It's just that: when the service worker is in control of the page, matching requests will only ever go to the cache. This means that any cached assets will need to be precached in order to be available for the pattern to work, and that those assets will never be updated in the cache until the service worker is updated.

Above, an array of assets is precached at install time. When the service worker handles fetches, we check if the request URL handled by the fetch event is in the array of precached assets. If so, we grab the resource from the cache, and skip the network. Other requests pass through to the network, and only the network. To see this strategy in action, check out this demo with your console open.

Network only

Shows flow from page, to service worker, to network.

The opposite of "Cache Only" is "Network Only", where a request is passed through a service worker to the network without any interaction with the service worker cache. This is a good strategy for ensuring content freshness (think markup), but the tradeoff is that it will never work when the user is offline.

Ensuring a request passes through to the network just means you don't call event.respondWith for a matching request. If you want to be explicit, you can slap an empty return; in your fetch event callback for requests you want to pass through to the network. This is what happens in the "Cache Only" strategy demo for requests that aren't precached.

Cache first, falling back to network

Shows flow from page, to service worker, to cache, then to network if not in the cache.

This strategy is where things get a little more involved. For matching requests, the process goes like this:

  • The request hits the cache. If the asset is in the cache, serve it from there.
  • If the request is not in the cache, go to the network.
  • Once the network request finishes, add it to the cache, then return the response from the network.

Here's an example of this strategy, which you can test out in a live demo :

Though this example covers just images, this is a great strategy to apply to all static assets (such as CSS, JavaScript, images, and fonts), especially hash-versioned ones. It offers a speed boost for immutable assets by side-stepping any content freshness checks with the server the HTTP cache may kick off. More importantly, any cached assets will be available offline.

Network first, falling back to cache

Shows flow from page, to service worker, to network, then to cache if network not available.

If you were to flip "Cache first, network second" on its head, you end up with the "Network first, cache second" strategy, which is what it sounds like:

  • You go to the network first for a request, and place the response in the cache.
  • If you're offline at a later point, you fall back to the latest version of that response in the cache.

This strategy is great for HTML or API requests when, while online, you want the most recent version of a resource, yet want to give offline access to the most recent available version. Here's what that might look like when applied to requests for HTML:

You can try this out in a demo . First, go to the page. You may need to reload before the HTML response is placed in the cache. Then in your developer tools, simulate an offline connection , and reload again. The last available version will be served instantly from the cache.

In situations where offline capability is important, but you need to balance that capability with access to the most recent version of a bit of markup or API data, "Network first, cache second" is a solid strategy that achieves that goal.

Stale-while-revalidate

Shows flow from page, to service worker, to cache, then from network to cache.

Of the strategies we've covered so far, "Stale-while-revalidate" is the most complex. It's similar to the last two strategies in some ways, but the procedure prioritizes speed of access for a resource, while also keeping it up to date in the background. This strategy goes something like:

  • On the first request for an asset, fetch it from the network, place it in the cache, and return the network response.
  • On subsequent requests, serve the asset from the cache first, then "in the background," re-request it from the network and update the asset's cache entry.
  • For requests after that, you'll receive the last version fetched from the network that was placed in the cache in the prior step.

This is an excellent strategy for things that are sort of important to keep up to date, but are not crucial. Think of stuff like avatars for a social media site. They get updated when users get around to doing so, but the latest version isn't strictly necessary on every request.

You can see this in action in yet another live demo , particularly if you pay attention to the network tab in your browser's developer tools, and its CacheStorage viewer (if your browser's developer tools has such a tool).

Onward to Workbox!

This document wraps up our review of service worker's API, as well as related APIs, which means you've learned enough about how to directly use service workers to start tinkering with Workbox!

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2021-09-24 UTC.

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service Worker Caching doesn't work stable in Safari Desktop [webpack-plugin] #2540

@Viktor286hearts

Viktor286hearts commented Jun 11, 2020 • edited

@jeffposnick

jeffposnick commented Jun 11, 2020

Sorry, something went wrong.

@jeffposnick

Viktor286hearts commented Jun 11, 2020

Jeffposnick commented jun 12, 2020.

@karendolan

No branches or pull requests

@jeffposnick

Love2Dev - The Progressive Web Application Experts

What is the Service Worker ⚙️ Cache Storage Limit? How Much Your Progressive Web App (PWA) Can Store

Chris Love

Last Updated - Sat Jan 09 2021

Browser Service Worker Cache Capacity

Service workers enable web sites to work offline using the Cache API. Developers need to design the logic to manage how site assets are persisted in storage.

This can lead to many challenges for developers to solve when planning their caching strategies.

How much is too much? And what is the minimum my application needs?

Page assets come in many forms, HTML, CSS, JavaScript, images and font files are obvious. These are all classified as URL addressable. This means you can type a URL in the browser address bar and retrieve the file.

Your origin (domain name) is given a certain amount of free space to do what it wants with. That free space is shared between all origin storage: LocalStorage, IndexedDB, Filesystem, and of course Caches. The amount available to service worker caching isn't defined in the specification. The amount varies by browser depending on device and storage conditions.

Files are not the only content that can be cached. localStorage is great to persist key value pairs where the values are strings. IndexedDB is more robust and can store many more types of data efficiently. I think of it a a light weight document database in the browser. appCache and service worker cache persist files, URL addressable resources to be technically correct.

But service worker cache is not the only browser storage medium you need to monitor. In addition to the service worker cache size limit you should also ask the following questions:

  • What is the IndexedDB size limit?
  • What is the localStorage size limit?

You could add appCache to the mix, but of course that is moot when a service worker is registered. Plus appCache is being deprecated by all browsers today.

How much space do you get and what happens when that space runs out?

The good news is you should have more than enough space to cache the assets you need to make your web site work offline. That is of course unless your site is a little on the obese side or just massive amount of pages and images.

Browsers have settled on common pattern when it comes to available space. Of course, since this is more of a gentleman's agreement among browsers it could change and vary by browser.

At the September 2017 Microsoft Edge Developer Summit Ali Alabbas shared the general rule user agents are reaching consensus when it comes to storage quota.

The amount of storage is dependent upon how much available disk space the customer's device has. The general range is 50MB over 20GB. Before you get all excited about 20GB of storage you still need to be responsible.

The common rule is 20% of available space or the following breakdown:

<= 8gb="" free="" -="" 50mb32-128gb="" 4%="" of="" volume="" size<="" p="">

128GB - 4% or 20GB, whichever is smaller

consensus-storage-capacity

Remember those gigabytes must be moved across the wire and your customer may not appreciate you caching your entire website over their cellular data plan. This is why Amazon does not cache their entire site using a service worker!

These storage capacity and quota rules tend to be honored by Microsoft Edge, FireFox, Chrome and Opera.

Since mobile devices account for the vast majority of web traffic these days that is what I target when designing a caching strategy. The average consumer mobile device is roughly the equivalent of a Nexus 5 phone. Once, big bulky apps are installed and you account for photos, videos and music downloads there is little to no free space on the average device.

iOS Safari Service Worker Cache Limit

Oh Apple, why do you always have to complicate things?

A drawback of the service worker cache specification is the lack of a capacity or storage limit rule or algorithm. This means each browser vendor decides cache limits and invalidation strategy.

Up to this point Apple has decided to limit the service worker cache storage limit to roughly 50MB. It is actually limited to 50MiB, which equates to about 52MB. It is also allocated per 'partition', which is sort of a complicated concept related to iFrames.

But the story does not end there. No it last for about 2 weeks, literally.

This is not 100% true. If the user adds the PWA to the homescreen iOS will persist the cache for a long period of time. It feels like it is more or less permanent.

The caches are also shared when the user opens the PWA in Safari as well as from the homescreen. Prior to iOS 14 the two use cases kept separate storage. So things have gotten better.

The way Apple has chosen to implement Progressive Web Application persistence is, well odd. A PWA that goes unused for a 'few weeks' (we think it is 2 weeks) the iOS device deletes or purges the stored values. That is unless it has been added to the homescreen.

Not exactly the most user friendly policy and definitely not favorable to a business using service workers to provide better user experience.

If you are wondering why Apple has chosen this path, it is nothing new, for them. They have always had a very aggressive history with limiting how much content can be cached. They try to error on the side of limiting caching to make sure the device has storage available.

And if you have every looked at the size of native apps on iOS you would understand why storage is at a premium on iOS. They are huge!

This means you will need to plan accordingly. While most sites wont have an issue with the 50MiB storage limit, some will.

But 50MBs, what can you do?

I always implement some sort of invalidation rules in my service workers, which means my PWAs have controllable cache that wont hit quota limits.

I hate having to create some sort of polyfil or special case logic for a specific browser or device, but maybe this is one you need to create a special storage algorithm.

IndexedDB (IDB) can be your fallback. If you are not familiar with IDB it is an unstructured data store, like MongoDB and other NoSQL databases.

Despite Apple taking forever to support IDB it has been supported since Safari 8. The good news is the iOS Safari IndexedDB limit is up to  500MB* .

Take that 500MB as a low end average. I have stored a few GB in iOS Safari in some of my testing. I am currently working on more than one project to persist audio and video files in IDB instead of service worker cache for offline access. If the size of free disk space is over 1 GB, the default limit is 500 MB; otherwise it ishalf the free disk space.

This is good news. At least you have a fallback to store more data if needed. Plus IDB is available within your service worker!

The Storage API

A new web platform feature shipping today is the Storage API . Currently Chrome and Opera are the only browsers shipping support, but others should join soon.

Because this is a new feature you should only access the storage estimator after checking for support. This can be done by verifying the storage object (technically StorageManager) exists in the navigator. After that you should verify the estimate method belongs to the StorageManager.

The estimate method returns a promise that resolves an instance of a StorageEstimate object. This has two properties, usage and quota. Both are conservative approximations of the bytes associated with the value. The usage property is an estimate of how much you have cached. The quota property is a close estimate of how many bytes available to store content.

The values are in bytes, which means to convert to Megabytes you should divide by 1,000,000 (or 1048576 is you want to use 1024 as your kilobyte standard).

example-storage-used-vs-quota-fresh-load

As you can see I have used 18MB (mostly caching product images) of the 33GB I have available.

Again, don't architect for 30+GB of storage. This is the exception as most are on phones.

If I use my goal of limiting my storage to 35MB then I need a mechanism in place to purge files from cache. The Fast Furniture demo site represents a common e-commerce presence, with a large amount of product images. They account for over 90% of the amount cached.

In my upcoming Progressive Web Application course I go into detail how you might create an cache management system. The Fast Furniture site uses multiple caches with different rules applied to different asset types. Product images have their own cache and a limit of how many files can be stored at a given time.

To make it more complex you could extend to logic to account for the average asset size and adjust your rules. For example Fast Furniture uses responsive images, which means I might be able to store more product images. Of course that is subject to the available quota.

Don't worry if this sounds complicated, it does not have to be complex. I always say start out simple and grow from there.

Understanding how much storage is available to your application is important when planning your experience. You need to find a good balance between caching everything and caching responsibly.

Browsers are reaching a general consensus as to what constitutes a proper storage capacity rule. As with all things in the developer space it all depends, mostly on the consumer's device.

Since most visitors are on a mobile device, you should plan for about 50MB of available space. This should keep you within a safe zone that enables you to create a good experience without consuming the user's bandwidth.

As the available quota increases you could also increase the amount of content you cache.

Progressive Web Application Development by Example

We use cookies to give you the best experience possible. By continuing, we'll assume you're cool with our cookie policy.

Install Love2Dev for quick, easy access from your homescreen or start menu.

Googles Ads

  • Español – América Latina
  • Português – Brasil
  • Tiếng Việt
  • Collections
  • Network reliability

Service workers and the Cache Storage API

Jeff Posnick

You're locked in a struggle for network reliability. The browser's HTTP cache is your first line of defense, but as you've learned, it's only really effective when loading versioned URLs that you've previously visited. On its own, the HTTP cache is not enough.

Fortunately, two newer tools are available to help turn the tide in your favor: service workers and the Cache Storage API . Since they're so often used together, it's worth learning about them both at the same time.

Service workers

A service worker is built into the browser and controlled by a bit of extra JavaScript code that you are responsible for creating. You deploy this alongside the other files that make up your actual web application.

A service worker has some special powers. Among other duties, it patiently waits for your web app to make an outgoing request, and then springs into action by intercepting it. What the service worker does with this intercepted request is up to you.

For some requests, the best course of action might be just to allow the request to continue on to the network, just like what would happen if there were no service worker at all.

For other requests, though, you can take advantage of something more flexible than the browser's HTTP cache, and return a reliably fast response without having to worry about the network. That entails using the other piece of the puzzle: the Cache Storage API.

The Cache Storage API

Browser Support

The Cache Storage API opens up a whole new range of possibilities, by giving developers complete control over the contents of the cache. Instead of relying on a combination of HTTP headers and the browser's built-in heuristics , the Cache Storage API exposes a code-driven approach to caching. The Cache Storage API is particularly useful when called from your service worker's JavaScript.

Wait… there's another cache to think about now?

You're probably asking yourself questions like "Do I still need to configure my HTTP headers?" and "What can I do with this new cache that wasn't possible with the HTTP cache?" Don't worry—those are natural reactions.

It's still recommended that you configure the Cache-Control headers on your web server, even when you know that you're using the Cache Storage API. You can usually get away with setting Cache-Control: no-cache for unversioned URLs, and/or Cache-Control: max-age=31536000 for URLs that contain versioning information, like hashes.

When populating the Cache Storage API cache, the browser defaults to checking for existing entries in the HTTP cache, and uses those if found. If you're adding versioned URLs to the Cache Storage API cache, the browser avoids an additional network request. The flip side of this is that if you're using misconfigured Cache-Control headers, like specifying a long-lived cache lifetime for an unversioned URL, you can end up making things worse by adding that stale content to the Cache Storage API. Getting your HTTP cache behavior sorted is a prerequisite for effectively using the Cache Storage API.

As for what's now possible with this new API, the answer is: a lot. Some common uses that would be difficult or impossible with just the HTTP cache include:

  • Use a "refresh in the background" approach to cached content, known as stale-while-revalidate.
  • Impose a cap on the maximum number of assets to cache, and implement a custom expiration policy to remove items once that limit is reached.
  • Compare previously cached and fresh network responses to see if anything's changed, and enable the user to update content (with a button, for example) when data has actually been updated.

Check out The Cache API: A quick guide to learn more.

API nuts and bolts

There are some things to keep in mind about the API's design:

  • Request objects are used as the unique keys when reading and writing to these caches. As a convenience, you can pass in a URL string like 'https://example.com/index.html' as the key instead of an actual Request object, and the API will automatically handle that for you.
  • Response objects are used as the values in these caches.
  • The Cache-Control header on a given Response is effectively ignored when caching data. There are no automatic, built-in expiration or freshness checks, and once you store an item in the cache, it will persist until your code explicitly removes it. (There are libraries to simplify cache maintenance on your behalf. They'll be covered later on in this series.)
  • Unlike with older, synchronous APIs such as LocalStorage , all Cache Storage API operations are asynchronous.

A quick detour: promises and async/await

Service workers and the Cache Storage API use asynchronous programming concepts . In particular, they rely heavily on promises to represent the future result of async operations. You should familiarize yourself with promises , and the related async / await syntax, before diving in.

Don't deploy that code… yet

While they provide an important foundation, and can be used as-is, both service workers and the Cache Storage API are effectively lower-level building blocks, with a number of edge cases and "gotchas". There are some higher-level tools that can help smooth the difficult bits of those APIs, and provide all you need to build a production-ready service worker. The next guide covers one such tool: Workbox .

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2018-11-05 UTC.

  • Skip to main content
  • Skip to search
  • Skip to select language
  • Sign up for free

ServiceWorkerRegistration: updateViaCache property

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers .

Note: This feature is available in Web Workers .

The updateViaCache read-only property of the ServiceWorkerRegistration interface returns the value of the setting used to determine the circumstances in which the browser will consult the HTTP cache when it tries to update the service worker or any scripts that are imported via importScripts() .

Returns one of the following values:

  • imports , meaning the HTTP cache is not consulted for updates to the service worker script, but is consulted for scripts imported using importScripts() . This is the default value.
  • all , meaning the HTTP cache is consulted for updates to the service worker script and for scripts imported using importScripts() .
  • none , meaning the HTTP cache is never consulted.

The following example shows the use of updateViaCache.

Specifications

Browser compatibility.

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

  • Using Service Workers
  • Service workers basic code example
  • Using web workers

an image, when javascript is unavailable

DC/Dox Film Festival Unveils Second Annual Lineup (EXCLUSIVE)

By Addie Morfoot

Addie Morfoot

Contributor

  • DC/Dox Film Festival Unveils Second Annual Lineup (EXCLUSIVE) 5 hours ago
  • Ina Fichman, Oscar-Nominated Producer of ‘Fire of Love,’ Talks the Future of Hot Docs 12 hours ago
  • How ‘Black Box Diaries’ Director Shiori Ito Set Out to Change How Japanese Society Deals With Sexual Assault 1 day ago

Christopher Reeves Documentary A Super Man

DC/Dox has unveiled the lineup for its second annual edition, which takes place in Washington, D.C., from June 13-16. The documentary festival will kick things off with “ Super/Man: The Christopher Reeve Story ,” the Warner Bros. Discovery film that premiered at Sundance earlier this year.

Popular on Variety

In April, Sitney revealed that Ian Bonhôte and Peter Ettedgui’s “Super/Man: The Christopher Reeve Story” was one of four docus that would make up DC/Dox’s Signature Screenings section. The remaining three docus in the program are: Lana Wilson’s “Look Into My Eyes” (DC/Dox Centerpiece film), Dawn Porter’s “Luther: Never Too Much” (DC/Dox Spotlight film), and Sally Aitkin’s “Every Little Thing” (DC/Dox Closing Night film). Each docu premiered at Sundance 2024.

“These four signature films capture important aspects of our human experience: resilience in the face of adversity, the beauty found in small acts of kindness, the power of art and music to unite people in our shared humanity, and the universal desire to find higher meaning in our lives,” said Sitney.

Six feature docus will make their world premieres at DC/Dox: They are: AJ Schnack’s “Majority Rules,” about Alaska’s decision to use ranked-choice voting; Catherine Gund’s Ross Kauffman’s “Wild Wild Space” an exploration of private companies jostling for dominance in space; “Paint Me a Road Out of Here,” about Faith Ringgold’s painting “For the Women’s House”; Bridget Hunnicutt’s “Breaking the West,” about a Russian oligarch’s ambitions in the West; Alexandra Shiva and Lindsey Megrue’s observational portrait of a psychiatric unit for young adults titled “One South: Portrait of a Psyche Ward”; and Asako Gladsjo’s “The Calling, which follows a group of medical students in the Bronx.

DC/Dox will also screen the North American premieres of Peter Middleton’s “Apollo Thirteen: Survival,” which chronicles the almost disastrous NASA mission, and Chad Freidrichs’ “The Cinema Within” about the art and science of film editing. Jeremy Xido’s “The Bones,” an examination of the high-stakes world of dinosaur bone trading, will make its U.S. premiere at the fest. The doc premiered in March at CPH:Dox.

“With this second edition, DC/Dox continues to provide a festival experience that can only be found in the nation’s capital,” says DC/Dox co-founder Jamie Shor. “This festival allows filmmakers the unique opportunity to connect with an audience that can be influencers and amplifiers of their work, as well as appreciators.”

DC/Dox 2024 PROGRAM

Signature Screenings

Signature Screenings Opening Night Screening: Thursday, June 13

SUPER/MAN:THE CHRISTOPHER REEVE STORY: DIRS Ian Bonhôte and Peter Ettedgui. PRODS Lizzie Gillett, Robert Ford, and Ian Bonhôte. United Kingdom, USA. The story of Christopher Reeve is an astonishing rise from unknown actor to iconic movie star, marked by his definitive portrayal of Clark Kent/Superman. After becoming a quadriplegic he became a passionate advocate for disability rights, all while continuing his career in cinema, and dedicating himself to his beloved family. Courtesy of Warner Bros. Discovery. Spotlight Screening: Friday, June 14

LUTHER: NEVER TOO MUCH: DIR Dawn Porter. PRODS Trish D. Chetty, Ged Doherty, Jamie Foxx, Datari Turner, and Leah Smith. USA. Using a wealth of rarely seen archives, the virtuoso vocalist Luther Vandross tells his own story with assistance from his closest friends including Mariah Carey, Dionne Warwick, Valerie Simpson, and Roberta Flack. Courtesy of Sony Music Entertainment and Sony Music Publishing. Centerpiece Screening: Saturday, June 15

LOOK INTO MY EYES: DIR Lana Wilson. PRODS Kyle Martin and Lana Wilson. USA. A group of New York City psychics conduct deeply intimate readings for their clients, revealing a kaleidoscope of loneliness, connection, and healing. Courtesy of A24. Closing Night Screening: Sunday, June 16 EVERY LITTLE THING: DIR Sally Aitken. PRODS Bettina Dalton, Oli Harbottle, and Anna Godas. Australia. Amid the glamor of Hollywood, Los Angeles, a woman finds herself on a transformative journey as she nurtures wounded hummingbirds, unraveling a visually captivating and magical tale of love, fragility, healing, and the delicate beauty in tiny acts of greatness. Courtesy of Wildbear Entertainment, Dogwoof, and HHMI Tangled Bank Studios.

Features 1-800-ON-HER-OWN: DIR Dana Flor. PROD Amy Hobby. USA. 1-800-ON-HER-OWN follows groundbreaking indie musician/feminist Ani DiFranco, founder of the first “woman-run non-corporate queer-happy” label, Righteous Babe Records, on a wild road trip from her punk-folk past to her life today as an activist, mother and rock star. Throughout, Ani remains resolutely true to herself, no matter the cost. ADMISSIONS GRANTED: DIRS Hao Wu and Miao Wang. PRODS Hao Wu and Miao Wang. USA. In a landmark Supreme Court case pitting Asian American plaintiffs against Harvard University, activists on both sides wrestle with hard truths about race and equality, as the fate of affirmative action hangs in the balance. Courtesy of MSNBC Films. AIN’T NO BACK TO A MERRY-GO-ROUND: DIR Ilana Trachtman. PROD Ilana Trachtman. USA. Five Howard University students rode a segregated carousel outside Washington, DC in 1960, igniting the first organized interracial civil rights protest in US history. This is the untold story of the Jews they marched with, Nazis they provoked, Congressmen they inspired, and Civil Rights leaders they became. Screening as part of DC/FRAME. AMERICA’S BURNING: DIR David Smick. PROD Ian Michaels. USA. America’s Burning explores the country’s divide through the lens of the U.S. economy and examines the big question — could an economic civil war take us all down? AND SO IT BEGINS: DIR Ramona S. Diaz. PROD Ramona S. Diaz. USA. Amidst the traditional pomp and circumstance of Filipino elections, a quirky people’s movement rises to defend the nation against deepening threats to truth and democracy. In a collective act of joy as a form of resistance, hope flickers against the backdrop of increasing autocracy. ANTIDOTE: DIR James Jones. PROD James Jones. United Kingdom. A deeply immersive and urgent film that reveals the cost of standing up to Vladimir Putin and daring to tell the truth about modern Russia. APOLLO THIRTEEN: SURVIVAL: DIR Peter Middleton. PRODS Hugh Davies and Clive Patterson. USA. In April 1970, NASA faced the greatest crisis in its history: three astronauts were halfway to the moon on a spacecraft that had suffered a catastrophic explosion. With access to NASA’s complete audiovisual archives, APOLLO THIRTEEN: SURVIVAL tells the story of a space mission like no other. North American Premiere. Courtesy of Netflix. THE BITTER PILL: DIR Clay Tweel. PRODS Tim Grant, Shannon E. Riggs, and Mary Rohlich. USA. A small-town lawyer takes on a 500 billion-dollar sector of the pharmaceutical industry to aid his community in its recovery from the opioid epidemic. BLACK BOX DIARIES: DIR Shiori Ito. PRODS Eric Nyari, Hanna Aqvilin, and Shiori Ito. Japan, United Kingdom, USA. Young journalist Shiori Ito embarks on a courageous investigation of her own sexual assault in an improbable attempt to prosecute her high-profile offender. Her quest becomes a landmark case in Japan, exposing the country’s outdated judicial and societal systems. Courtesy of Dogwoof. BLACK TABLE: DIRS John Antonio James and Bill Mack. PRODS Katie Taber, John Antonio James, Bill Mack. USA. For Black students at an elite college during the early days of the culture wars, the most important lessons didn’t happen inside the classroom. THE BONES: DIR Jeremy Xido. PROD Ina Fichman. Canada, Germany. Traversing the globe, paleontologists are on a quest to unearth dinosaur fossils that may hold the key to save humanity from extinction. It’s a race against time before the bones disappear into the hands of fossil dealers, who stand to make millions by selling them on the open market. US Premiere. Courtesy of Dogwoof. BREAKING THE WEST: DIR Bridget Hunnicutt. PRODS Bridget Hunnicutt, Mike Gehman, Eddie Stafford. USA. A Russian oligarch’s dream of becoming a pop star is derailed, as he is accused of influencing the 2016 US presidential election. World Premiere. Screening as part of DC/FRAME. THE CALLING: DIR Asako Gladsjo. PROD Tanya Blake. USA. Over the course of a year, a diverse group of medical students at Albert Einstein College of Medicine in the Bronx learn what it takes to become doctors serving one of America’s most underserved communities. World Premiere. Courtesy of HHMI Tangled Bank Studios. CHAMPIONS OF THE GOLDEN VALLEY: DIR Ben Sturgulewski. PRODS Katie Stjernholm and Baktash Ahadi. USA. In the peaks of Afghanistan, villagers from rival ethnic groups build makeshift skis and convene for a thrilling mountain race that requires incredible camaraderie and resilience – lessons they must call upon when they experience the collapse of their country to the Taliban. THE CINEMA WITHIN: DIR Chad Freidrichs. PRODS Chad Freidrichs and Jaime Freidrichs. USA. Film editor Walter Murch, film scholar David Bordwell, and a group of psychologists suggest that film editing is profoundly “natural,” but in remote Turkish mountains, a budding researcher – alongside people who have never seen films – puts this deepest of cinematic ideas to the test. North American Premiere.

DAUGHTERS: DIRS Angela Patton and Natalie Rae. PRODS Natalie Rae, Lisa Mazzotta, Justin Benoliel, James Cunningham, Mindy Goldberg, Sam Bisbee, Kathryn Everett, and Laura Choi Raycroft. USA. Four young girls prepare for a special Daddy-Daughter Dance with their incarcerated fathers as part of a unique fatherhood program in a Washington, DC jail. Courtesy of Netflix.

DRIVER: DIR Nesa Azimi. PRODS Nesa Azimi, Nicolas Borel, and Ines Hofmann Kanna. USA. After losing everything, Desiree Wood takes a second lease on life as a long-haul truck driver. Alongside an irreverent group of women drivers, she fights for a life on the road.

EMERGENT CITY: DIRS Kelly Anderson and Jay Arthur Sterrenberg. PRODS Brenda Avila-Hanna, Kelly Anderson. USA. As rents and sea levels rise, Brooklyn residents confronting a new real estate development navigate a tangled web of power, money and politics.

THE FIRST CLASS: Lee Hirsh. PRODS. Robert Fernandez, Lee Hirsch. USA. A rousing documentary that immerses viewers into the lives of the very first students and teachers at Memphis’s Crosstown High.

HOLLYWOODGATE: DIR Ibrahim Nash’at. PRODS Talal Derki, Odessa Rae, and Shane Boris. Germany. When the United States withdrew from Afghanistan, the Taliban retook control of the ravaged country and immediately found an American base loaded with weaponry. Unprecedented and audacious, director Ibrahim Nash’at’s HOLLYWOODGATE spends a year inside Afghanistan following the Taliban as they take possession of the cache America left behind—and transform from a fundamentalist militia into a heavily armed military regime.

INHERITANCE: DIRS Matt Moyer and Amy Toensing. PRODS Matt Moyer and Amy Toensing. USA. Filmed over 11 years, INHERITANCE follows Curtis, a young boy, as he grows up in rural Appalachia in a family and community surrounded by substance use disorder and poverty. Can Curtis break the cycle of addiction that has plagued his family for generations?

INTERCEPTED: DIR Oksana Karpovych. PRODS Rocío B. Fuentes, Pauline Tran Van Lieu, Lucie Rego, Darya Bassel, and Olha Beskhmelnytsina. Canada, France, Ukraine. Quiet scenes of everyday life for Ukrainians since the full-scale invasion play out in stark contrast with intercepted phone conversations between Russian soldiers and their families, creating a stunning tension between sound and image.

LOVE MACHINA: DIR Peter Sillen. PRODS Brendan Doyle and Peter Sillen. USA. LOVE MACHINA follows Bina48, a humanoid AI, commissioned in 2007 by Martine & Bina Rothblatt. An early sketch of potential digital consciousness, Bina48 is our vehicle to explore the Rothblatts’ futurist ideas and their quest to be in love forever.

MADE IN ETHIOPIA: DIRS Xinyan Yu and Max Duncan. PRODS Tamara Dawit, Xinyan Yu, and Max Duncan. Canada, Ethiopia, USA, United Kingdom. When a massive Chinese factory complex attempts a high-stakes expansion in rural Ethiopia, three women in search of prosperity have their faith in industrialization tested to the limit. Courtesy of Dogwoof.

MEDIHA: DIR Hasan Oswald. PRODS Hasan Oswald, Annelise Mecca, Fahrinisa Campana, Alexander Spiess, and Stephen Nemeth. USA. Mediha, a teenage Yazidi girl who has recently returned from ISIS captivity, turns her camera on herself to process her trauma. She confronts her past through personal video-diaries, reclaiming her voice and stepping bravely towards the future. Courtesy of The Film Collaborative.

NEW WAVE: Elizabeth Ai. PRODS. Rachel Sine, Elizabeth Ai. USA. Mile-high hair. Synthesized music. Underground parties. Elizabeth Ai was on a mission to excavate an untold story of rebellious punks in the chaotic world of 80s Vietnamese new wave until she rediscovered a hidden past. Courtesy of The Film Collaborative.

OMAR AND CEDRIC: IF THIS EVER GETS WEIRD: DIR Nicolas Jack Davies. PRODS. Germany. Whittled down from hundreds of hours of footage shot by Omar Rodriguez-Lopez and Cedric Bixler-Zavala, this film offers an all-access pass to the masterminds behind the Grammy award-winning band, The Mars Volta. Courtesy of Autlook Filmsales.

ONE SOUTH: PORTRAIT OF A PSYCH UNIT: DIRS Alexandra Shiva and Lindsey Megrue. PROD Matt Gottesfeld. USA. A deeply intimate, two-part observational portrait of an inpatient psychiatric unit in Queens, NY that specializes in treating young adults in acute crisis. World Premiere. Courtesy of HBO Documentary Films.

PAINT ME A ROAD OUT OF HERE: DIR Catherine Gund. PROD Tanya Selvaratnam. USA. Featuring artists Faith Ringgold and Mary Baxter, PAINT ME A ROAD OUT OF HERE uncovers the whitewashed history of Faith’s masterpiece For the Women’s House and follows its 50-year journey from Rikers Island to the Brooklyn Museum in a heartbreaking, funny, and true parable for a world without mass incarceration. World Premiere.

A PHOTOGRAPHIC MEMORY: DIR Rachel Elizabeth Seed. PRODS Kirsten Johnson, Maida Lynn, Hinda Gilbert, and Robina Riccitiello. USA. A PHOTOGRAPHIC MEMORY is an intimate, genre-bending portrait of a daughter’s attempt to piece together a portrait of her mother, an avant-garde journalist and a woman she never knew. Uncovering the vast archive Sheila Turner Seed produced, including lost interviews with iconic photographers Henri Cartier-Bresson, Gordon Parks, Cecil Beaton, Bruce Davidson, Lisette Model, and others, the film explores memory, legacy, and stories left untold. Courtesy of The Film Collaborative.

PORCELAIN WAR: DIRS Brendan Bellomo and Slava Leontyev. PRODS Aniela Sidorska, Paula DuPre’ Pesmen, Camilla Mazzaferro, and Olivia Ahnemann. USA. Under roaring fighter jets, Ukrainian artists Slava, Anya, and Andrey choose to stay behind. Defiantly finding beauty amid destruction, they show that although it’s easy to make people afraid, it’s hard to destroy their passion for living.

PRECONCEIVED: DIRS Sabrine Keane and Kate Dumke. PRODS Heather Keane, Maggie Contreras, and Sabrine Keane. USA. PRECONCEIVED explores the pervasive presence of crisis pregnancy centers throughout the US, and their role in furthering the anti-abortion movement. Courtesy of The Film Collaborative.

THE RIDE AHEAD: DIRS Dan Habib and Samuel Habib. PROD Erica Lupinacci. USA. Samuel Habib is a typical 21-year-old, itching to move out, start a career and find love. But no one tells you how to be an adult, let alone an adult with a disability. Can a community of disability activists help him follow his dreams?

SABBATH QUEEN: DIR Sandi DuBowski. PROD Sandi DuBowski. USA. Filmed over 21 years, SABBATH QUEEN follows Amichai Lau-Lavie, descendent of 38 generations of rabbis, from drag-queen rebel to rabbi, as he radically reinvents religion and ritual, challenges patriarchy and supremacy, and stands up for peace.

SECRET MALL APARTMENT: DIR Jeremy Workman. PROD Jeremy Workman. USA. In 2003, eight young Rhode Islanders created a secret apartment in a hidden space inside the Providence Place Mall and lived in it for four years, filming along the way. More than a wild prank, the secret apartment became a meaningful place for everyone involved.

SHAKING IT UP: THE LIFE AND TIMES OF LIZ CARPENTER: DIRS Abby Ginzberg and Christy Carpenter. PRODS Abby Ginzberg and Christy Carpenter. USA. Over her 89 years, Liz Carpenter was often front and center where history was unfolding, leaving her own indelible mark on some of the most vivid moments and movements that shaped the twentieth century. As journalist, vice-presidential advisor, White House official, author, humorist, and feminist leader she blazed important trails.

SKYWALKERS: A LOVE STORY: DIRS Jeff Zimbalist and Maria Bukhonina. PRODS Jeff Zimbalist, Maria Bukhonina, Chris Smith, and Tamir Ardon. USA. To save their careers and their relationships, a daredevil couple journeys across the globe to illegally climb the world’s last super skyscraper and perform a life-or-death acrobatic stunt on the spire. Courtesy of Netflix.

SOUNDTRACK TO A COUP D’ETAT: DIR Johan Grimonprez. PRODS Daan Milius and Rémi Grellety. France. Jazz and decolonization are entwined in this historical rollercoaster that rewrites the Cold War episode that led musicians Abbey Lincoln and Max Roach to crash the UN Security Council in protest against the murder of Congolese leader Patrice Lumumba.

STORY & PICTURES BY: DIR Joanna Rudnick. PRODS Joanna Rudnick, Tim Horsburgh, and Korelan Matteson. USA. This is a story about the boundary pushers who shape souls and give children strange dreams; picture book creators who are changing the narrative for the next generation, even when their own lives are not fairytales.

SUGARCANE: DIRS Julian Brave NoiseCat and Emily Kassie. PRODS Emily Kassie and Kellen Quinn. USA, Canada. An investigation into abuse and missing children at an Indian residential school ignites a reckoning on the nearby Sugarcane Reserve. Courtesy of National Geographic Documentary Films.

UNION: DIRS Brett Story and Stephen Maing. PRODS Brett Story, Stephen Maing, Samantha Curley, Mars Verrone, and Martin Dicicco. USA. The Amazon Labor Union (ALU)—a group of current and former Amazon workers in New York City’s Staten Island—takes on one of the world’s largest and most powerful companies in the fight to unionize. Courtesy of The Film Collaborative.

WAR GAME: DIRS Jesse Moss and Tony Gerber. PRODS Todd Lubin, Jesse Moss, Jack Turner, Mark DiCristofaro, Jessica Grimshaw, and Nick Shumaker. USA. A bipartisan group of U.S. defense, intelligence, and elected policymakers spanning five presidential administrations participate in an unscripted role-play exercise, set on January 6, 2025, in which they confront a political coup backed by rogue members of the U.S. military, in the wake of a contested presidential election.

WILD WILD SPACE: DIR Ross Kauffman. PRODS Jaye Callahan, Ashlee Vance, Justin Falvey, Darryl Frank, Christopher Collins, Lydia Tenaglia, and Craig H. Shepherd. USA. Less than one hundred miles above our heads is where some of the most valuable real estate in the universe lives: Low Earth Orbit. This is an extraterrestrial land grab, a galactic Wild West where the cowboys are visionaries, tinkerers, and capitalists dead set on owning the future. WILD WILD SPACE delivers the audience into this critical and unknown world. World Premiere. Courtesy of HBO Documentary Films.

14 PAINTINGS: DIR Dongnan Chen. PRODS Jiaqing Lin, Chongjun Li, Dongnan Chen, Jisong Li, and Heying Chen. China. A field study of fourteen paintings from China’s Dafen village, as the government rebrands the copy-painting district as a hub for original art.

51ST STATE: DIR Hannah Rosenzweig. PRODS List Rubin and Ray Whitehouse. USA. 51ST STATE explores the emerging national issue of DC statehood from the personal perspective of one of DC’s most vibrant Gen Z leaders – set against the overlooked cultural backdrop of our capital city and a deep yet virtually unknown crack in our democracy. World Premiere. Screening as part of DC/FRAME.

ANYUKA: DIR Maya Erdelyi. PROD Marga Varea. USA. A story of a marvelous and tragic life as told across three generations.

BEEN THERE: DIR Corina Schwingruber Ilić. PROD Stella Händler. Switzerland. Weekend trips, city breaks, a detour into nature or around the world, tourists become invaders in search of the best pictures.

THE BIG WAIT: DIR Yannick Jamey. PRODS Lucy Pijnenburg and Yannick Jamey. Australia. In a remote desert town in Australia, population two, a couple manages an emergency airport and keeps vacant cottages in pristine condition, waiting for visitors who never seem to arrive.

BOB’S FUNERAL: DIR Jack Dunphy. PROD Jordan Tetewsky. USA. Searching for the root of generational trauma, the director takes a camera into his estranged grandfather’s funeral.

A BORDER BETWEEN US: DIR Riad Arfin. PROD Charlotte Hailstone. United Kingdom. How does a couple with roots in two different countries find a place to make home? North American Premiere.

THE CALLERS: DIR Lindsey Dryden. PRODS Colleen Cassingham, Samantha Steele, Lindsey Dryden. USA. Anonymous documentary testimony from the UK’s oldest queer support line is blended with imagined creative scenes to tell the stories of those who have sought help from it in times of need.

CAN I HUG YOU?: DIR Elahe Esmaili. PROD Hossein Behboudi Rad. Iran, United Kingdom. In the Iranian city of Qom, restrictions are imposed on women in the name of “sexual safety.” Hossein grew up in this context, but as a young boy he found himself victimized, left to carry this secret into adulthood. Now, with the help of his wife Elahe, he is confronting his trauma. North American Premiere.

CHRISTMAS, EVERY DAY: DIR Faye Tsakas. PRODS Enrique Pedraza Botero, Rowan Ings, Lauren Howell, and Faye Tsakas. USA. From their rural Alabama home, two preteen girls market fashion and beauty products to thousands of online fans.

CONTRACTIONS: DIR Lynne Sachs. PRODS Emily Berisso and Laura Goodman. USA. Intimate confessions, paired with experimental choreography outside a woman’s clinic in Memphis, offer a glimpse into the end of safe and legal abortion access in the US. Plays with companion audio piece, WE CONTINUE TO SPEAK, featuring recordings of the participants and producers of CONTRACTIONS as they vocalize their reactions to the reduction of women’s bodily autonomy in the United States.

EAT FLOWERS: DIR River Autumn Finlay. PRODS Cig Harvey and Sashka Rothchild. USA. When a dear friend is forced into isolation with a rare form of leukemia, artist Cig Harvey sets out to fill her sterile world with beauty and magic.

FAMILIA: DIRS Picho García and Gabriela Pena. PRODS Gabriela Pena and Picho García. Chile. The dual nature of social media is revealed when a young man tries to get an appealing profile picture, while the family WhatsApp chat is sharing the last days of the grandfather’s life

FRANK: DIR David Gauvey Herbert. PRODS Lance Oppenheim, Abigail Rowe, and Nate Hurtsellers. USA. At 99 years old, Frank Lucianna is America’s oldest practicing attorney. Now, he’s preparing for his final criminal trial.

HELLO STRANGER: DIR Amélie Hardy. PRODS Sarah Mannering and Fanny Drew. Canada. Between loads of laundry at the corner laundromat, Cooper shares the tumultuous story of her gender reassignment journey.

HINDSIGHT: DIR Max Rykov. PRODS Anna Rykova and Igor Rykov. Ukraine, USA. A visual meditation on the memories of two young Ukrainians emerging from the fall of the Iron Curtain, Hindsight looks at the fragility of our roots, the impermanence of our cultures, and the transience of our freedom through the lens of a VHS camera in the late 1990s. Screening as part of DC/FRAME.

HOLD THE LINE: DIR Daniel Lombroso. PROD Devon Blackwell. USA. When the largest Protestant organization in the U.S. decides to purge women in leadership positions, one prominent female pastor fights back. East Coast Premiere. Courtesy of The New Yorker.

I AM THE IMMACULATE CONCEPTION: DIR Frank Eli Martin. PRODS Sophie Outhwaite and Solomon Golding. United Kingdom. A visionary devotion to the Virgin Mary in rural Ireland reveals the hushed secrets that exist beneath the surface of the country’s Catholic institutions.

IN DUE SEASON: DIR Ashley O’Shay. PROD Cherrelle Swain. USA. Despite the Obama-era push for expansion under the Affordable Care Act, ten states—mainly in the South—opted out, leaving many low-income families without healthcare coverage. IN DUE SEASON introduces us to three individuals caught in this gap. World Premiere.

INSTRUMENTS OF A BEATING HEART: DIR Ema Ryan Yamazaki. PROD Eric Nyari. Japan. As first-grader Ayame traverses the ups and downs of music auditions and performances, lessons of sacrifice and resilience in the Japanese education system are revealed. World Premiere. Courtesy of The New York Times Op-Docs.

JE M’APPELLE MARIIA: DIR Juho Reinikainen. PRODS Hedi NIkzad, Aalto University, and ELO Film School Finland. Finland. Ukrainian Mother and daughter Liubov and Mariia start on a European journey toward Mariia’s big dream of visiting Paris and studying in France.

THE LEGACY OF LEE’S FLOWER SHOP: DIR Kamilah Thurmon. PRODS Rick Lee, Stacie Lee, and Kristie Lee. USA. Lee’s Flower and Card Shop, the oldest Black-owned flower shop in Washington, DC, has planted seeds of wisdom and perseverance in the District since 1945. Screening as part of DC/FRAME.

MY DEAD DAD: DIRS Abby Ellis and Erik Osterholm. PRODS Omar Mullick, Michael Simkin, and Erik Osterholm. USA. With a cult-like following at the New York Times, Christopher Gray throws his family for a posthumous loop when he requests that his body be defleshed and his skeleton preserved for permanent display—a request his daughter strictly abides, but not before a last father-daughter road trip along the way.

ON THE BATTLEFIELD: DIRS Theresa Delsoin, Lisa Marie Malloy, J.P. Sniadecki, and Ray Whitaker. PRODS Rachel Burns, Karin Chien, Judson Childs, Theresa Delsoin, Clarence Dossie, Wynne Hannan, Lisa Marie Malloy, J.P. Sniadecki, and Ray Whitaker. USA. In the Southern Illinois region of Little Egypt, a sound recordist walks through the fields where once stood Pyramid Courts – the housing projects that formed the heart of the Black community of his hometown, Cairo.

ONE STORY AT A TIME: CELESTE LECESNE: DIRS Eva Tenuto and Natalia Iyudin. PROD Kashka Glowacka. USA. Celeste Lecesne candidly shares how he escaped the confines of homophobia by sharing his truth with the world in an off-broadway solo-show that becomes an Academy Award-winning film and ultimately inspires The Trevor Project, the largest suicide prevention lifeline for LGBTQIA+ youth.

THE ONLY GIRL IN THE ORCHESTRA: DIR Molly O’Brien. PRODS Lisa Remington and Molly O’Brien. USA. Orin O’Brien never wanted the spotlight, but when Leonard Bernstein made her the first female musician hired by the NY Philharmonic, it was inevitable. Exploring Orin’s remarkable career, we discover the key to life: “You don’t mind playing second fiddle.”

PENN F—ING STATION: DIR Claire Read. PRODS Nora DeLigter and Claire Read. USA. In NYC, the debate over how to fix Penn Station erupts between the city’s power brokers and residents. But what’s at stake is not just a transit hub; it’s the future of the city. World Premiere.

PUBLIC DEFENDER: DIR Andrea Kalin. PRODS Andrea Kalin, Ethan Oser, Kate Woodsome, Liz Gilbert Cohen, and Janice Engel. USA. What happens when a liberal public defender represents right-wing January 6th rioters? PUBLIC DEFENDER takes on America’s epidemic of division and misinformation with humanity and comic relief, modeling how to restore trust and accountability one relationship at a time. Screening as part of DC/FRAME.

THE PUZZLE PALACE: DIRS Jenny Schweitzer Bell and Brian Bell. PRODS Brian Bell, Jenny Schweitzer Bell, Justin Lacob, Kenny Laubbacher, and Bryn Mooser. USA. Amassing the world’s largest puzzle collection is a labor of love for one inseparable couple.

THE QUILTERS: DIR Jenifer McShane. PROD Jenifer McShane. USA. A quilting group inside a maximum security prison is an unlikely setting where incarcerated men create personalized quilts for local foster children. Through this process and the relationships formed, we witness the power of art to restore an individual’s view of themselves and others. World Premiere.

SEAT 31: ZOOEY ZEPHYR: DIR Kimberly Reed. PRODS Kimberly Reed and Robin Honan. USA. After Zooey Zephyr’s expulsion from the Montana House of Representatives for defending transgender medical care, she made a nearby bench her “office.” Director Kimberly Reed’s intimate camera transforms this shocking political moment into a portrait of trans and queer joy.

THE SOUND OF THE WIND: DIR Maria Pankova. PROD Sophia Carr-Gomm. United Kingdom. Yuliia has become a refugee in Scotland due to the war in Ukraine. She is fighting for the future of her children while trying to maintain her relationship with her husband, who is on the frontline.

THE TEST: DIRS Claudia Myers and Laura Waters Hinson. PROD Heather Brumley. USA. A Ghanaian maintenance worker at a Virginia retirement community dreams of becoming an American citizen to provide a better life for his family. With their future at stake, he enlists the help of two elderly residents to prepare for the biggest test of his life: the US Citizenship exam. Screening as part of DC/FRAME.

TO BE DESTROYED: DIR Arthur Bradford. PRODS Jennifer Ollman and Katie Taber. USA. Author Dave Eggers travels to Rapid City, SD after learning that five books, including his novel, The Circle, were removed from local high school shelves and designated “to be destroyed”. Courtesy of MSNBC Films.

TO BE INVISIBLE: DIR Myah Overstreet. PRODS Myah Overstreet, Devon Blackwell, Melissa Fajardo, Jennifer Redfearn, and Jason Spingarn-Koff. USA. For over three years, Alexis and Kellie have been fighting to get their children back. With the assistance of a former social worker turned parent advocate, these mothers are battling to reunite with their children, who were removed from their homes by the children’s welfare service.

UNTIL HE’S BACK: DIR Jacqueline Baylon. PROD Jacqueline Baylon. USA. After learning that his son, Yahya, has died at sea trying to get to Spain, Ahmed Tchiche must find a way to bring his remains back home to Morocco so he and his family can have a proper goodbye.

WE EXIST IN MEMORY: DIR Darian Woehr. PROD Hailey Sadler. USA. How do you rebuild home from nothing but memories? Through the candid conversations between a grandmother and grandchild living in refuge, we witness the complexity of raising a new generation in displacement.

WEEKEND VISITS: DIR Pete Quandt. PRODS Hannah Whisenant and Garson Ormiston. USA. Jessi, an incarcerated mother at a rural Virginia prison, gets the rare experience of an extended visitation with her sweet and hyperactive 9-year-old, Ryleigh.

WINDING PATH: DIRS Ross Kauffman and Alexandra Lazarowich. PROD Robin Honan. USA. Eastern Shoshone medical student Jenna Murray spent summers on the Wind River Indian Reservation helping her grandfather any way she could. When he suddenly dies, she must find a way to heal before realizing her dream of a life in medicine.

WOULDN’T MAKE IT ANY OTHER WAY: DIR Hao Zhou. PRODS Tyler Hill, Merrill Sterritt, and Carlo Velayo. USA. Having built a colorful queer life in Iowa, an aspiring costume designer visits their island homeland of Guam to make costumes for a children’s theater while reconnecting with distanced parents.

YOU CAN’T SHRINK LOVE: DIR Veena Rao. PROD Veena Rao. USA. An artist gives life in miniature to the memories of our most beloved companions.

More From Our Brands

Their song spawned an internet mystery. now they’re ready to tell their story, the macallan’s new cirque du soleil experience lets you enjoy whisky and death-defying stunts, uab players joining athletes.org means time for labor law refresher, be tough on dirt but gentle on your body with the best soaps for sensitive skin, presumed innocent trailer: jake gyllenhaal is suspected of murder following a steamy affair — watch, verify it's you, please log in.

Quantcast

IMAGES

  1. How to force update a service worker on Chrome, Firefox and Safari

    safari service worker cache

  2. How to force update a service worker on Chrome, Firefox and Safari

    safari service worker cache

  3. How to clear the cache in Safari

    safari service worker cache

  4. How to Clear Cache in Safari for Mac

    safari service worker cache

  5. How to clear your cache on Safari on a Mac, iPhone, or iPad to make it

    safari service worker cache

  6. How to Access the Cache in Safari

    safari service worker cache

VIDEO

  1. How to Clear Safari Cache

  2. Solving Safari Woes: Staying Logged into Your Google Account ?

  3. Javascript Service Worker & Cache Storage

  4. Angular PWA & Service Workers (install app, push notifications, offline cache and updates)

  5. How to Clear Cache & Cookies Safari for MacBook Pro m3

  6. Clear Safari cache history and cookies on iPhone

COMMENTS

  1. Using Service Workers

    This article provides information on getting started with service workers, including basic architecture, registering a service worker, the installation and activation process for a new service worker, updating your service worker, cache control and custom responses, all in the context of a simple app with offline functionality.

  2. Debugging Service Workers in Safari

    Have you ever seen the dreaded "service worker can't load its script" error? Do you wonder why your caches don't seem to work? This video shows you how to de...

  3. Strategies for service worker caching

    Caching strategies. Cache only. Network only. Cache first, falling back to network. Network first, falling back to cache. Stale-while-revalidate. Onward to Workbox! Until now, there have only been mentions and tiny code snippets of the Cache interface . To use service workers effectively, it's necessary to adopt one or more caching strategies ...

  4. Service workers

    When an app requests a resource covered by the service worker's scope, including when a user is offline, the service worker intercepts the request, acting as a network proxy. It can then decide if it should serve the resource from the cache via the Cache Storage API, from the network as normally would happen without a service worker, or create ...

  5. Service Worker Caching doesn't work stable in Safari Desktop ...

    Based on workbox logs, http requests weren't passed into service-worker by Safari and served from a native cache instead. The issue could be related to not full support of "MessagePort API" in Service Workers by Safari. Related issues found: [iOS] Safari is using memory cache instead of service worker. Background sync fallback in Safari not working

  6. Caching

    The Cache Storage API is available from different contexts: The window context (your PWA's main thread). The service worker. Any other workers you use. One advantage of managing your cache using service workers is that its lifecycle is not tied to the window, which means you are not blocking the main thread.

  7. What is the Service Worker ⚙️ Cache Storage Limit? How ...

    A drawback of the service worker cache specification is the lack of a capacity or storage limit rule or algorithm. This means each browser vendor decides cache limits and invalidation strategy. Up to this point Apple has decided to limit the service worker cache storage limit to roughly 50MB.

  8. Prefetching, prerendering, and service worker precaching

    Service worker precaching. It's also possible to speculatively prefetch resources using a service worker.Service worker precaching can fetch and save resources using the Cache API, allowing the browser to serve the request using the Cache API without going to the network. Service worker precaching uses a very effective service worker caching strategy, known as the cache-only strategy.

  9. Cache Handling Using Service Workers and the Cache API

    The Cache API allows developers to control cache memory with no sweat. This memory is not to be confused with the browser cache/memory cache nor the HTTP cache. The Cache API allows HTTP Request caching which can be useful on almost any website out there. Combined with the unique power that service workers unlock, it is possible to offer ...

  10. Service workers and iOS / Safari

    It is a wrapper around the Safari webview. Its primary purpose is to make it easy for you map over your Chrome bookmarks, etc to iOS. Because of the nature of iOS Safari is the ONLY browser on the platform. All other 'browsers' are merely wrappers around the safari webview control. So service worker support is limited to weather Safari and the ...

  11. Service workers and the Cache Storage API

    11.1. Source. The Cache Storage API opens up a whole new range of possibilities, by giving developers complete control over the contents of the cache. Instead of relying on a combination of HTTP headers and the browser's built-in heuristics , the Cache Storage API exposes a code-driven approach to caching. The Cache Storage API is particularly ...

  12. What we know about the Moscow concert hall attack

    CNN —. Russia has been left reeling in the wake of the nation's worst terrorist attack in decades. ISIS has claimed responsibility for the massacre, which saw armed assailants storm a popular ...

  13. Moscow

    Moscow City River Cam, Russia. This live HD webcam at the Maxima Panorama hotel features breathtaking panoramic views of Moscow city and the banks of the Moskva River (peкa Москвa, Москвa-peкa, Moskva-reka), which flows through central Moscow, Russia 's capital. As indicated on the map further down the page, the Maxima Panorama ...

  14. ServiceWorkerRegistration: updateViaCache property

    Note: This feature is available in Web Workers. The updateViaCache read-only property of the ServiceWorkerRegistration interface returns the value of the setting used to determine the circumstances in which the browser will consult the HTTP cache when it tries to update the service worker or any scripts that are imported via importScripts().

  15. Crocus City Hall attack

    On 22 March 2024, a terrorist attack which was carried out by the Islamic State (IS) occurred at the Crocus City Hall music venue in Krasnogorsk, Moscow Oblast, Russia.. The attack began at around 20:00 MSK (), shortly before the Russian band Picnic was scheduled to play a sold-out show at the venue. Four gunmen carried out a mass shooting, as well as slashing attacks on the people gathered at ...

  16. Sergey Alexandrovich Ambartsumyan (born November 3, 1952 ...

    Sergey Alexandrovich Ambartsumyan is a doctor of technical sciences, a professor at the State Academy of Professional Retraining and Advanced Studies for Leaders and Investment Professionals (GASIS), head of the department "Monolithic House Building". He is an honorary builder of the city of Moscow, Honored Worker of Industry of the Republic of North Ossetia-Alania.

  17. Service Worker stuck in infinite installing state (iOS Safari)

    The reason the update loop was occurring was because Safari would not release the old cert after I updated the bindings. Now Chrome does have similar behavior with it not using the new cert, but it would not cause an infinite update loop. Turns out the solution is simple (This is for IIS): Update your site binding to the new cert.

  18. DC/Dox Film Festival Unveils Second Annual Lineup

    The Amazon Labor Union (ALU)—a group of current and former Amazon workers in New York City's Staten Island—takes on one of the world's largest and most powerful companies in the fight to ...

  19. javascript

    Apr 7, 2021 at 17:15. Then try the following code in the JS console on your page: cache = await caches.open("00001"); await cache.addAll("/"); and look in the cache section in the devtools. If this works, then its probably a promise thats chained incorrectly.