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
devin ivy
7000746941
bsky: do not apply blocks viewed by trusted mod service ( #4837 )
...
* bsky: skip blocks against mod viewer
* bsky: test mod service blocks fix
* changeset
2026-04-07 18:03:52 -04:00
Matthieu Sieben
d0c136cba2
Move PDS code over to @atproto/lex ( #4408 )
2026-03-23 18:10:16 +01:00
DS Boyce
b86dbfcbe3
Remove feature gate for new user onboarding ( #4775 )
...
* Remove feature gate for new user onboarding
* Add changeset
* Remove feature gate from enum
* Remove unused type
* Attempt to fix tests
2026-03-19 13:55:01 -07:00
Eric Bailey
3b41b81e27
Remove deprecated handling from getSuggestedFollowsByActor ( #4747 )
...
* Remove deprecated handling from getSuggestedFollowsByActor
* Remove very old test that is not testing existing functionality
* Import sort
* Softer off-ramp if suggestionsAgent
2026-03-18 18:36:20 -05:00
rafael
bc69b03f53
improve checking for zero dates and test ( #4762 )
2026-03-17 14:23:51 -03:00
devin ivy
139b2941d6
bsky: remove feature gate for including format in image URLs ( #4755 )
...
* bsky: remove feature gate on urls containing image format
* changeset
* bsky: fix test
* tidy
2026-03-16 16:46:20 -04:00
devin ivy
7ed57043c1
bsky: switch default image format to jpeg temporarily ( #4723 )
...
Co-authored-by: rafaeleyng <rafaeleyng@gmail.com >
2026-03-05 15:29:42 -03:00
rafael
7444295e79
use feature gate to remove image format from URL ( #4721 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 14:05:21 -03:00
devin ivy
383e157021
bsky: remove format from img urls by default ( #4712 )
...
* bsky: remove format from img urls, w/ config to control rollout. default webp.
* tidy
* changeset
* tidy
2026-03-04 22:41:44 -05:00
rafael
d69c81e335
Fix invalid handle showing verification ( #4634 )
2026-02-23 10:22:14 -03:00
Matthieu Sieben
c4b04899c8
Attempt at fixing flaky BSKY test ( #4673 )
...
Attempt at fixin CI
2026-02-20 20:26:27 +01:00
Eric Bailey
978a99efad
[ALG-58] Use existing getOnboardingSuggestedUsersSkeleton method name ( #4647 )
...
* Use existing method name
* Fix import
* Wait no, still wrong
* Changeset
2026-02-16 21:48:32 -06:00
rafael
50dfbec512
Add separate onboarding suggested users endpoint ( #4632 )
2026-02-10 19:18:59 -03:00
Matthieu Sieben
d54d7077eb
DID document validation ( #4580 )
...
* DID document validation
* relax `import/no-deprecated` lint rule
2026-01-27 08:25:13 +01:00
Eduardo Cuducos
e6e43f3ad3
Adds GrowthBook feature flag for suggested users from Discover ( #4526 )
...
* Adds GrowthBook feature flag for suggested users from Discover
* Moves GrowthBook URL to envvar
* Reverts search feature
* Some minor fixes
* Adds GrowthBook feature flag for suggested users from Discover
* Moves GrowthBook URL to envvar
* Some minor fixes
* Keep search filtering exploration around but disable until migration
* Properly initialize GrowthBook client
* Cleans up
* Migrate flags
* Tweak context creation and types
* Add refetching and more error handling
* Rename config to be a little more clear
* Remove check validation, not needed
* Yeah ok we can do this
* Changeset
---------
Co-authored-by: Eric Bailey <git@esb.lol >
2026-01-23 12:56:10 -06:00
rafael
5905eb94a6
Drafts implementation ( #4549 )
2026-01-22 18:23:56 -03: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
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
7ef893563b
[AAv2] Add minAccessAge to Age Assurance regional configs ( #4513 )
2026-01-07 18:38:40 -03:00
rafael
d5414b0b14
Rewire takedowns inclusion for getActors ( #4514 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-01-07 18:38:29 -03:00
Matthieu Sieben
e1ca2ff2a4
lint
2026-01-02 14:15:44 +01:00
Eric Bailey
45928bfcd6
[AAv2] Retain existing status/access when re-starting AA flow ( #4441 )
...
* Retain existing status/access when re-starting AA flow
* Add test, fix dataplane v1-v2 bug
2025-12-10 15:17:25 -06:00
Jim Calabro
397c62fe9c
Sitemap Handlers ( #4434 )
...
* add sitemap protos
* cd packages/bsky && npm run buf:gen
* implement user sitemap handlers
* add a test
* lint:fix
* use /external
* use Readable pipe for slightly more effecient data transfer
* rename functions to include the word user
* improve not found case and add test
2025-12-10 11:50:44 -05:00
Eric Bailey
6fab3940f6
[AAv2] Allow users to re-init Age Assurance if not in blocked state ( #4428 )
...
* Allow users to re-init Age Assurance if not in blocked state
* Skip test
2025-12-09 15:49:11 -06:00
rafael
fb95dc6e6f
bsky: Remove not found profiles from queries ( #4417 )
2025-12-05 13:39:39 -03:00
Eric Bailey
90f15698ee
Age Assurance V2 ( #4407 )
...
Age Assurance v2 endpoints and config
2025-12-02 10:58:29 -06:00
Matthieu Sieben
261968fd65
New TS SDK ( #4366 )
...
* lex
* packaging
* moke packaging
* revert test changes
* do not build temp
* tidy
* automatically build the list of `@atproto/lex/com` lexicons
* fix build
* Remove "com" export
* ridy
* remove manifest option
* tidy
* rename
* tidy
* tidy
* tidy
* tests
* add procedure params
* stricter tests
* tidy
* Improve ui8 parsing
* tidy
* tidy
* code split
* code split
* fix reserved keywords conflict
* exclude packages/lex/src/tests/lexicons from lint
* reserved keywords
* safe identifier
* fix build
* move lib.js to src/lib.ts
* Move tests dir
* fix ci ?
* increast lint size
* Remove `Record` type alias for recordsz
* fix package json exports
* Add support for unsafe characters in defs and nsids
* tidy
* token tests
* tidy
* name consistency
* remove unused `unknownKeys` params option
* Fix "moving" keys in `DictSchema` (remove `IntersectionSchema`)
* REview comments
* adapt shebang in `env`
* Make sure union object have their $type property set in typings
* fix
* Improve typing of `UnknownTypedObject`
* lex improvements
* code reorg
* split lex-builder
* tidy
* improve packaging
* rename lex-validation to lex-schema
* lex client
* rename prettifier option
* add lex-client as dependency to "lex"
* Export client as part of main export
* re-write example app using @atproto/lex
* add missing lex-client to tsconfig
* tidy
* add "null" schema type
* Smaller bundle code footprint
* tidy
* correctness
* tidy
* code split and improved testing
* tidy
* refactor common utils
* test all implementations
* improve tests
* tidy
* fix build
* fixes
* tidy
* lint
* tests
* tidy
* fix oauth-example app
* tidy
* tidy
* tests
* tidy
* Return an actual `Uint8Array` from `fromBase64Node`
* tidy
* adapt xrpc-server
* Rename `Lex` to `LexValue`
* minor fixes
* fix tests
* fix tests
* tidy
* fix
* tidy
* tidy
* fix `verifyCidForBytes` implementation
* fix imports
* tidy
* split lex-json in own package
* make base64 tests faster
* Add interop tests
* lint error
* tidy
* tidy
* changeset
* implement lex-resolver and lex-install
* remove need for polyfill
* readme
* more details
* tidy
* allow specifying `service` header on a per request basis
* tidy
* tidy
* tidy
* tidy
* add custom/intersection validation schemas
* tidy
* tidy
* remive un-necessary util
* improve typing of `l.object` output
* make "name" required in lexicon method errors
* fix tests
* tidy
* tidy
* add error responses
* update readme
* add "like " to example
* readme improvements
* tidy
* error management improvements
* Improve error results
* tidy
* refactor
* tidy
* lock
* Update binary to `ts-lex`
* tidy
* tidy
* Add "Overview" section
* fix build
* update bin
* readme-improvements
* paul's feedback
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Initial plan
* Address README review comments
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Clarify client configuration inheritance behavior
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Document allowLegacyBlobs default and compatibility implications (#15 )
* Initial plan
* Add notes about default setting and compatibility for allowLegacyBlobs
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Rename `Json` to `JsonValue` in lex-json package (#14 )
* Initial plan
* Rename Json to JsonValue in lex-json package and dependent packages
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Remove import alias for JsonValue in ipld.ts
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* review comments and fixes
* Add lex to the dockerfiles
* tidy
* changeset for lex packages
* tidy
* Tidy
* tidy
* tidy
* Move language parsing to lex-data
* tidy
* doctoc
* error handling
* tidy
* tidy
* tidy
* fix
---------
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
2025-11-24 21:01:16 +01:00
rafael
1d1d94e80d
Adds tests for takendown cases in getPosts ( #4359 )
2025-11-20 16:21:31 -03: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
rafael
10021207b6
Search filtering by tag ( #4312 )
2025-10-31 16:12:23 -03: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
8dc4caf558
Expand profile fields ( #4224 )
2025-09-24 17:30:10 -03:00
rafael
64100a75b3
Bookmarks ( #4163 )
2025-09-02 10:28:34 -03:00
hailey
0a6a87891e
adjust notifications to filter thread hidden tags ( #4140 )
2025-08-27 11:55:28 -07:00
rafael
c370d933b7
Lists API improvements ( #4081 )
...
* Add purposes filter to app.bsky.graph.getLists
* Add getListsWithMembership
* Add getStarterPacksWithMembership
* Refactor list membership hydration
* changeset
* update getStarterPacksWithMembership lexicon output
* bsky: address feedback on list api improvements
* tidy
* tidy
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com >
2025-08-05 01:06:05 -04:00
hailey
a723ab3893
hydrate acceptsInteractions in generator view ( #4071 )
...
* hydrate in generator view
* add a mock feedgen
* add feed-generation test
* Fix verify
---------
Co-authored-by: rafael <rafael@blueskyweb.xyz >
2025-08-04 11:40:47 -04:00
rafael
9751eebd71
Cleanup app.bsky.unspecced.checkHandleAvailability ( #4072 )
2025-07-29 17:00:05 -03:00
rafael
459a5dcddc
Cleanup AA gate ( #4066 )
2025-07-28 10:53:10 -03:00
rafael
de29a346d8
Fix paginateAll mistakes and improve typing ( #4062 )
2025-07-22 14:51:16 -03:00
Eric Bailey
8787fd9dea
Prevent assured user from re-initiating ( #4058 )
...
* Validate user status before initiating
* Format
* Add test, not working yet
* Fix test
* Import order
---------
Co-authored-by: rafael <rafael@blueskyweb.xyz >
2025-07-18 14:13:25 -05:00
rafael
534bea0a98
Fixes on handle suggestions ( #4055 )
2025-07-18 12:12:09 -03:00
rafael
dc84906c86
checkHandleAvailability endpoint (#4049 )
2025-07-17 16:09:14 -03:00
rafael
88c1364274
APIs for age assurance compliance ( #4028 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2025-07-11 19:09:18 -03:00
Matthieu Sieben
8ef976d385
xrpc-server & lex-cli rework ( #3999 )
...
* xrpc-server & lex-cli rework
* codegen
* tidy
* tidy
* tidy
* Update .changeset/nasty-icons-peel.md
Co-authored-by: devin ivy <devinivy@gmail.com >
* excludeErrorResult util
* Restore export of `SkeletonHandler` from `pds`
* Make `calcKey` RateLimiter option required
* Process request input after auth
* fix tests
* changeset
---------
Co-authored-by: devin ivy <devinivy@gmail.com >
2025-07-08 13:04:11 +02: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
3499642ed1
Improve stash types for namespaces ( #4000 )
2025-06-26 16:45:18 -03:00
Samuel Newman
97ef116571
Rename filter -> include ( #3966 )
...
* rename filter -> include
* changeset
* fix tests
2025-06-17 13:45:49 -04:00