How and when to update Actor objects?

Like most folks on here, I’m building my own implementation of AP into my custom software.

Let’s say someone on my instance changes their profile picture, thus changing its URL (assume that, for whatever reason, we can;t simply reuse the old URL). How do I announce this change to others?

Or do I not announce it at all?

If the latter - when are they expected to pull my updated Actor object? Do they not have a version cached locally they reference? How often do they update that cache and what triggers it? Is it a worker process that just in the background checks cache headers or something?

And, for that matter, does that mean I need to implement something similar to ensure my locally cached actor objects (cached to save yet another trip to the server) are kept up to date? What is the expected / best / recommended logic for that?

Thanks in advance!

Changes to an actor document are announced using the Update(Actor) activity. It is delivered to followers, could be sent to following too.

How often do they update that cache and what triggers it?

Depends on the implementation. I fetch actors when any activity is received, but only if the cached document is older than 24 hours.

Awesome - that was exactly the info I needed. Thank you so much!