Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: PDS entryway service #1722

Closed
wants to merge 180 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
975e166
scratch work on multi-pds auth
devinivy Oct 5, 2023
3a59d67
move from jsonwebtoken to jose package, impl secp256k1 auth token
devinivy Oct 6, 2023
73e137c
pds assignment, pds in tokens
devinivy Oct 6, 2023
966572e
move authPassthru util
devinivy Oct 6, 2023
c463200
setup proxying repo write ops
devinivy Oct 6, 2023
36f359b
authed and unauthed proxying on com.atproto.repo endpoints
devinivy Oct 6, 2023
25e08b8
unify authed and unauthed pds proxying
devinivy Oct 6, 2023
e59beca
adapt admin endpoints for multi-pds
devinivy Oct 8, 2023
92f3434
pds-proxy report creation and app.bsky endpoints
devinivy Oct 9, 2023
c9c6d0a
fix
devinivy Oct 9, 2023
7a62a2c
move takedown id from repo_root to user_account, make repo_root optio…
devinivy Oct 9, 2023
02062bc
cleanup ensuring on correct pds, add to uploadBlob
devinivy Oct 9, 2023
b8ffe9b
Merge remote-tracking branch 'origin/multi-pds-auth-keys' into multi-…
devinivy Oct 9, 2023
ab9dcb5
feature branch diff
devinivy Oct 9, 2023
5862d37
start testing multi-pds flows, update dev-env mocks
devinivy Oct 11, 2023
8c7e5fe
misc fixes, tests
devinivy Oct 11, 2023
bf3dc05
test pds entryway auth w/o priv keys on both servers
devinivy Oct 11, 2023
5f4882e
weighted pds assignment
devinivy Oct 11, 2023
ad093f4
test auth flow when switching pdses
devinivy Oct 11, 2023
8b6f61a
tidy
devinivy Oct 12, 2023
52022c0
configure pds as non-entryway, validate aud on non-entry, test
devinivy Oct 12, 2023
21197c2
tidy tests
devinivy Oct 12, 2023
98dbf17
tidy tests
devinivy Oct 12, 2023
f7720d8
Proxy for accounts across PDSes (#1724)
devinivy Oct 13, 2023
2da07fc
Merge remote-tracking branch 'origin/multi-pds-auth' into multi-pds-a…
devinivy Oct 13, 2023
7582fd5
Merge pull request #1741 from bluesky-social/multi-pds-auth-gone-repo
devinivy Oct 13, 2023
51a4905
Merge remote-tracking branch 'origin/multi-pds-auth' into multi-pds-a…
devinivy Oct 13, 2023
39e13d2
Merge pull request #1742 from bluesky-social/multi-pds-auth-tests
devinivy Oct 13, 2023
4a1886e
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Oct 23, 2023
528a6cf
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Oct 23, 2023
bbfd886
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Oct 26, 2023
7647abc
Account creation flow between PDS and entryway (#1744)
devinivy Oct 27, 2023
a3c8c78
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Oct 29, 2023
04c1d6b
version entryway prerelease
devinivy Oct 29, 2023
fa6933d
pre version entryway
devinivy Oct 30, 2023
e5d8429
Revert "pre version entryway"
devinivy Oct 30, 2023
0d1c83d
pre version entryway
devinivy Oct 30, 2023
f09a8d4
Entryway update handle flow, pds and agent caching (#1785)
devinivy Oct 31, 2023
6545960
Merge branch 'multi-pds-auth' of github.com:bluesky-social/atproto in…
devinivy Oct 31, 2023
2cf2e05
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Oct 31, 2023
2b86330
build
devinivy Nov 1, 2023
80e41c7
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 1, 2023
011c728
fix after merge
devinivy Nov 1, 2023
09f0927
merge
dholms Nov 1, 2023
5fb44a1
Entryway tweaks to account creation and proxying (#1798)
devinivy Nov 1, 2023
b4aa50e
version pds entryway
devinivy Nov 1, 2023
0fe35b6
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 2, 2023
067eb64
Entryway proxying for admin subject status endpoints (#1805)
devinivy Nov 4, 2023
586cc06
Polish on entryway blob uploads and gets (#1814)
devinivy Nov 4, 2023
6cd958d
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 5, 2023
64d2c01
Ensure did doc in session has matching account pds (#1831)
devinivy Nov 7, 2023
cca9f91
Entryway-to-pds account deletion flow (#1820)
devinivy Nov 7, 2023
619c7f0
merge main
dholms Nov 15, 2023
5630a12
correctly proxy feed.searchPosts
dholms Nov 15, 2023
20bf2ce
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 20, 2023
2b05980
Test entryway session handling (#1818)
devinivy Nov 21, 2023
fa406b5
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 28, 2023
c3b1805
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 30, 2023
71925cb
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Nov 30, 2023
22c1e12
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Dec 1, 2023
dca56eb
Merge remote-tracking branch 'origin/main' into multi-pds-auth
devinivy Dec 4, 2023
2fb1c8d
Alter entryway for separate mod backend (#2019)
devinivy Jan 5, 2024
e050d23
fix proxy in admin.sendEmail
dholms Jan 6, 2024
4c4a7d8
build
dholms Jan 6, 2024
03d8a3e
dont build
dholms Jan 6, 2024
f56ef4f
basic twilio phone verification flow
dholms Jan 17, 2024
3cd2768
track verified numbers in db
dholms Jan 17, 2024
d0771c2
codegen + tests
dholms Jan 17, 2024
5bc46d8
add phone verification to dev-env
dholms Jan 17, 2024
cd5af03
fix codegen
dholms Jan 17, 2024
e560039
Pass createAccount params directly from the generated type
pfrazee Jan 18, 2024
e62a42c
ensure valid phone number
dholms Jan 19, 2024
acd230c
test for normalization
dholms Jan 19, 2024
08a2e44
comment
dholms Jan 19, 2024
7fef18e
couple more tests
dholms Jan 19, 2024
04ad913
add some error handling
dholms Jan 19, 2024
ca11d39
phone number verification
dholms Jan 19, 2024
6bdf874
Communication template admin endpoints on entryway (#2064)
devinivy Jan 19, 2024
a4349a3
build
devinivy Jan 19, 2024
0748b94
build branch
dholms Jan 23, 2024
6884f03
update env name
dholms Jan 23, 2024
4601acd
merge
dholms Jan 23, 2024
43071d1
schemas
dholms Jan 23, 2024
413e24f
gen code
dholms Jan 23, 2024
e849508
sketching out signup limiter
dholms Jan 23, 2024
d20afa1
flesh out polling singup limiter
dholms Jan 23, 2024
bec3d56
new schemas & fleshing out signup queue
dholms Jan 23, 2024
55d6642
refactor & hook up to ctx
dholms Jan 24, 2024
0e56c91
db migration
dholms Jan 24, 2024
addeabd
bad codegen
dholms Jan 24, 2024
a2aa60e
tests
dholms Jan 24, 2024
071d0fc
tidy test + dev-env mock
dholms Jan 24, 2024
39e2956
Entryway: tagged suggestions (#2078)
dholms Jan 24, 2024
1de5b95
Merge branch 'multi-pds-auth' into entryway-twilio
dholms Jan 24, 2024
a3cf3a3
update error language
dholms Jan 24, 2024
b18b766
bugfix twilio
dholms Jan 25, 2024
f9e51aa
patch up some tests
dholms Jan 25, 2024
c7ba677
patch more tests
dholms Jan 25, 2024
9a1fe0a
fix query
dholms Jan 25, 2024
65c7738
Expose refreshSession on the agent
pfrazee Jan 25, 2024
52d5720
couple more routes for deactivated accounts
dholms Jan 25, 2024
48b0731
typo
dholms Jan 25, 2024
5d5d7bc
tidy account existence check
dholms Jan 25, 2024
e8b47b5
improve error handling
dholms Jan 25, 2024
021fa9a
handle one more error
dholms Jan 25, 2024
49ced7c
dont build branch
dholms Jan 29, 2024
c7d95e9
Merge pull request #2055 from bluesky-social/entryway-twilio
dholms Jan 29, 2024
07daf5f
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Jan 29, 2024
efb613a
email template
dholms Jan 30, 2024
d79baff
hooking up courier
dholms Jan 30, 2024
e908d8a
cleanup, add cfg, add rate limiting on email
dholms Jan 30, 2024
085bc87
build branch
dholms Jan 30, 2024
5f830cb
run activator
dholms Jan 30, 2024
64ff83a
dont run activator in dev-env
dholms Jan 30, 2024
e7bd3ff
run activator async
dholms Jan 30, 2024
258734b
round estimated time
dholms Jan 31, 2024
6c0571d
logging
dholms Jan 31, 2024
c1bbd68
real time limiter
dholms Jan 31, 2024
a8959b3
Merge branch 'signup-queueing-take2' into signup-queue-notify
dholms Jan 31, 2024
eb4cfb9
format
dholms Jan 31, 2024
5f8f094
Entryway: non-transactional createAccount (#2109)
dholms Feb 1, 2024
86655ea
Phone verification bypass number (#2119)
dholms Feb 1, 2024
8d719e4
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 1, 2024
a2a867f
build branch
dholms Feb 1, 2024
4bddd0c
merge
dholms Feb 1, 2024
d3c6d6a
no assert on plcOp
dholms Feb 1, 2024
0047560
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 1, 2024
311f2b0
bypass requestPhoneVerification
dholms Feb 1, 2024
dd6c729
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 1, 2024
1f64e22
fix test
dholms Feb 1, 2024
6f66197
test for phone verification
dholms Feb 1, 2024
6876dab
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 1, 2024
24738bc
Merge branch 'signup-queueing-take2' into signup-queue-notify
dholms Feb 1, 2024
c18985a
build branch
dholms Feb 2, 2024
fd4aec0
build branch
dholms Feb 2, 2024
3208420
Add rate limits to email routes (#2129)
dholms Feb 3, 2024
37e7453
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 3, 2024
3058f87
tweak password reset rate limit
dholms Feb 3, 2024
ef49db0
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 3, 2024
4127d0f
tweak again
dholms Feb 3, 2024
1981dc9
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 3, 2024
346d04d
Clear email tokens on email update - entryway (#2130)
dholms Feb 3, 2024
e9783cf
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 3, 2024
57b1ad5
protect against potential race
dholms Feb 4, 2024
3f3df31
Merge branch 'multi-pds-auth' into signup-queueing-take2
dholms Feb 4, 2024
51d0231
Merge pull request #2076 from bluesky-social/signup-queueing-take2
dholms Feb 5, 2024
dcabe6a
Merge pull request #2115 from bluesky-social/signup-queue-notify
dholms Feb 5, 2024
444fc09
build branch
dholms Feb 5, 2024
014ed34
Update the activated account email template
pfrazee Feb 5, 2024
3d45cb3
Merge pull request #2138 from bluesky-social/activation-email-template
dholms Feb 5, 2024
f0754f6
createAccoutn error based on user agent
dholms Feb 5, 2024
0c3a94c
comment
dholms Feb 5, 2024
6e893d2
Merge branch 'multi-pds-auth' into user-agent-availability-error
dholms Feb 5, 2024
2c9088e
format
dholms Feb 6, 2024
4518208
Merge pull request #2139 from bluesky-social/user-agent-availability-…
dholms Feb 6, 2024
59494a5
Sync entryway lexicons (#2147)
devinivy Feb 8, 2024
e3b9eb6
Entryway: plivo integration (#2155)
dholms Feb 8, 2024
b318aa1
interface
dholms Feb 8, 2024
8812d94
refactor a bit
dholms Feb 9, 2024
617ca74
build
devinivy Feb 9, 2024
9761d75
Merge branch 'multi-pds-auth' into abuse-checker
dholms Feb 9, 2024
98dbb14
add very short rate limit
dholms Feb 11, 2024
7de61a7
:sparkles: Pass along comment with modEventEmail (#2162)
foysalit Feb 13, 2024
f5314ed
increase createAccoutn rate limit
dholms Feb 13, 2024
f758803
Support admin account deletion on entryway (#2177)
devinivy Feb 13, 2024
6d13ba3
add new idx to refresh_token table
dholms Feb 14, 2024
7dc1cd5
fix codegen
dholms Feb 15, 2024
de46659
re-codegen
dholms Feb 15, 2024
875595a
add HanlderPipeThrough type to xrpc-server
dholms Feb 15, 2024
fb7ac0d
change back feedgen test
dholms Feb 15, 2024
950ca85
Merge pull request #2186 from bluesky-social/entryway-codegen
dholms Feb 15, 2024
38867bb
sync lexicons
devinivy Feb 19, 2024
7d8ce2c
Setup alternative self-verification in account creation (#2189)
devinivy Feb 19, 2024
40397e5
Entryway account migration (#2185)
dholms Feb 21, 2024
abf8011
Entryway: support jwe self-verification tokens (#2234)
devinivy Feb 27, 2024
f0058e8
Entryway sending email via account service auth, deprecate mod servic…
devinivy Mar 5, 2024
7eb9eb4
Entryway: pull correct key from based on mod service did ref (#2275)
devinivy Mar 5, 2024
104ea99
add new tools.ozone lexicons to entryway (#2299)
dholms Mar 12, 2024
4ac82c6
Pass proxy header along with auth passthrough (#2311)
devinivy Mar 13, 2024
2272ce5
Entryway: add labeler.getServices (#2336)
dholms Mar 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/build-and-push-pds-aws.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on:
push:
branches:
- main
- multi-pds-auth
env:
REGISTRY: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_REGISTRY }}
USERNAME: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_USERNAME }}
Expand Down
20 changes: 18 additions & 2 deletions lexicons/app/bsky/actor/defs.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"lexicon": 1,
"id": "app.bsky.actor.defs",
"description": "A reference to an actor in the network.",
"defs": {
"profileViewBasic": {
"type": "object",
Expand Down Expand Up @@ -78,6 +77,7 @@
},
"viewerState": {
"type": "object",
"description": "Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests.",
"properties": {
"muted": { "type": "boolean" },
"mutedByList": {
Expand All @@ -104,7 +104,8 @@
"#savedFeedsPref",
"#personalDetailsPref",
"#feedViewPref",
"#threadViewPref"
"#threadViewPref",
"#interestsPref"
]
}
},
Expand Down Expand Up @@ -143,6 +144,9 @@
"type": "string",
"format": "at-uri"
}
},
"timelineIndex": {
"type": "integer"
}
}
},
Expand Down Expand Up @@ -199,6 +203,18 @@
"description": "Show followed users at the top of all replies."
}
}
},
"interestsPref": {
"type": "object",
"required": ["tags"],
"properties": {
"tags": {
"type": "array",
"maxLength": 100,
"items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 },
"description": "A list of tags which describe the account owner's interests gathered during onboarding."
}
}
}
}
}
2 changes: 1 addition & 1 deletion lexicons/app/bsky/actor/getPreferences.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get private preferences attached to the account.",
"description": "Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.",
"parameters": {
"type": "params",
"properties": {}
Expand Down
8 changes: 6 additions & 2 deletions lexicons/app/bsky/actor/getProfile.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@
"defs": {
"main": {
"type": "query",
"description": "Get detailed profile view of an actor.",
"description": "Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.",
"parameters": {
"type": "params",
"required": ["actor"],
"properties": {
"actor": { "type": "string", "format": "at-identifier" }
"actor": {
"type": "string",
"format": "at-identifier",
"description": "Handle or DID of account to fetch profile of."
}
}
},
"output": {
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/actor/getSuggestions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get a list of suggested actors, used for discovery.",
"description": "Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.",
"parameters": {
"type": "params",
"properties": {
Expand Down
6 changes: 5 additions & 1 deletion lexicons/app/bsky/actor/profile.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "record",
"description": "A declaration of a profile.",
"description": "A declaration of a Bluesky account profile.",
"key": "literal:self",
"record": {
"type": "object",
Expand All @@ -16,21 +16,25 @@
},
"description": {
"type": "string",
"description": "Free-form profile description text.",
"maxGraphemes": 256,
"maxLength": 2560
},
"avatar": {
"type": "blob",
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
"accept": ["image/png", "image/jpeg"],
"maxSize": 1000000
},
"banner": {
"type": "blob",
"description": "Larger horizontal image to display behind profile view.",
"accept": ["image/png", "image/jpeg"],
"maxSize": 1000000
},
"labels": {
"type": "union",
"description": "Self-label values, specific to the Bluesky application, on the overall account.",
"refs": ["com.atproto.label.defs#selfLabels"]
}
}
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/actor/searchActors.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Find actors (profiles) matching search criteria.",
"description": "Find actors (profiles) matching search criteria. Does not require auth.",
"parameters": {
"type": "params",
"properties": {
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/actor/searchActorsTypeahead.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Find actor suggestions for a prefix search term.",
"description": "Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.",
"parameters": {
"type": "params",
"properties": {
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/embed/external.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"lexicon": 1,
"id": "app.bsky.embed.external",
"description": "A representation of some externally linked content, embedded in another form of content.",
"defs": {
"main": {
"type": "object",
"description": "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).",
"required": ["external"],
"properties": {
"external": {
Expand Down
22 changes: 17 additions & 5 deletions lexicons/app/bsky/embed/images.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"lexicon": 1,
"id": "app.bsky.embed.images",
"description": "A set of images embedded in some other form of content.",
"description": "A set of images embedded in a Bluesky record (eg, a post).",
"defs": {
"main": {
"type": "object",
Expand All @@ -23,7 +23,10 @@
"accept": ["image/*"],
"maxSize": 1000000
},
"alt": { "type": "string" },
"alt": {
"type": "string",
"description": "Alt text description of the image, for accessibility."
},
"aspectRatio": { "type": "ref", "ref": "#aspectRatio" }
}
},
Expand Down Expand Up @@ -51,9 +54,18 @@
"type": "object",
"required": ["thumb", "fullsize", "alt"],
"properties": {
"thumb": { "type": "string" },
"fullsize": { "type": "string" },
"alt": { "type": "string" },
"thumb": {
"type": "string",
"description": "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View."
},
"fullsize": {
"type": "string",
"description": "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View."
},
"alt": {
"type": "string",
"description": "Alt text description of the image, for accessibility."
},
"aspectRatio": { "type": "ref", "ref": "#aspectRatio" }
}
}
Expand Down
7 changes: 5 additions & 2 deletions lexicons/app/bsky/embed/record.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"lexicon": 1,
"id": "app.bsky.embed.record",
"description": "A representation of a record embedded in another form of content.",
"description": "A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.",
"defs": {
"main": {
"type": "object",
Expand Down Expand Up @@ -36,7 +36,10 @@
"type": "ref",
"ref": "app.bsky.actor.defs#profileViewBasic"
},
"value": { "type": "unknown" },
"value": {
"type": "unknown",
"description": "The record data itself."
},
"labels": {
"type": "array",
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/embed/recordWithMedia.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"lexicon": 1,
"id": "app.bsky.embed.recordWithMedia",
"description": "A representation of a record embedded in another form of content, alongside other compatible embeds.",
"description": "A representation of a record embedded in a Bluesky record (eg, a post), alongside other compatible embeds. For example, a quote post and image, or a quote post and external URL card.",
"defs": {
"main": {
"type": "object",
Expand Down
1 change: 1 addition & 0 deletions lexicons/app/bsky/feed/defs.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
},
"viewerState": {
"type": "object",
"description": "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.",
"properties": {
"repost": { "type": "string", "format": "at-uri" },
"like": { "type": "string", "format": "at-uri" },
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/feed/describeFeedGenerator.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get information about a feed generator, including policies and offered feed URIs.",
"description": "Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).",
"output": {
"encoding": "application/json",
"schema": {
Expand Down
3 changes: 2 additions & 1 deletion lexicons/app/bsky/feed/generator.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "record",
"description": "A declaration of the existence of a feed generator.",
"description": "Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.",
"key": "any",
"record": {
"type": "object",
Expand Down Expand Up @@ -32,6 +32,7 @@
},
"labels": {
"type": "union",
"description": "Self-label values",
"refs": ["com.atproto.label.defs#selfLabels"]
},
"createdAt": { "type": "string", "format": "datetime" }
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/feed/getActorFeeds.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get a list of feeds created by the actor.",
"description": "Get a list of feeds (feed generator records) created by the actor (in the actor's repo).",
"parameters": {
"type": "params",
"required": ["actor"],
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/feed/getActorLikes.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get a list of posts liked by an actor.",
"description": "Get a list of posts liked by an actor. Does not require auth.",
"parameters": {
"type": "params",
"required": ["actor"],
Expand Down
6 changes: 4 additions & 2 deletions lexicons/app/bsky/feed/getAuthorFeed.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get a view of an actor's feed.",
"description": "Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.",
"parameters": {
"type": "params",
"required": ["actor"],
Expand All @@ -19,10 +19,12 @@
"cursor": { "type": "string" },
"filter": {
"type": "string",
"description": "Combinations of post/repost types to include in response.",
"knownValues": [
"posts_with_replies",
"posts_no_replies",
"posts_with_media"
"posts_with_media",
"posts_and_author_threads"
],
"default": "posts_with_replies"
}
Expand Down
2 changes: 1 addition & 1 deletion lexicons/app/bsky/feed/getFeed.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defs": {
"main": {
"type": "query",
"description": "Get a hydrated feed from an actor's selected feed generator.",
"description": "Get a hydrated feed from an actor's selected feed generator. Implemented by App View.",
"parameters": {
"type": "params",
"required": ["feed"],
Expand Down
18 changes: 14 additions & 4 deletions lexicons/app/bsky/feed/getFeedGenerator.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@
"defs": {
"main": {
"type": "query",
"description": "Get information about a feed generator.",
"description": "Get information about a feed generator. Implemented by AppView.",
"parameters": {
"type": "params",
"required": ["feed"],
"properties": {
"feed": { "type": "string", "format": "at-uri" }
"feed": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the feed generator record."
}
}
},
"output": {
Expand All @@ -22,8 +26,14 @@
"type": "ref",
"ref": "app.bsky.feed.defs#generatorView"
},
"isOnline": { "type": "boolean" },
"isValid": { "type": "boolean" }
"isOnline": {
"type": "boolean",
"description": "Indicates whether the feed generator service has been online recently, or else seems to be inactive."
},
"isValid": {
"type": "boolean",
"description": "Indicates whether the feed generator service is compatible with the record declaration."
}
}
}
}
Expand Down
8 changes: 6 additions & 2 deletions lexicons/app/bsky/feed/getFeedSkeleton.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@
"defs": {
"main": {
"type": "query",
"description": "Get a skeleton of a feed provided by a feed generator.",
"description": "Get a skeleton of a feed provided by a feed generator. Auth is optional, depending on provider requirements, and provides the DID of the requester. Implemented by Feed Generator Service.",
"parameters": {
"type": "params",
"required": ["feed"],
"properties": {
"feed": { "type": "string", "format": "at-uri" },
"feed": {
"type": "string",
"format": "at-uri",
"description": "Reference to feed generator record describing the specific feed being requested."
},
"limit": {
"type": "integer",
"minimum": 1,
Expand Down
Loading
Loading