* remove `neg` on the labels that ozone emits
* no negs in appview either
* no negs on self-labels
* no neg on self labels in ozone either
* fix query labels test
* mv appview
* copy
* finalize copy
* package names
* big WIP
* first pass at mod servce
* some tidy
* tidy & fix compiler errors
* rename to ozone, db migrations, add to dev-env & pds cfg
* getRecord & getRepo mostly working
* fix open handle
* get record tests all working
* moderation events working
* statuses working
* tidy test suite
* search repos
* server & db tests
* moderation tests
* wip daemon + push events
* pds fanout working
* fix db test
* fanning takedowns out to appview
* rm try/catch
* bsky moderation test
* introduce mod subject wrappers
* more tidy
* refactor event reversal
* tidy some db stuff
* tidy
* rename service to mod-service
* fix test
* tidy config
* refactor auth in bsky
* wip patching up auto-mod
* add label ingester in appview
* fix a couple build issues
* fix some timing bugs
* tidy polling logic
* fix up tests
* fix some pds tests
* eslint ignore
* fix ozone tests
* move seeds to dev-env
* move images around
* fix db schemas
* use service auth admin reqs
* fix remaining tests
* auth tests bsky
* another test
* random tidy
* fix up search
* clean up bsky mod service
* more tidy
* default attempts to 0
* tidy old test
* random tidy
* tidy package.json
* tidy logger
* takedownId -> takedownRef
* misc pr feedback
* split daemon out from ozone application
* fix blob takedown mgiration
* refactor ozone config
* do push event fanout on write instead of on read
* make suspend error work again
* add attempts check & add supporting index
* fix takedown test ref
* get tests working
* rm old test
* fix timing bug in event pusher tests
* attempt another fix for timing bug
* await req
* service files
* remove labelerDid cfg
* update snaps for labeler did + some cfg changes
* fix more snaps
* pnpm i
* build ozone images
* build
* make label provider optional
* fix build issues
* fix build
* fix build
* build pds
* build on ghcr
* fix syntax in entry
* another fix
* use correct import
* export logger
* remove event reverser
* adjust push event fanout
* push out multiple
* remove builds
* rm tables
* rm event-stream & proxied
* Remove appview services, move label service to pds
* only proxy appview stuff
* delete more tables
* Start removing message dispatched from pds
* more syncing-up removal of message dispatcher in pds
* merged
* remove feedgens from pds, remove getPopular
* remove unused image helper from pds
* fixing compiler errors
* clean up sharp
* rm label service
* first pass on cleaning up tests
* fix up a bunch of tests
* moderation view tests
* last admin tests
* got a lil overzealous in deletes
* clean up unused cfg
* clean up label table
* simplify admin repo search query/logic
* tidy pds entrypoint
* in-progress pds config changes
* cfg fiddling
* finish cleaning up cfg/ctx
* comments
* building
* pds prefix on env
* test env
* collapse pds migrations down into a single migration
* fix up dev-env
* tidy
* cleanup
* fix pds admin tests
* fix handle test
* fix pds proxy tests
* fix subscribe repos test
* fix sqlite config in pds tests
* add sqlite clause in sequencer-leader
* fix actor search w/ sqlite on pds
* fixes
* fix dev env build
* update pds service entrypoint
* simple env example
* make takedown ids opaque identifiers in the pds
* use pds routes for api tests
* update pds dockerfile with volume and correct port env var
* add a couple env vars to example
* add comments to env example
* @atproto/pds 0.2.0-beta.0
* @atproto/aws 0.0.1-beta.0
* appview did
* @atproto/aws 0.0.1
* enable logs by default
* update env example
* bugfixing sandbox issues
* consistency in pds env var name for appview url
* log on pds start and stop, configure version at runtime
* @atproto/pds 0.2.0-beta.1
* fix semver matching for pds beta version
* v0.2.0-beta.2
* default invites to being not required
* fix flaky test
* limit db connections in tests
* publish 0.2.0-beta.d3
* fix invite required parsing
* @atproto/pds 0.2.0-beta.5
* Proxy getPopularFeedGenerators on simplified pds (#1222)
proxy getPopularFeedGenerators on pds
Co-authored-by: dholms <dtholmgren@gmail.com>
* tidy migrations
* fix service entry
* bump version
* change auth order
* bump version
* bump version
* add upgradeRepoVersion & fallback url for cdn
* bump version
* merging
* merge pds
* building dev-env
* merging tests
* merge service entry
* test fixing
* tidy
* fix admin search
* tidy
* tidy
* add snap for getListFeed
* add backup nameserver cfg
* tidy + pr feedback
* tidy
* tidy env
* bit more
* re-add dotenv to root package.json
* fix dep
* build branch
* fix tests
* Refactor tests to make better use of dev-env (#1690)
* refactor pds tests to use dev env
* refactor bsky tests
* fix pds test
* tidy bsky tests
* build pds correctly
* fix entry point
* default logging to false (for now)
* format service entry
* Switch takedown ids back to ints on pds distribution (#1694)
* switch takedown ids back to ints, consistent with live pds
* tidy/fix migration
* update migration for sqlite
* export moderation action reversal
* takedown tests
* dont build branch
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Add self-label schemas
* switch around array and union for self-labels
* apply self-labels to post and profile views
* test for self labels in pds
* apply self-labels to post and profile views in bsky appview
* test for self labels in bsky appview
* update pds proxied test snapshots
* Add support for self-labels to the mdoeration sdk
* Disable unknown-labeler filtering until 3P support is added
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Model post and profile aggs in bsky
* Add background, onCommit, db and background stats
* Add aggregations for post and profile
* Use background queue in bsky labeler, misc plumbing
* Process background throughout bsky tests
* bsky tidy and fixes
* Build views using agg tables in bsky
* Views of feedgens on bsky
* hook up indexing
* Setup custom feeds on bsky
* graph service + getList routes
* migration
* Feed views refactor for bsky, implement getFeed w/ auth passthrough
* mute lists
* add getListMutes
* mute list tests
* add mutes table & mute/unmuteActor routes
* Passthrough auth from bsky appview to feedgen, fixes/tidy/tests
* add getMutes
* implement mute functionality
* remove unspecced
* mute tests
* mute impl tests
* remove proxy tests
* Test custom algos on bsky
* add mute state to snapshots
* table & indexing plugin
* getBlocks
* bail out of mute subquery when no viewer
* fleshing out services
* Test pds getFeed proxy
* tidy, fix build
* tidy
* Fix minor race in bsky mutelist tests
* blocks in feed views
* db migration, impl block logic & tests
* Update pds proxy snaps based on appview mutes
* missed some files on last commit
* ensure process after unmute
* update snap
* move adminAuth to seedclient param
* apply blocks in getFeed
* update snaps
* upadate one last snap
* pr feedback
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Misc notification and optimization in bsky, tidy
* Handle notifs on message queue in bsky appview
* Sync-up profile labeling behavior in bsky
* No async work during actor unindexing in bsky, include additional indexes
* Prevent deeply nested notifs w/ hellthread exception in bsky appview
* Add indexes to bsky appview for more efficient actor deletion/unindexing
* Update pds proxy snaps for updated bsky profile labeling
* Return custom suggestions in bsky appview
* Add moderation and labeling model to bsky appview
* Carry over moderation service from pds
* Pass over bsky moderation service to get it working, missing blob support
* Carry over label service from pds to bsky
* Reorg bsky http auth, implement admin auth
* Carry over relevant admin endpoints pds to bsky
* Retrofit bsky admin routes from pds impls
* Implement resolve handle on appview
* Avoid loop in bsky handle resolution
* Add bsky appview to dev-env, opt-in
* Fix bsky searchRepos with empty term, tidy
* Include blobs on bsky admin views
* Stop resolving taken-down blobs on appview
* Tidy
* Carry over pds moderation tests to bsky
* Support image cache invalidation on bsky appview
* Add missing changes for bsky tests
* Test takedowns in bsky views
* Test takedowns on bsky notifs
* Separate blob resolution logic into standalone helper
* Carry over labeler from pds to bsky
* Update labelers for bsky usage
* Configure labeler on appview, tidy blob-resolver
* Add labels to views for posts and actors
* Update snapshots on bsky appview to include labels
* Carry over labeler tests from pds to bsky
* Tidy-up labeler tests for bsky appview
* Update bsky seeds and snapshots for keyword labeling
* Tidy
* In bsky appview ensure label.neg is modeled as a boolean, not an integer bit. Add select column when checking blob takedown.
* Include labels on appview listNotifications, fix blob resolver content-type, tidy
* Add moderation and labeling model to bsky appview
* Carry over moderation service from pds
* Pass over bsky moderation service to get it working, missing blob support
* Carry over label service from pds to bsky
* Reorg bsky http auth, implement admin auth
* Carry over relevant admin endpoints pds to bsky
* Retrofit bsky admin routes from pds impls
* Implement resolve handle on appview
* Avoid loop in bsky handle resolution
* Add bsky appview to dev-env, opt-in
* Fix bsky searchRepos with empty term, tidy
* Include blobs on bsky admin views
* Stop resolving taken-down blobs on appview
* Tidy
* Carry over pds moderation tests to bsky
* Support image cache invalidation on bsky appview
* Add missing changes for bsky tests
* Test takedowns in bsky views
* Test takedowns on bsky notifs
* In bsky appview ensure label.neg is modeled as a boolean, not an integer bit. Add select column when checking blob takedown.