Commit Graph

83 Commits

Author SHA1 Message Date
rafael dacb0e8005 group chat declaration hydration (#4868)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 10:43:20 -03:00
Eric Bailey aa1763df0f [APP-1775] Hydrate labels for actor statuses (#4555)
* Add labels to statusView, hydrate and return them

* Add test

* Add moderateStatus API SDK method

* Changeset

* Format
2026-04-08 16:06:27 -05:00
DS Boyce 66341400d4 Deprecate recId in favor of recIdStr (#4683)
* Deprecate recId in favor of recIdStr

* Add changeset

* Revert "Add changeset"

This reverts commit 3241aec7202c1bcb2a8e28f7064def5024dcae73.

* Recreate changeset as patch version
2026-03-04 12:37:28 -08: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
Eric Bailey f58029ba54 [APP-1767] Add liveEventPreferences to user prefs and API SDK (#4543)
* Add liveEventPreferences to user prefs and API SDK

* Format

* Return updated prefs
2026-01-13 20:59:52 -06:00
Eric Bailey d2ed7311a2 [APP-1758] Improve status takedowns (#4520)
* Refactor includeTakedowns overrides, add one for statuses specifically

* Add view carve-out

* Add isDisabled to statusView

* Handle filtering of takendown statuses

* Changeset

* Only add isDisabled for owner

* Revert unneeded changes

* Update tests

* Format
2026-01-08 11:55:55 -06:00
Eric Bailey 7750b91500 [APP-1750] Add uri and cid to statusView on profile responses (#4516)
* Codegen

* Add uri and cid to status view

* Changeset

* Snapshotty

* Snapshots again

* Oh duh it's the uris
2026-01-07 20:39:57 -06:00
Eric Bailey 39fa57080f [APP-1672] Add new read-only #declaredAgePref (#4432)
* Add new read-only #declaredAgePref

* Update descriptions

* Update schemas
2025-12-09 15:55:08 -06:00
Eric Bailey 39b5c08e07 Clean up getPostThreadV2 in prep for future work (#4269)
* Deprecate prioritizeFollowedUsers, codegen

* Remove from agent response types

* Remove codepaths

* Format

* Changeset

* Remove fields entirely

* Changeset

* Swap changeset
2025-11-05 11:11:32 -06:00
Eric Bailey cdb6b27fc6 [TS-160] Add debug field to PostView and ProfileView*s (#4297)
* Add debug field to lex and proto, codegen

* Include debug field for DIDs configured via env var

* Gen bufs

* Update types and view

* Add debug field to profile views

* Safely populate debug field

* Format

* Use util

* Simplify existence check

* Values may be undefined

* Clarify type

* Update descriptions

* Include default value for dev-env

* Add test harness

(cherry picked from commit 7e49b4cf4cf3cbb989114540081e74f7a34acb6f)

* Use unknown field type instead of serializing

* KISS keep it set stupid

* Fix comments

* Differentiate between source of debug

* Add matching profile view test

* Specifying types of the merged objects isn't really helpful

* Changeset

* Add comment

* Put includeDebugField on HydrateCtx and use in views

* Mutate TestNetwork innards for tests

* Format

* Use separate debug schema for profile test

* Little more terse

* Oops, remove last usage

* Remove vestigial props

* Include other actor metadata

* Simply views, remove debugField
2025-10-28 11:59:50 -05:00
rafael 7f38ee03c0 Add pronouns to profileView and profileViewBasic (#4232) 2025-09-26 18:02:37 -03:00
rafael 8dc4caf558 Expand profile fields (#4224) 2025-09-24 17:30:10 -03:00
Samuel Newman 8a0f190399 Subscribe to activity implementation (#3908)
Co-authored-by: rafael <rafael@blueskyweb.xyz>
2025-06-30 18:43:27 -03:00
rafael 6cd1202065 Subscribe to activity lexicons (#3990)
* Activity subscription lexicons

* Update lexicons/app/bsky/notification/declaration.json

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

* update codegen

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
2025-06-24 03:43:53 -07:00
rafael 3a65b68f7d Actor status lexicon and views (#3824) 2025-05-05 17:35:10 -03:00
Eric Bailey 553c988f1d Add prefs (#3770)
* Add verification prefs

* Update other unrelated tests
2025-04-17 17:11:03 -05:00
rafael 688268b6a5 Delegated verification (#3761)
Co-authored-by: Eric Bailey <git@esb.lol>
2025-04-16 19:38:16 -03:00
Eric Bailey 636951e472 Include new followerRule as valid setting in postInteractionSettings pref (#3501)
Include new followerRule as valid setting in postInteractionSettings pref
2025-02-06 12:17:14 -06:00
Eric Bailey 87ed907a6b Add setPostInteractionSettings and related prefs (#3494)
* Add setPostInteractionSettings and related prefs

* Fix test

* Align types and implementation

* Tighten up, clarifying descriptions

* Fix test

* Format
2025-02-05 17:43:27 -06:00
Ian Wesley-Smith e277158f70 Add recId to getSuggestionsSkeleton (#3364)
* Add recId to getSuggestionsSkeleton

* codegen

* add recId to app client endpoints

* codegen

* changeset

---------

Co-authored-by: Hailey <me@haileyok.com>
2025-01-13 15:34:11 -08:00
dan a3ce23c4cc Add hotness as a default thread sort option (#3082)
* Add hotness as a thread sorting option

* Changeset
2024-11-22 18:36:55 -08:00
Samuel Newman 2676206e42 Pinned posts (#2771)
* pinned posts lexicon

* codegen

* change lexicon, different approach

* codegen 2

* dataplane db migration

* move pinned post lexicon to right place

* add pinned posts optionally to getAuthorFeed

* remove type modification

* Clarify naming, add viewer state, add tests

* return pinnedPost with profileViewDetailed

* allow pinned replies in `posts_and_author_threads`

* clearer variable naming

* annotate type of `items`

* boolean --> varchar

* reuse authorDid in viewerPinned

* simplify test

* make pinned post not top post in test

* update snapshot

* changeset

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-26 18:26:45 -05:00
Eric Bailey 33aa0c7222 NUX API (#2810)
* Codegen

* Explicitly add Zod (already a peer dep) and validation to api

* Add Nux methods

* Match naming convention

* Remove id, it won't be used

* Add tests

* Use id instead of name, little clearer

* Update API contracts

* Update tests

* Changeset

* Don't mutate
2024-09-11 18:25:05 -05:00
Eric Bailey 77c5306d2a Update muted words handling, add attributes (#2276)
* Sketch proposal for additional muted words attributes

* Rename ttl -> expiresAt

* Feedback

* Codegen

* Refactor muted words methods to integrate new attributes

* Add changeset

* Use datetime format

* Simplify migration

* Fix tests

* Format

* Re-integrate tests

* Let the lock cook

* Fix comments

* Integrate mute words enhancements (#2643)

* Check expiry when comparing mute words

* Check actors when comparing

* Tweak lex, condegen

* Integrate new prop

* Remove fake timers

(cherry picked from commit ad31910560ce938e3ff64944d46355c64635ebf8)

* Update changeset

* Prevent deleting value when updating

* Include missing test

* Add default

* Apply default 'all' value to existing mute words to satisfy Typescript

* Fix types in tests

* Fix types on new tests
2024-07-31 16:22:19 -05:00
Yoshihiro Sugi 0529bec991 Add labelersPref to getPreferences union return types (#2554)
* Add missing getPreferences union types

* Add changeset
2024-07-02 09:40:52 -07:00
Paul Frazee bc861a2c25 Add new preference and api for bsky app state; also put preference updates within transactional lock regions (#2492)
* Add bskyAppState preference and api for dismissed nudges

* Add tests

* Wrap preference updates in an lock region to avoid clobbering updates

* Move to queuedNudges and activeProgressGuide

* Fix type error

* Update test

* Add changeset
2024-07-01 18:23:21 -07:00
devin ivy af7d3912a3 Starter packs (#2553)
* lexicon: initial starter pack record lexicons

* lexicon: first pass on views for starter packs

* lexicon: add starter pack query endpoints, misc fixes

* lexicon: add starter pack related fields to profile views

* lexicon: codegen

* api prerelease

* bsky: protos for starter packs

* appview: implement starter pack endpoints in dataplane, protos update

* appview: starter pack hydration and view, mock dataplane indexing

* appview: wire-up starter pack graph endpoints

* appview: test basic starter packs functionality, update dev-env

* fix snaps for profile createdAt

* appview: fix list item count for starter packs in dataplane

* fix ozone snaps, tidy

* appview: reorg list aggs for starter packs

* appview: starter pack lexicon and proto tweaks, move around aggregations

* appview: fix views and snaps

* api prerelease

* fix snaps

* appview: misc proto updates for starter packs, snaps

* appview: add starter pack counts to profile detail

* build

* api prerelease

* pds: starter pack slur detection

* lexicon: starter pack notifications and batch fetch

* appview: starter pack notification and batch fetch

* appview: add starterpack-joined notif to dataplane and test

* api prerelease

* ozone: fix snaps

* pds build

*  Proxy starterpack requests through ozone and include takedowns (#2594)

*  Proxy starterpack requests through ozone and include takedowns

* 🧹 Cleanup

*  Commit snapshots

*  Update snapshot

* lexicon: move starterpacks back to TIDs

* changeset

---------

Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz>
2024-06-24 21:04:33 -04:00
Eric Bailey 58abcbd8b6 Social proof (#2557)
* lexicon: initial social proof lexicons

* Social proof (#2548)

* Update deactivation through updateSubjectStatus (#2539)

* attach hosting status to entryway session responses

* integrate account deactivation in with entryway

* tidy

* tidy

* chnageset

* update changeset

* Version packages (#2546)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* lexicon: initial social proof lexicons

* feat: add generated types for social proof

* feat: social proof implementation

---------

Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Devin Ivy <devinivy@gmail.com>

* Rename

* Codegen

* Implementation, renaming

* Remove only

* Add depth resolution param, update snaps

* Be smart like Devin

* Snaps

* Revert lock changes

* Snaps

* Snaps

* Snaps

* Add changeset

* Snaps

* Revert lock changes

* Add test for basic profile

* Add getKnownFollowersEndpoint

* Make it zero

* Return max of 5

* Remove isNoHosted

* Use array and index

* Clarify ternary

* Remove includeKnownFollowers from views

* Revert "Return max of 5"

This reverts commit 1a27eb74a2d327e094c30dbe8e4314472c0d7aa7.

* Ope missed a param

* Rename view method

* Don't return viewer if undefined

* Format

* Clean up hydrator

* Snaps

* Update proto, use batch endpoint

* Format

* Fix proto, codegen

* Remove unneeded promise

* Move hydrator into route handler

* Add hydrationLogger

* Handle failures of dataplane getKnownFollowers

* Use .at(), defer to params.limit

* Create instance of FollowsFollowing for better type support

* Support knownFollowers in mergeStates

* Add back fat-fingered deleted imports

* Filter out blocks

* Codegen lex

* Naive block filtering

* Remove whitespace edits

* Update changeset desc

* Remove whitespace

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
Co-authored-by: dirkmc <dirkmdev@gmail.com>
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-11 12:34:32 -05:00
devin ivy d32f7215f6 Lexicon: add lexicons for chat.bsky namespace (#2485)
* wip

* schema tweaks

* room -> chat

* missed one

* missed another

* deleted messages + incoming message settings

* add schemas for blocking users

* chat update schemas

* make updateUserSettings more generic

* fix dangling ref

* fix dangling refs

* mute chats & leave chats

* schema consistency, naming

* lexicon for updating chat read state

* dm lexicon updates, add batch send endpoint

* dm sender on deleted message

* Add codegen for temp lex

* lexicon: switch temp.dm to chat.bsky namespace, misc fixes

* lexicon: codegen

* lexicon: fix some chat/convo terminology

* lexicon: codegen

* moderator schemas

* codegen

* lexicon: consistency in chat lexicons

* lexicon: add chat to associated profile info

* add ref to updateActorAccess

* add annotation on convoView for disabled members

* codegen

* remove dm references from ozone schemas

* lexicon: chat account deletion, data export, and profile state

* lexicon typo

* lexicon typo

* lexicon: mark chat senders as required

* add changeset

* appview: proper support for chat.bsky lexicons

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2024-05-13 14:22:58 -04:00
Eric Bailey b9b7c58219 Add savedFeedsPrefV2 and new methods (#2427)
* Preview

* Double write v2 -> v1

* Add savedFeeds output

* Tightening up

* Revise and clean up APIs, update tests

* Codegen

* Enforce sort order

* Fix unrelated tests

* Reduce edits by using old naming

* Remove redundant test, fix title

* Add changeset

* Ensure unique constraints preserve insertion order if duplicates are found

* Adds addSavedFeeds as a convenience

* Use pluralized interfaces

* Update deprecation notices

* Update method naming

* Update deprecation comments

* Filter invalid types during migration

* Change uri of default timeline

* Fix typo
2024-04-24 11:48:50 -05:00
devin ivy c6d758b8b6 Appview: support new post search params, viewer context in search (#2409)
* remove viewer param from searchActorsTypeahead

* appview: pass new search params to search service, add viewer

* add changeset
2024-04-16 14:10:30 -04:00
bnewbold a2d5658f28 lexicons: add more search parameters (#2396)
* lex: add account to actor search, for following boost

* lex: addition post search query params

* lex: add tag to post search; set default for sort

* lex: fix formats and skeleton consistency

* lex: searchPosts 'until' should be exclusive

* lex: relax post time range syntax

* lex: allow multiple tags ('AND') as search params

* make fmt

* lex: use 'viewer' for account DID making profile search

* lex: no viewer param in searchActor (only skeleton); do include in post skeleton

* codegen search param additions
2024-04-11 16:45:13 -07: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
devin ivy c28e374868 Appview: add associated.labeler info to all profile views (#2341)
* lexicon: add associated field to profile and profile-basic views, for indicating whether labeler

* appview: add associated.labeler to profile and profile-basic views

* dev-env: downgrade get-port, non-esm-only version
2024-03-19 12:26:14 -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 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
dan 192223f127 Show only replies from people you follow in Following by default (#2279)
* Show only replies from people you follow by default in Following

* Patch
2024-03-06 16:55:58 +00:00
Eric Bailey 514aab92d2 Add missing getPreferences union return types (#2215)
* Add missing getPreferences union types

* Add changeset
2024-02-22 09:43:58 -06:00
Eric Bailey b60719480f Muted items prefs (#2195)
* Muted items prefs

* Add hidden posts

* Enhance

* Update to use smart objects

* Add 'any'

* Codegen

* Enhance

* Muted words methods

* Dry it up

* Format

* Add hidden posts methods

* Who codegens the codegens

* Sanitize tags, always compare bare strings

* Moar test

* Simplify

* Add test

* Add changeset
2024-02-21 19:32:09 -06:00
Daniel Holmgren 8c94979f73 Timeline index pref (#2188)
* add following index pref

* added changeset

* change pref name

* update changeset
2024-02-15 20:12:39 -06:00
bnewbold 9579bec720 update descriptions in Lexicons (#2110)
* lexicons: update descriptions in com.atproto.*

* lexicons: update descriptions in app.bsky.*

* Apply suggestions from code review

Thanks Emily!

Co-authored-by: Emily Liu <emilyliu7321@gmail.com>

* codegen description-only Lexicon updates

---------

Co-authored-by: Emily Liu <emilyliu7321@gmail.com>
2024-02-11 16:06:58 -08:00
Eric Bailey 4171c04ad8 Add interest tags to preferences (#2086)
* Add interestsPref

* Codegen

* Update lex

* Add method to agent, test

* Codegen

* Format

* Remove console

* Update lex, codegen, update tests

* Update tests

* Format

* Add changeset

* Update property name
2024-01-25 12:05:10 -06:00
Emily Liu 59f70dbe80 Tweak lexicon descriptions (#1859)
* Tweak lexicon descriptions

* Tweak birthdate

* Update lexicons/app/bsky/actor/getProfiles.json

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

* Regenerate packages from lexicons

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2023-11-20 17:41:25 -05:00
Paul Frazee 9c98a5baaf Modlist updates: add "blockingByList" information and some utility functions to the sdk (#1779)
* Add blockingByList to app.bsky.actor.defs#viewerState

* Add blocking-by-list behaviors to moderation sdk

* Add modlist helper functions to bsky-agent

* codegen

* hydrate blockingByList in profile viewer state

* ignore self-mutes and self-blocks in read path

* format

* changeset

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2023-10-27 14:35:36 -04:00
bnewbold 233a132c11 proposed new search lexicons (#1594)
* proposed new search lexicons

* lexicons: lint

* lexicons: fix actors typo

* lexicons: camelCase bites again, ssssss

* lexicons: add 'q' and mark 'term' as deprecated for search endpoints

* codegen for search lexicon updates

* bsky: prefer 'q' over 'term' in existing search endpoints

* search: bugfix

* lexicons: make unspecced search endpoints return skeleton obj

* re-codegen for search skeleton obj
2023-09-25 16:56:00 -07:00
Paul Frazee 061865c8bf Add feed-vew and thread-view preferences (#1638)
* Add feed and thread preference lexicons

* Add feed-view and thread-view preference APIs
2023-09-20 10:22:27 -07:00
Paul Frazee 44b721b6ae Add personal-details user preference with birth date (#1565)
* Add personal-details user preference with birth date

* Add personal details pref to settings union
2023-09-08 10:35:49 -07:00
Eric Bailey a7c42cfe39 Clean up prettier/eslint scripts (#1514)
* add prettierignore, hoist script

* upgrade prettier

* bump prettier eslint deps

* format all files

* hoist prettier check

* remove unused scripts, hoist lint:fix

* remove npm-run-all, unused

* hoist lint

* remove lint scripts

* improve lint scripts

* remove prettierignores

* downgrade prettier deps to fix codgen

* reformat all files

* update makefile, format

* fix locklife

* final format

---------

Co-authored-by: dholms <dtholmgren@gmail.com>
2023-09-06 19:27:50 -05:00
Paul Frazee ab50816461 Self-labeling (#1444)
* 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>
2023-08-09 19:06:29 -04:00
Daniel Holmgren 8059e07d8a Custom feeds (#1001)
* actor type in profiles

* skeleton lex

* more schemas

* first pass at feed composition

* cleanup services

* more tidying

* fix up tests

* bookmarking schemas

* make feeds records instead of actors

* some cleanup

* fleshing out feeds as records

* wip

* working into cfg & dev-env

* fix appview test util

* bookmarking + views

* tidy

* add displayName

* db migration

* wip test

* blob processing

* first test working!

* Sync-up snapshots

* wip

* Fix pds ctx type

* Sync lexicons on pds and api

* wip

* fully refactor

* Prep for open union in reply data in bsky appview, sync-up snapshots

* msgs & ports

* Make pds did cache sqlite-friendly

* Start scaffolding more feedgen tests

* revamp appview tests

* revamp pds tests

* merge in dev env utils

* ensure plc close

* add feed gen to dev-env

* second feed gen

* named feeds in mock

* fix issue with dev-env pds appview

* update bsky snaps

* Flesh-out some feed gen tests

* Fix feed gen reply test

* Test feed bookmarking

* update skeleton defs

* merge

* Sync-up pds with updated feed skeleton contract

* Fix feed bookmark viewer state

* add feed embeds

* Test inaccurate feed gen repost

* Tighten some error behaviors around feed gens

* generator view in record embed

* test

* bookmarked/subscribed -> saved

* updated snaps

* name & descript on alices feed

* add like counts

* proposed lex

* tweak

* fetch feed generator details

* add describeFeedGen to dev-env

* adds tests for getFeedGenerator

* Update lexicons/app/bsky/feed/getFeedGenerator.json

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

* update describe

* add cid to feed gen view

* add alice feed gen avatar

* generator displayName required

* update snaps

* Fix dev env public url (#1058)

* Fix the public url used by dev-env

* move publicUrl location

---------

Co-authored-by: dholms <dtholmgren@gmail.com>

* add defs for feed gen prefs & decrease displayName length

* build branch

* updated how saved feeds works

* cleanup lex

* mount route

* Starter bsky algos (#1046)

* implement some starter bsky algos

* add team dids

* tidy

* add quotepost check to whats hot classic

* tests

* carve out feedgen section of pds

* apply limits

* add describeFeedGenerator route

* Whats hot new (#1060)

* map out new whats hot

* only available in postgres

* Fix dev env public url (#1058)

* Fix the public url used by dev-env

* move publicUrl location

---------

Co-authored-by: dholms <dtholmgren@gmail.com>

* add defs for feed gen prefs & decrease displayName length

* build branch

* updated how saved feeds works

* build algos branch

* remove relative imports to @atproto/api

* update hot classic name

* rm build

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* v0.3.6

* v0.3.7

* v0.1.10

* update name of skyline

* build branch

* aws build

* getFeedGenerators test

* For now only use new replyRef union for custom feeds, for compat

* Don't use replyRef union on new feeds yet

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-19 18:31:51 -04:00