Commit Briefs
apple: Pull-to-refresh aliases from main view (master)
Finally! This change implements the mailmux API client in the main view by letting users do the idiomatic 'swipe down to get changes from server' thing.
apple: add mailmux HTTP API client
All it does it fetch aliases for now. It could be better.
apple: Handle custom build configuration with XCode
XCode handles this for us since XCode 13 (the current stable version).
web: present HTTP Basic Auth challenge
rather than just always refusing. This gives us a nice prompt in a web browser and also lets Swift's & Objective-C's HTTP clients correctly handle authentication.
cmd/changeuser: create and change a user on disk
So now we can do it via ssh or something
Delete unused SQL script
Replaced by statements in mailmux itself. Callers of OpenUserDB() and CreateUserDB() get a database initialised for them automatically.
mailmux: use builtin sqlite datetime functions to set modtime
Better to use the functionality provided by sqlite since we've decided to bring on the dependency. Might as well use it.
mailmux: store last modified time of users, aliases
This is useful information that could be used for auditing people abusing the service, some basic non-invasive system metrics, and of course it's useful for users to see in the interface.
mailmux, docs: serialise time as RFC3339, not Unix
this is what Go's time package expects when marshalling time in JSON.
mailmux: limit registration request/response sizes
Hopefully this will prevent any abuse from causing too many problems!