Commit Graph

163 Commits

Author SHA1 Message Date
bnewbold 57ca2109f3 lexicons: add 'bot' wellKnown label value (#4777)
* lexicons: add 'bot' wellKnown label value

* lexicons: update other global labels
2026-03-19 15:42:27 -07:00
bnewbold f8c84ebd3d update germ lexicon (#4594)
* update germ lexicon (from published)

* make codegen

* add changeset

* Add `none` to germ declaration showButtonTo field (#4627)

add `none` to germ declaration showButtonTo field

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2026-02-09 12:57:37 -06:00
bnewbold 9bdd35881a Experiment: wire-through germ chat declaration in bsky appview backend (#4415)
* lexicons: add germ chat declaration record, and ref from profile view

* codegen germ record for bsky pkg

* make lex-client build happy by including germ ref

* add germ chat declaration methods to dataplane .proto

* dataplane codegen

* start wiring up germ chat records

* germ lex in api package

* api codegen

* initial attempt at germ record test

* update germ lexicon

* make codegen

* updates for germ declaration NSID rename

* implement new germ hydration

* more progress on germ integration

* fix germ profile test

The main issue here was forgetting the '.associated.' bit in the data
path.

* remove unnecessary germ imports/refs

* hydrate germ metadata in basic profile view (as per schema)

* type fixes for germ appview test

* prettier

* synchronize bsky.proto with dataplane; run buf:gen

* add changeset for Germ declaration records
2026-01-20 17:15:58 -08:00
Matthieu Sieben 10cf1c1018 Improve session management (#4470)
* Improve session management

* fix test

* tidy

* tidy

* tidy

* tidy
2025-12-29 13:29:40 +01:00
bnewbold 94ddc8219c resolveLexicon endpoint (#4227)
* Add resolveLexicon.json for lexicon resolution

* Update lexicons/com/atproto/lexicon/resolveLexicon.json

* chore: formatting and linting

* chore: Adding changeset information

* documentation: Updating descriptions for properties.

* refactor: Updating com.atproto.lexicon.resolveLexicon lexicon schema from PR discussion and feedback

* Update lexicons/com/atproto/lexicon/resolveLexicon.json

Co-authored-by: Nick Gerakines <12125+ngerakines@users.noreply.github.com>

* tweak changeset

* lexicon codegen

---------

Co-authored-by: Nick Gerakines <12125+ngerakines@users.noreply.github.com>
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
2025-11-02 12:04:06 -05:00
Eric Bailey 1cb5b9b80c Finalize report reasons (#4262)
* Finalize report reason lexicons

* Codegen

* Update NEW_TO_OLD_REASON_MAPPING in Ozone

* Changeset
2025-10-08 09:39:20 -05:00
Matthieu Sieben 8914f9abde Allow encoding scope claims of oauth access token JWT (#4149)
* Refactor token decoding

* Add scope decoder to pds

* tidy

* tidy

* tidy

* tidy

* review changes

* Add scope normzlization utility

* wording in lexicon

* Add specific error

* style

* tidy

* Update `AccessTokenMode` enum values to be more meaningful

* tidy

* Update .changeset/brown-boxes-bow.md

Co-authored-by: devin ivy <devinivy@gmail.com>

* Add retry strategy

* lint

* lint

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-09-09 12:13:34 +02:00
Eric Bailey a5b20f0218 Add expanded moderation report reasons (#3881)
* 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>
2025-09-02 21:40:31 +02:00
David Buchanan 66dbf8db6d revokeAccountCredentials lexicon (#4142)
* lexicons: add com.atproto.temp.revokeAccountCredentials

* codegen

* changeset
2025-08-28 10:17:12 -04:00
rafael 9751eebd71 Cleanup app.bsky.unspecced.checkHandleAvailability (#4072) 2025-07-29 17:00:05 -03:00
Foysal Ahamed 0c0381a2bb ❇️ Ozone user agent (#3991)
*  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
2025-07-02 22:34:15 +02:00
bnewbold fc61662d7b new host status com.atproto.sync lexicons (#3714)
* new host status com.atproto.sync lexicons

* add description

* add specific error response from request crawl if host is banned

* lint

* break out hostStatus to com.atproto.sync.defs

* add a changeset

* codegen
2025-04-09 14:40:49 -07:00
Daniel Holmgren bdbd3c3e3f Sequencer recovery (#2519)
* wip

* flesh out recoverer

* basic tests + handle uncreated repos

* add key recovery when keys are lost

* schemas

* tidy recoverer

* tidy & comment test

* work into script framework

* use account evt instead of tombstone

* add flag for updating keys

* add log

* rotate keys script

* pr feedback

* build branch

* use exact commit data from sequencer to restore

* fixing up key rotation script

* add onIdle

* build branch

* track blobs

* fix types

* fix blob tracking

* patches

* publish identity script

* fix build err

* wip

* build err

* wip

* recovery db + fix some errors

* refactor & add repair script

* dont run script

* fix test

* tidy scripts

* tidy

* change publish identity recoveyr method to rotate keys

* tidy

* pr feedback

* simple readme

* changesets
2025-03-31 17:02:11 -05:00
Daniel Holmgren 38320191e5 Wrap sync semantics (#3585)
* deprecate blobs & tooBig

* add sync event, deprecate handle & tombstone

* fix up tests

* small tidy

* add test for sync account on account activation

* use new sync event in another place

* remove deprecated events from lexicons

* formatting

* pr cleanup

* changeset
2025-02-28 17:19:18 -06:00
bnewbold dc6e4ecb0e lex: add more identity helpers (#2264)
* lex: add more identity helpers

* lex: update identity helpers

* make fmt

* fix typo in 'id'

* add errors; add resolveDid; more descriptions

* lint

* fix 'identifier' field names

* identity: rename def; DID deactivation as error, not flag; require handle+doc

* update again, to 'identityInfo'

* codegen

* changeset
2025-02-26 14:36:58 -08:00
bnewbold 27b0a7be1e remove deprecated sync fields (#2506)
* lex: remove deprecated sync fields

* codegen field removals

* remove deprecated fields from code

* changeset
2025-02-25 12:32:22 -06:00
bnewbold 99e2809ca2 [APP-1072] Add labeler declaration lexicons (#3521)
* updates to com.atproto.moderation.* for report routing

* updates to labeler service declaration; and new reason types

* Apply suggestions from code review

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* remove dupe reasonAppeal

* iterate on labeler declaration lexicons

* Makefile: fast helper for formatting just lex json

* external, not link

* change default when subjectCollections is not defined

* remove 'example reason' disclaimers

* simplify lex report proposal: just labeler declartions

* missed knownValues list

* Codegen, changeset

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2025-02-25 09:46:12 -06:00
Brian Olson e40758c36a nobody uses notifyOfUpdate, deprecate (#3574) 2025-02-25 10:36:16 -05:00
bnewbold 6e382f67aa Lexicon updates for Sync v1.1 (inductive firehose) (#3391)
* mark 'blobs' as deprecated (can parse from records blocks)

* add 'prev' CID to record ops

* add inductive changes and #resync event

* updates from recent discussion

* add sync v1.1 account hosting status states (broken, throttled)

* prettier

* updates from discussion

* remove 'data' from #sync message

* add note on 'repo' field about inconsistent name

* codegen

* changeset
2025-02-21 17:01:13 -08:00
Daniel Holmgren 7e3678c089 Send prevs on firehose (#3449)
* schema

* reset rate limit codegen

* codegen

* send prev cids on firehose

* fix test

* fix some test compiler errors & add experimental note

* fix linting

* build branch

* add prevData to commit event

* fix cbor undefined err

* add sibling proofs to relevant blocks

* bump depth of obj in test

* fix bug on right sibling proof & add some tests

* another test

* refactor proof construction

* more tests

* factor into fixtures

* fix styles in json

* lint: import ordering

* pr feedback

* add invertible op test

* remove prev from outgoing events

* return to original proof construction

* dont build branch

* changeset
2025-02-21 15:01:08 -06:00
bnewbold 01874c4be7 lexicons: use 'tid' and 'record-key' formats in sync+repo lexicons (#2378)
* lex: use 'tid' and 'record-key' formats in lexicons

* more TID formats; and remove redundant maxLength

* add maxLength back, with a comment/description

* revert accidential change to applyWrites

* codegen

* changeset

* update test for invalid record-key
2025-02-20 11:50:24 -08:00
bnewbold 010f10c6f2 com.atproto.sync.listReposByCollection Lexicon, for collections directory (#3524)
* com.atproto.sync.listReposByCollection, for collections directory

* bump listReposByCollection limit

* update max+default to align more with listRepos

* codegen

* changeset for listReposByCollection
2025-02-17 18:15:35 -08:00
bnewbold 07f11d3e0c lexicon schema for lexicon schema records (meta) (#3286)
* lexicon schema for lexicon schema records (meta)

* defs are object/unknown, not array

* simplify just to 'lexicon' field

* codegen lexicon schema
2025-01-14 22:21:09 -08:00
Foysal Ahamed 6d308b857b Allow appeals on takendown account (#3251)
*  Allow appeals on takendown account

*  Update snapshot

*  Remove duplicate test

*  Respond with takendown token from createSession for takendown accounts

* 🧹 cleanup appeal account action stuff

* 📝 Add description to new field

* ♻️ Refactor authscope formatter and add test for create record with takendown token

*  Update snapshot

* add createReport route

* changeset

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2024-12-20 13:52:20 -06:00
rafael 2e7aa211d2 addReservedHandle lexicon (#3056)
* addReservedHandle lexicon

* addReservedHandle codegen

* changeset

* Add empty object output

* Empty object output codegen
2024-11-21 14:40:45 -03:00
bnewbold cdc0bbf389 com.atproto lexicions: longer rkey length (#2949)
* bump lexicon rkey limits to match specs

* codegen
2024-11-07 19:23:25 -08:00
Daniel Holmgren 0158ab3845 Add threat signatures to admin view (#2929)
* add threat signatures to admin view

* codegne
2024-10-30 18:01:12 -05:00
Foysal Ahamed a2bad977a8 Ozone batch repo and record getters (#2836)
*  Add getRepos and getRecords endpoints for bulk fetching

*  Fix issues and add tests for get repos and get records

*  Use the right lxm

* 🐛 Revert changes in lockfile

*  Add getAccountInfos in PDS

* 🐛 Fix type def for repo and record view detail

*  Update snapshots

*  Update snapshots

*  Consolidate error type for com.atproto and tools.ozone getRecord error type

* 🧹 Cleanup

*  Update snapshots

*  Update snapshots

*  Changeset
2024-10-01 19:37:23 +02:00
Daniel Holmgren bfbac24312 Repo write commit metadata (#2745)
* schemas & codegen

* impl

* bundle commit & rev
2024-08-30 13:18:43 -05:00
devin ivy befebc0e98 Revise repo write validation for unknown Lexicons (#2748)
* lexicon: validation status result from repo writes

* pds: return  validation status from repo writes, write results from applyWrites

* tidy
2024-08-30 12:59:55 -05:00
Daniel Holmgren dc471da267 Service auth method binding - PDS (#2668)
* pds changes only

* use scope for ozone service profile

* dont verify scopes on pds yet

* tidy

* tidy imports

* changeset

* add tests

* another changeset

* scope -> lxm

* tidy

* update nonce size

* pr feedback

* trim trailing slash

* nonce -> jti

* fix xrpc-server test

* allow service auth on uploadBlob
2024-08-05 15:09:50 -05:00
bnewbold a95a902bba minor typos in descriptions and comments (#2681)
* lex: typos in descriptions

* more minor typos

* codegen lexicon typos

* more comment typos
2024-08-05 09:49:25 -07:00
Ryan Barrett aed98cc7a5 fix typo in com.atproto.sync.listBlobs lexicon description (#2597)
thanks!
2024-06-23 22:48:33 -07:00
Foysal Ahamed 2b21b5be29 Search accounts by normalized email (#2426)
*  Search accounts by email domain works

*  Add Search against normalized email column

* 🐛 Fix pagination

*  Make email field optional in the response

* 🧹 Cleanup implementation

* 🧹 More cleanup

* 🧹 Cleanup and reuse accountView for searchAccounts response

* 📝 Add changeset

*  Add min max and default to limit
2024-06-05 11:40:16 -04:00
Daniel Holmgren 9495af23bd Update deactivation through updateSubjectStatus (#2539)
* attach hosting status to entryway session responses

* integrate account deactivation in with entryway

* tidy

* tidy

* chnageset

* update changeset
2024-06-04 10:33:47 -05:00
Daniel Holmgren 255d5ea1f0 Account deactivation (#2531)
* subscribe repos lex: new #account event type

* lex: getAccountStatus endpoint

* lex: add account status errors to sync methods

* tweak type of token union

* fix getAccountStatus parameter name

* codegen

* Account -> Repo

* re-codegen

* update errors in sync methods

* add getRepoStatus route

* add account events to sequencer

* emit account evts

* fix test + small bugfixin

* handle evt on bsky side

* codegen

* loggable message

* schema tweaks

* build errors & tidy

* tidy account deactivation tests

* more subscribe repos tests

* identity evt tests + tidy

* return optional did doc on identity evts

* update identity evt

* update impl for identity evt handles

* add description to handle field

* status on listRepos & notate deprecated firehose events

* return status on listRepos

* pr feedback

* tests

* protos

* add status to session schemas

* codegen

* revamp auth-verifier

* thread through agent

* fix tests

* fix account deletion test

* fix more tests

* fix type error in repo.test

* bsky index account evts

* apply in appview

* add to admin route

* add deactivatedAt to ozone views

* pds tests

* appview tests

* ozone test

* fix bsky test

* fix agent test

* fix indexing test

* tweak session schemas

* update session routes & clean up status handling in pds & agent

* changeset

* patch pds test

* rm active from knownValues

---------

Co-authored-by: bryan newbold <bnewbold@robocracy.org>
2024-05-31 16:39:21 -05:00
bnewbold ee0e6356df sync lex: #account firehose event; account status errors; and getAccountStatus endpoint (#2263)
* subscribe repos lex: new #account event type

* lex: getAccountStatus endpoint

* lex: add account status errors to sync methods

* tweak type of token union

* fix getAccountStatus parameter name

* Account -> Repo

* codegen

* schema tweaks

* update identity evt

* add description to handle field

* status on listRepos & notate deprecated firehose events

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2024-05-29 15:40:39 -05:00
Daniel Holmgren 0cc5ef70f4 Privileged app passwords (#2515)
* schemas

* impl

* hook up migration

* tests

* make column not null

* comments to clarify

* changeset
2024-05-23 16:05:46 -05:00
devin ivy 93a4a4df9c Lexicons: email auth factor (#2416)
* lexicon: email auth factor

* add changeset
2024-04-17 19:57:18 -04:00
bnewbold 2f62faab6f lex: limit createReport size (#2362)
* lex: limit createReport size

This has actually be limited on the *output* for a long time, apparently
as a mistake/typo when locking down string length fields earlier.

Going with the existing length there (2000 graphemes). 1200 might also
be good; a longer description could be a future additional field or
out-of-band or something.

* codegen lex changes
2024-03-22 21:04:02 +00:00
bnewbold 6e552a26da lexicon nits: use string format uri in more places (#2348)
* lexicons: use format=uri for more bsky URLs

* lexicons: use format=uri for URLs in server description (links to policies)

* codegen lex changes
2024-03-20 10:17:28 -07:00
bnewbold f8dffa23eb lex: deprecate getRecord commit param (#2349)
* lexicons: mark getRecord commit param as deprecated

* codgen lex description tweak
2024-03-20 10:17:09 -07:00
devin ivy 722d4173ee PDS contact email address (#2313)
* lexicon: add pds server contact email

* pds: configuration for contact email address
2024-03-13 19:05:47 -04:00
Paul Frazee 00a567daa0 Additional 3p labeler updates (#2286)
* Rename bsky_labeler_did

* Use labeldef default setting

* Add definedBy to interpretted label defs

* Improve dev-env mocks for labels

* Remove global label defs for dmca-violation, doxxing, and !no-promote

* Change nudity global label def to default to ignore and no longer be adult-only

* Remove old !no-promote tests

* Add mod authorities header and move bsky labeler into it

* Rename modsPref and addModService/removeModService to labelersPref and add/removeLabeler

* Add defaultSetting and adultOnly to custom label value definitions

* Rename InterprettedLabelValueDefinition to InterpretedLabelValueDefinition

* Update dev-env mock

* Move muted words and hidden posts into moderationPrefs

* Add muted word and hidden post handling to moderatePost

* Add mutewords tests

* Finish muteword tests

* Add mod-authority.test to dev-env

* Rename global label value def gore to graphic-media

* Fix typo

* Stop converting old label values

* Update label target=profile behaviors: dont filter content on hide, dont blur display names, but do show the info cards

* Update label target=account behaviors: dont blur media of content

* Add muteword moderation behaviors

* Fix mock label defs

* Implement quote-post moderation handling

* Add adult content test

* Handle sync legacy labels (#2291)

* Handle sync legacy labels

* Remap values on read

* Filter out double-written legacy label values

* Better naming, fix types

* Fix test

* Update moderation docs in sdk

* Update to new atproto-accept-labelers header behavior

* Add getLabelDefinitions() helper method

* Add proxy header support to agent

* Update mock moderation

* lint

* Implement moderation for userlists and feedgens

* Add another test label

* fix labeler in dev-env agents

* fix label hydration test

* fix lint error

* fix agent test

* fix takedown labels test

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: dholms <dtholmgren@gmail.com>
2024-03-12 21:10:19 -07:00
Daniel Holmgren 2ea27e340a Ozone lexicons (#2288)
* lexicons

* clean up old admin schemas

* codegen

* renaming all routes

* fix more

* fix snaps

* fix test

* format

* hook up ozone routes on pds

* publish next version

* build branch

* dont build branch
2024-03-12 18:42:11 -05:00
Foysal Ahamed 2802880a97 Add modEventDivertBlobs event to send blobs to abyss (#2238)
* 🚧 Working through an nullable review state

*  Update snapshots on some tests

*  Update snapshots on some tests

*  Add test for reviewOptional status mutation

*  Add divertBlobs event to send blobs to abyss

* ♻️ Rename reviewOptional -> reviewNone

* ♻️ Rename modEventDivertBlobs -> modEventDivert

* 🐛 Rename event type checker

*  Use pds resolver to get blob straight from pds

*  Use FOR UPDATE to respect db transactions

* ♻️ Refactor to use event_pusher table instead of new table

*  Bring back missing lines in pnpm-lock

* 🔨 Rebuild?

* 🚨 Formatting

* ♻️ Refactor to divert blob sync

* 🧹 Cleanup

*  Use modClient seed client in blob-divert test

* update divert blob config to use basic admin auth

* fix

* build

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-03-12 10:40:32 -04:00
Daniel Holmgren 38656e71ff Label expiration (#2241)
* sketching out label sequencer

* refactor sequencer

* sequencer tests

* tests

* add query labels endpoint & tests

* add pagination

* fix label formatting on temp

* tidy

* format labels

* make use listen/notify for sequencer

* ensure sig on all outgoing labels from ozone

* fixing up tests

* fix sequencer tests

* fix hanging server test

* add log on failure to update label

* update description for sig

* add expiration to labels

* fix test

* use bytes for label sigs

* fix tests

* add ver to labels

* tidy up background queue

* store signing keys as ids

* fix sequencer teest
2024-03-08 19:48:45 -06:00
Daniel Holmgren cc11adda87 Ozone: Add sigs to all labels (#2236)
* sketching out label sequencer

* refactor sequencer

* sequencer tests

* tests

* add query labels endpoint & tests

* add pagination

* fix label formatting on temp

* tidy

* format labels

* make use listen/notify for sequencer

* ensure sig on all outgoing labels from ozone

* fixing up tests

* fix sequencer tests

* fix hanging server test

* add log on failure to update label

* update description for sig

* use bytes for label sigs

* fix tests

* add ver to labels

* tidy up background queue

* store signing keys as ids

* fix sequencer teest
2024-03-08 19:41:31 -06:00
Daniel Holmgren 3988543258 Feature - 3rd party labelers (#2032)
* adding some basic views

* feed hydration, add blocks to post hydration

* pass over notification hydration

* tidy

* merge

* implement getProfile

* hydrate post aggregation and viewer state

* fix

* fix codegen

* get some tests passing!

* add takedowns & some like bugfixing

* all profile tests passing!

* likes test

* follow endpoints using data plane

* reorg follow block rules

* reposts

* post views!

* implement getList w/ dataplane caveat

* adjust dataplane getListMembers to return listitem uris

* implement getListMutes and -Blocks w/ dataplane

* suggestions

* timeline

* misc view fixes

* view fixes for mutes, self-mute/block

* author feed

* feed gen routes

* tidy

* misc block/mute fixes

* list feed & actor likes

* implement getLists, fix some empty cursors

* implement getMutes, empty profile description fix

* implement getBlocks, block application fix

* implement getSuggestedFollowsByActor, needs some fixes

* feed generation

* search routes

* threads

* tidy

* fix some snaps

* fix getSuggestedFollowsByActor

* implement listNotifications

* implement getUnreadCount w/ dataplane

* implement notifications.updateSeen w/ dataplane

* 3rd party blocking tests

* blocked profile viewer

* add search mocks

* refactor getFeed

* createPipeline -> createPipelineNew

* basic replygating functionality on dataplane w/o filtering violating replies

* hack threadgates into dataplane, apply gates

* deterministic thread orders in dataplane

* misc cleanup around dataplane

* upgrade typescript to v5.3

* update typescript linter deps

* sync bsky proto, codegen

* update dataplane, sync with bsky proto updates

* remove indexer, ingester, daemon, moderation services from appview

* convert more bsky internals to dataplane, remove custom feedgens, implement mute/unmuting in mock dataplane

* remove bsky services. db and indexing logic into mock dataplane.

* remove tests not needed by appview v2, misc reorg

* add basic in-mem repo subscription to dataplane mock

* fix dev-env, bsky tests, bsky build

* cull bsky service entrypoint

* add bsky service readme

* build

* tidy

* tidy, fix pds proxy tests

* fix

* fix bsky entrypoint deps

* support http2 grpc client

* build

* fix dataplane bad tls config/default

* support multiple dataplane urls, retry when unavailable

* build

* tidy/fix

* move dataplane mock tests into their own dir

* cover label hydration through timeline test

* bring back labels in appview tests

* remove unused db primary/replica/coordinator from bsky dataplane

* bsky proto add cids to contracts, buf codegen

* sync-up bsky data-plane w/ codegen updates

* start using dataplane interaction endpoints

* add file

* avoid overfetching from dataplane, plumb feed items and cids

* pass refs through for post viewer state

* Lexicons: Add labeler prefs, labeler declaration, and get labeler routes

* Add labelerViewBasic and update embed views

* Fix typo

* switch list feeds to use feed item in dataplane

* handle not found err on get-thread dataplane call

* support use of search service rather than dataplane methods

* mark some appview v2 todos

* tidy

* still use dataplane on search endpoints when search service is not configured

* fix pds test

* Switch to labelerViewDetailed

* Move label and report values to refs

* Add getActorLabelers

* lint

* fix up bsky tests & snaps

* small diff to open pr

* rm new line

* codegen schemas

* tidy migrations

* table + indexing

* protos

* rename lexicons

* views, hydration + rename lexicons

* rest of routes

* data plane routes

* parse labelers from req

* fix appview-v2 docker build

* Support label issuer tied to appview v2 (#2033)

support label issuer tied to appview

* hydrate context

* tidy header logic

* integrating into more routes

* more routes

* wrap up rest

* add mock labeler

* rework labelerlexicons

* tidy lexs

* codegen new lexicons

* integrate lexicon rework

* add proxy logic

* forward labeler headers through pds

* tweak label header parsing

* remove did from scheams

* update indexing for lexs

* tests for mod service views

* label hydration test

* Add 'associated' to profileViewDetailed

* Rename labelers to mods in preferences

* Change uri to did in mod preferences

* couple more

* syntax tweaks

* integrate updated lexicons

* update view snap

* handle mod service embeds

* tidy

* fix mock

* lint

* base default labels of config var

* fix label hydration

* Appview v2: handle empty cursor on list notifications (#2017)

handle empty cursor on appview listnotifs

* Update appview v2 to use author feed enum (#2047)

* update bsky protos with author feed enum, misc feed item changes

* support new author feed enums in dataplane

* fix build

* Appview v2: utilize sorted-at field in bsky protos (#2050)

utilize new sorted-at field in bsky protos

* remove all dataplane usage of GetLikeCounts, switch to GetInteractionCounts

* Appview v2, sync w/ changes to protos (#2071)

* sync bsky protos

* sync-up bsky implementation w/ proto changes

* Appview v2 initial implementation for getPopularFeedGenerators (#2072)

add an initial implementation for getPopularFeedGenerators on appview v2

* merge

* fixes

* fix feed tests

* fix bsync mock

* format

* remove unused config

* fix lockfile

* another lockfile fix

* fix duplicate type

* fix dupplicate test

* Appview v2 handling clearly bad cursors (#2092)

* make mock dataplane cursors different from v1 cursors

* fail open on clearly bad appview cursors

* fix pds appview proxy snaps

* Appview v2 no notifs seen behavior (#2096)

* alter behavior for presenting notifications w/ no last-seen time

* fix pds proxy tests

* Appview v2 dataplane retries based on client host (#2098)

choose dataplane client for retries based on host when possible/relevant

* don't apply negated labels

* display suspensions on actor profile in appview v2

* Appview v2 use dataplane for identity lookups (#2095)

* update bsky proto w/ identity methods

* setup identity endpoints on mock dataplane

* move from idresolver to dataplane for identity lookups on appview

* tidy

* Appview v2: apply safe takedown refs to records, actors (#2107)

apply safe takedown refs to records, actors

* Fix timing on appview v2 repo rev header (#2113)

fix timing on appview repo rev

* fix post thread responses

* Appview v2 don't apply 3p self blocks (#2112)

do not apply 3p self-blocks

* Appview v2 search for feed generators (#2118)

* add protos for feedgen search

* support feed search on getPopularFeedGenerators

* Appview v2 config tidy (#2117)

* remove mod and triage roles from appview

* rename cdn and search config

* remove custom feed harness from appview v2

* Appview v2: don't apply missing modlists (#2122)

* dont apply missing mod lists

* update mock dataplane

* Update packages/bsky/src/hydration/hydrator.ts

Co-authored-by: devin ivy <devinivy@gmail.com>

* refactor & document a bit better

* fix up other routes

---------

Co-authored-by: devin ivy <devinivy@gmail.com>

* Appview v2 enforce post thread root boundary (#2120)

* enforce post thread root boundary

* test thread root boundary

* Appview v2 fix admin environment variable (#2137)

fix admin env in appview v2

* Remove re-pagination from getSuggestions (#2145)

* remove re-pagination from getSuggestions

* fix test

* Adjust wording for account suspension (#2153)

adjust wording for account suspension

* Appview v2: fix not-found and blocked uris in threads (#2201)

* fix uris of not-found and blocked posts in threads

* update snaps

*  Show author feed of takendown author to admins only (#2197)

* fold in cid, auth, tracing, node version changes

* remove dead config from bsky service entrypoint

* build

* remove ozone test codepaths for appview v2

* tidy, docs fix

* fix test

* add additional user counts

* add associated data to profiles

* update snaps

* update to is_mod_service

* format

* tidy

* 3p labeler sdk updates (#2176)

* Update sdk to support 3p labeler preferences

* Stick with intolerance instead of hate for the label group id

* wip expand labels and label groups

* Output moderationOpts (computed) and modsPref (unaltered)

* Add tests for enabling/disabling mod services

* Add atproto-labelers header config

* Expand labels and label groups in definitions

* Fix tests

* Tweaks to labels

* Remove label descriptions and improve output types on labels and label groups

* Add mocker to exported API

* Improve types of label and label group definitions

* Rework moderation prefs to continue using global labelgroup settings and only disable label groups per moderator

* Simplify encoding of the label preferences in definitions

* Add target constraints to labels

* Refactor the moderation sdk to derive more behaviors from the definition files

* Small cleanup

* Add hiding tool to modsdk

* Track filter causes

* Make mute state an alert

* Fix: dont blur profileview for blocks

* Prioritize causes by severity

* Add moderateNotification() and drop quote post moderation code

* Add mocker functions for notifications

* Improve mock data

* Lexicon: Add custom label definitions and remove modservice descriptions

* Lexicon: Update moderation prefs

* SDK updates: remove label groups, reduce builtin labels, update mod-preference apis

* Lexicon: Update global labels with new reduced set

* Lexicon: Remove moderation.getService and add detailed option to getServices

* Lexicons: add severity=none to custom label value defs

* Implement custom label-value definition tooling

* All custom labels are no-self

* Backend impl for labeler lexicon updates (#2258)

* codegen

* clean up impl

* fix up tests

* Lexicon: modservice -> labeler

* Remove x- prefix behavior; add label value syntax rules; add custom label precedence rules

* Lexicon: Remove the ability to choose a defaultSetting from custom labels

* Rework test suites

* Give behaviors to all labels regardless of target

* sync up backend with lex changes

* fix labelers in dev-env agent

* lint protos

* update protos & views

* small bugfix & update tests

* tweak protos

* fix build issue from merge

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz>
2024-03-06 17:56:34 -06:00
Foysal Ahamed bae2ce3809 Introduce #reviewOptional as reviewState for non-impactful events on a subject (#2235)
* 🚧 Working through an nullable review state

*  Update snapshots on some tests

*  Update snapshots on some tests

*  Add test for reviewOptional status mutation

* ♻️ Rename reviewOptional -> reviewNone

*  Use FOR UPDATE to respect db transactions
2024-03-06 15:30:23 -05:00