* db: create index for moderation_event.createdBy
* tests: add queryEvents by creator test case
* refactor: add additional columns to createdBy index to match runtime query
* refactor: remove id since including both createdAt and id provide little incremental efficiency
* refactor: adding id back since it could matter in some cases
* create new websocket lib
* switch out ozone impl
* keepalive test
* remove websocket keepalive code from xrpc-server
* add the package in all the spots
* websocket -> ws-client
* missed ref
* fix import in ozone test
* ✨ Add delayed takedown feature to ozone
* ✨ Apply tag auth check and add takedown event push
* ✅ Add tests for takedown restrictions
* 🐛 Remove only test block
* 🐛 Add service forwarding
* ✨ Copy event properties into scheduled takedown event
* 🧹 Cleanup
* 🐛 Make statuses required in listScheduledActions
* 🐛 Define required field in lexicon
* ✨ Add tag when scheduling and cancelling scheduled takedown
* Integrate new reporting reasons
* Update bnn to BNR, prefix all with reason* to match previous
* Remap deprecations
* Update naming, add notes about Bluesky-only reasons
* Update reason
* Move new defs to tools.ozone namespace
* Add ozone lexicons to app view
* Copy known values to merge defs
* Update comments
* Add reasonAppeal to new ozone namespace defs
* Changeset
* ❇️ Support new reporting categories in ozone (#3974)
* ✨ Validate report reason using labeler service profile
* ✅ Rename test
* :rotating_lights: Fix lint issue
* ✨ Use both appeal reason type for materialized views
* ✨ Add old to new reason mapping for fallback
* ✅ Update test snapshot
* :rotating_lights: Fix lint issue
* 🧹 Cleanup
* :rotating_lights: Fix lint issue
* ✨ Adjust report reason tagging
* 📝 Additional comment for new migration
---------
Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz>
* 🚧 WIP
* ✨ Make age assurance state queryable
* ✨ Split age assurance events into 2
* ✨ Implement admin and user state overrides
* ✨ Add blocked as a known value for age assurance state
* ✅ Update test snapshot
* ✅ Update test snapshot
* ✨ Cleanup
* ✨ Add userAgent tracking for events
* :rotating_lights: Fix lint issue
* ♻️ Refactor userAgent to modTool
* ✨ Rename extra to meta
* 📝 Add changeset
* ✨ Support modTools param in createReport
* ✨ Add support for mod tool in createReport
* 🐛 Fetch record from pds if appview fails to find it for ozone
* ✨ Resolve and etch from pds without auth
* ♻️ Refactor and cleanup
* ✅ Fix tests
* ✅ Fix tests
* 🚨 Fix linter issue
* 🧹 Cleanup
* First vouch implementation
* Remove unneeded endpoints
* wip
* ✨ wip
* ✨ Process jetstream events through p-queue and add tests
* ✅ Add test for cursor update
* 🐛 Use utc time to update updatedAt
* 🧹 Cleanup
* 🔨 Fix pnpm versioning issues
* ✨ Replace jetstream lib with manual implementation
* ✨ Remove unnecessary 3p dep
* ✨ Add e2e test for jetstream
* 🚨 Fix import
* 🧹 Remove unnecessary property
* ✨ Fix dev-env and add profile to verification view in ozone
* ✅ Add profile type
* ✨ Add backpressure handling to jetstream listener
* ✨ Use WebSocketKeepAlive from xrpc-server and replace partysocket
* ✨ Add a new verifier role to ozone team meber roles
* 📝 Run codegen
* 🐛 Fix auth check
* 🐛 Fix test failure check
* 🚨 Fix json formatting
* 🐛 Fix team role check
* 🚧 Checking failing test
* ✅ Fix tests
* ✨ Address review comments
* ✨ Add xrpc-server to version
* 🚨 Fix linter issue
* 🚨 Fix linter issue
* ✨ Resolve race condition in cursor update
* ✅ Add verification check on profile
* 🐛 Fix missing cid in test and firehose cursor
* ✨ Fix test
* ✨ Add record validation for verification and separate xrpc-server version
* ✨ Return error object for failed revocations
* ✨ Add re-login on expired session case
* 📝 Fix typo
---------
Co-authored-by: rafael <rafael@blueskyweb.xyz>
* ✨ Add getSubjects endpoint to ozone for full view of subjects
* 📝 Better lexicon description
* 📝 Add changeset
* ✨ Add subject to subject view
* ✅ Update snapshot
* :rotating_lights: Fix lint issue
* ✨ Make subject required in subjectView
* 🐛 Add subject check before attempting to run queries
* ✨ Keed the order of subjects from the request in the responding array
* ✨ Use a union for profile field
* 🐛 Remove minLength and address profile value
* 📝 Bring back minLength
* ✨ Add reporter_stats materialized view and endpoint to fetch reporter stats
* 🚨 Fix linter issues
* ✨ Change reporter stats query from materialized view to on demand select
* Add "createdAt" as part of the index
---------
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Make codegen types stricter
* Add .js file extension to import statements in generated code
* Fixes a bug that would clear interests prefs when updating hidden posts prefs.
* Add linting rule to sort imports
* remove spacing between import groups
* changeset
* changeset
* prettier config fine tuning
* forbid use of deprecated imports
* tidy
* ✨ Add a policy property to takedown events
* ✨ Add policy list setting validation
* ✨ Make multiple policies possible for takedown and event search
* 📝 Add changeset
* ✨ Use , as policies separator
* ✨ Add protected tag setting
* ✅ Add tests for protected tag options
* ✨ Validate mod and role list
* 🧹 Replace usage of objects with Map
* 🐛 Fix setting validator getter