* Procedures and view for user muting
* Update profile and feed/thread methods for muting, update tests
* Tidy
* Test muting for timeline, actor feed, thread, profile views, misc fixes
* Test mute views, misc fixes
* Add missing file
* Add per-user notification index
* Omit mention and reply notifications from muted users
* Test timing leeway
* introducing appcontext & pds class
* revamp rest of server + auth
* revamp tests
* add to dev-env
* fix api test
* add start method to pds
* hook up terminator before
* PLC AppContext (#425)
* convert plc server to app context
* add start method to plc
* hooke up terminator on server setup
* fix test
* cleanup & pr feedback
* fix up one more test
* Log emails to stdout if no smtp mailer is set (useful for debugging)
* Fancier reset-password email template
* Update reset password flow to use a human-enterable OTP
* Tidy
* Run the email template through prettier
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Begin to decouple message queue consumers from the queue itself
* Tidy
* Reorganize pds message queue code out of db
* Decouple message queue, repo, and actor functionality from db instance w/ services
* Move repo processing into repo service
* Tidy
* Move repo blobs functionality into service
* Tidy
* Ensure to close message queue in all pds tests
* Fix typo
* Force specifying a db when using a service
* Reorg pds record plugins into record service
* Rename pds stream/ to event-stream/
* Tidy and fixes
* Fix typo
* Add failing test for attaching image to a post
* Tidy failing test
* Fix
* Expand the available image resize fit modes
* Add proper validation of glob-prefixed mimes (eg image/*)
* Detect and handle blobs in post embeds
* evert "Expand the available image resize fit modes"
This reverts commit 3390fbe4d091a04f9b67a2885eae19d025747fc4.
* Use fit: inside for post media
* Update tests
* Make the thumbnail optional in external embeds
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Fix the generated type for encoding when the value is */* (close#391)
* Add 'toKnownError' test and fix named error for updateProfile
* Improve blob errors
* Support compression in requests to xrpc-server
* Check payload streaming payload sizes in xrpc-server
* Tidy tests
* Move MaxSizeChecker into common stream utils
* adding in banners & some lex codegen improvements for server
* fix up spacing
* couple small fixes
* client codegen & remove media embed schemas
* hook up banners
* missed a couple of lexicons
* fix byte streaming from mem blobstore
* Enlarge avatar maxSize to 300kb
* Skip the cache on empty files
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Setup interface for image processing
* Implement getInfo() on SharpImageProcessor
* Reorganize pds image processing code
* Implement initial resize() on SharpImageProcessor
* Test sharp image processor, apply a couple fixes
* Tidy
* Implement initial pds image uri builder/signer/verifier
* Initial implementation of image processing server
* Update node types for node v18
* Add disk caching to pds image service
* Test pds image process caching, tidy
* Move pds image processor away from an interface
* Add sharp to pds build externals
* Move away from xrpc-server errors to http-errors for pds image server
* Tidy pds image exports
* Tidy
* Add auth to xrpc-server, refactor to use per-route middleware stack
* Add xrpc-server error middleware, tidy
* Tests in xrpc for for catchall errors and auth
* Tidy
* Update lex-cli for new xrpc-server auth interface
* Update pds lexicon w/ codegen for xrpc auth
* Use xrpc-server auth in pds
* Update tests for newly-required auth
* Update LexXrpcBody encoding to always be a single string with comma-separated values
* Update lexicon union-type to use as a discriminator, and add closed flag to establish if new union members may be added
* Fix to generated code for open unions
* Factor out app.bsky.system.declRef
* Factor out app.bsky.actor.ref and app.bsky.feed.embed
* Factor out com.atproto.repo.strongRef and use app.bsky.actor.ref in more places
* Modify app.bsky.actor.ref to be light reference, add #withInfo for indexed info