How Porchlight keeps its service list up to date
Once a day, a signed list from GitHub. Offline, it uses the one it came with.
Porchlight has a service list: every service it knows how to watch, where each one's status page and release notes are, and what its parts are called. It comes built into the app. From version 1.1, Porchlight also keeps it up to date by itself.
What changes without an app update
- A status page, changelog or release feed that moves to a new address.
- A part that's renamed on a status page, such as a region or a product.
- A new service, when its status page is in a format Porchlight already reads.
- How Porchlight spots a service in your code: package names, settings names, files and workflow steps.
What still needs an app update
- A status page in a format Porchlight doesn't read yet.
- A new reader for a page that has no feed.
- A change to how Porchlight decides a verdict.
How it works
- Once a day, and when you open Porchlight if it's been longer, it reads the list from GitHub.
- Signed: Porchlight only uses a list signed with the nicoleslittlebrother key built into the app. Anything else is ignored, so a list can't be swapped for a bad one.
- Only newer: each list has a version number, and Porchlight never goes back to an older one.
- Offline: without a connection, or until the first update arrives, Porchlight uses the built-in list. Everything keeps working.
- New addresses are watched from the next check. New ways of spotting a service apply the next time Porchlight reads an app's folder: press Read it again, or add the app. Your repos are never read again without you.
Settings › About shows which version of the list you have, and when it was updated.
What it sends
Nothing beyond a normal web request to GitHub, the same as opening any public page. No account, nothing about you, your Mac or your code. The list is public, at github.com/garethdotjoseph-bot/nlbdocs.