~fabrixxm/activist

UI: contacts view is public
UI: fix buttons in notifications menu
sqlbuilder: fix multiple joins
UI: notification button in mobile footer
Fix psycopg pool connection limits

8 gunicorn threads + 1 task runner max
Add systemd service files
Add 'Show all' and 'Mark all read' to notif menu
Add `Components.get()` to get component by name
Fix checks in `Notification.notify()`
web: set notification seen on get, set all notifications seen via post

also, paginate notifications page
Add test for cached fk objects

models fk properties should cache returned objects
Create notifications for incoming Activities
`db.Notification.notify()` checks activity 

activity must pass checks to be notified
sqlbuilder: handle conditions args with list

`where("col IN ?", [1,2])` now renders correctly as `WHERE col IN (?, ?)`
components: rework `hx()` function

now returns `hx-name="value"` from context `{"hx_name":"value"}`
Notifications WiP
sqlbuilder: fix `Or` and `And`
Fix mypy warnings
UI: handle 'follow'

- update actor card
- append to contacts (if not already in contacts page)
- less queries in contacts page
UI: Contacts page list pending contacts if logged in
Next