Skip to content

Commit 4672dd8

Browse files
committed
Spelling corrections
1 parent 600b020 commit 4672dd8

14 files changed

+52
-34
lines changed

docs/docs/code/helloWorld.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using idunno.Bluesky;
22

33
using BlueskyAgent agent = new();
4-
var loginResult = await agent.Login(handle, password);
4+
await agent.Login(handle, password);
55
await agent.Post("Hello World from idunno.Bluesky");

docs/docs/commonTerms.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ A `StrongReference` is a record contain both the [at:// uri](#uri) of a record,
2727

2828
Bluesky stores all your stuff in a repository on a Personal Data Server (PDS).
2929
A repository contains various collections, and these collections contain records.
30-
For example, when you write a post you are cerating a record in your repository in the `app.bsky.feed.post` collection.
30+
For example, when you write a post you are creating a record in your repository in the `app.bsky.feed.post` collection.
3131

3232
A simple post record would, in JSON, look something like this
3333

@@ -63,21 +63,30 @@ The Bluesky API documentation refers to a user or bot account as an`Actor`. Acto
6363

6464
### <a name="handles">Handles</a>
6565

66-
A `handle` is what you see in human readable terms, for example "blowdart.me". It's how you view a profile in the browser, for example https://bsky.app/profile/blowdart.me and it's how you @ people in posts.
66+
A `handle` is what you see in human readable terms, for example "blowdart.me". It's how you view a profile in the browser, for example https://bsky.app/profile/blowdart.me and
67+
it's how you @ people in posts.
6768

68-
However as you may have discovered handles can change. When registering on Bluesky you register with a *something*.bsky.social handle, which you can then change to be DNS "verified". If you change your handle your posts still remain, and people that follow you keep following you through the change. This is because underneath handles aren't often used by the APIs, an account is referenced by its `DID`.
69+
However as you may have discovered handles can change. When registering on Bluesky you register with a *something*.bsky.social handle, which you can then change to be DNS "verified".
70+
If you change your handle your posts still remain, and people that follow you keep following you through the change. This is because underneath handles aren't often used by the APIs,
71+
an account is referenced by its `DID`.
6972

7073
### <a name="dids">Distributed Identifier (DID)</a>
7174

72-
A `DID` is your unique key on the atproto network. Under the covers Bluesky uses `DID`s, not handles for pretty much everything, sometimes accepting both and doing the work behind the scenes to resolve a handle into a `DID``.
75+
A `DID` is your unique key on the atproto network. Under the covers Bluesky uses `DID`s, not handles for pretty much everything, sometimes accepting both and doing the
76+
work behind the scenes to resolve a handle into a `DID``.
7377

74-
A `DID` looks something like this: `did:plc:hfgp6pj3akhqxntgqwramlbg`. The first part of the `DID` is the prefix declaring it's a `DID`, the second part is an identifier for the issuer (`plc` is a `DID` issued by Bluesky, `web` is another common identifier indicating an independently issued `DID`), and the final part is a unique reference issued by the issuer.
78+
A `DID` looks something like this: `did:plc:hfgp6pj3akhqxntgqwramlbg`. The first part of the `DID` is the prefix declaring it's a `DID`,
79+
the second part is an identifier for the issuer (`plc` is a `DID` issued by Bluesky, `web` is another common identifier indicating an independently issued `DID`),
80+
and the final part is a unique reference issued by the issuer.
7581

76-
For example, the api to [get an actor profile](https://docs.bsky.app/docs/api/app-bsky-actor-get-profile) takes a `DID`or a handle (this either/or combination is represented as an At-Identifier), but things like [updateAccountPassword](https://docs.bsky.app/docs/api/com-atproto-admin-update-subject-status) take just a `DID`.
82+
For example, the api to [get an actor profile](https://docs.bsky.app/docs/api/app-bsky-actor-get-profile) takes a `DID`or a handle
83+
(this either/or combination is represented as an At-Identifier), but things like [updateAccountPassword](https://docs.bsky.app/docs/api/com-atproto-admin-update-subject-status) take just a `DID`.
7784

7885
When you login via an agent the authenticated user's `DID` is available via the `Did` property on the agent instance.
7986

80-
Bluesky's `DID` directory is available at https://web.plc.directory/. It servers up a `DidDoc` for a plc `DID` which allows discovery of things like a `DID`'s personal data server where authenticated API calls should go. The `BlueskyAgent` class take care of PDS discovery automatically, but you can retrieve a `DidDoc` yourself using the `DirectoryAgent` `ResolveDidDocument` method.
87+
Bluesky's `DID` directory is available at https://web.plc.directory/. It servers up a `DidDoc` for a plc `DID` which allows discovery of things like a `DID`'s personal data
88+
server where authenticated API calls should go. The `BlueskyAgent` class take care of PDS discovery automatically,
89+
but you can retrieve a `DidDoc` yourself using the `DirectoryAgent` `ResolveDidDocument` method.
8190

8291
### <a name="resolvingHandles">Resolving a Handle to a DID</a>
8392

@@ -87,7 +96,8 @@ The `AtProto` and `Bluesky` agents provide a method to resolve a `DID` for a `Ha
8796

8897
As you explore the APIs you while you write records you don't get records, instead you get views of records. You create a `Post` but what you see in your timeline is a `PostView`.
8998

90-
A view is how Bluesky aggregates information from multiple records into a single entity. For example a `PostView` takes information from not only the `Post` record, but also information about the post author via a `ProfileView`, and things like reply and like counts. If you've used a SQL database before you can think of a view like a select over multiple joined tables.
99+
A view is how Bluesky aggregates information from multiple records into a single entity. For example a `PostView` takes information from not only the `Post` record,
100+
but also information about the post author via a `ProfileView`, and things like reply and like counts.
101+
If you've used a SQL database before you can think of a view like a select over multiple joined tables.
91102

92103
Views are generated by applications, the overall view over data that Bluesky presents is commonly referred to as the `AppView`.
93-

docs/docs/conversationsAndMessages.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ foreach (MessageViewBase message in getMessages.Result)
4545
}
4646
```
4747

48-
Once you've shown a user their messages you can update the read status of a conversation with `UpdateRead()` which takes the conversation id, and, optionally the message id of the last message seen.
48+
Once you've shown a user their messages you can update the read status of a conversation with `UpdateRead()` which takes the conversation id, and,
49+
optionally the message id of the last message seen.
4950

5051
## <a name="sending">Sending a message</a>
5152

docs/docs/notifications.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ Like the [timeline sample](timeline.md) notifications can be retrieved and itera
66
HttpResult<int> unreadCount = await agent.GetNotificationUnreadCount();
77
```
88

9-
`GetNotificationUnreadCount()` allows you to check if there's anything unread before you consider retrieving notifications. This could also be used for an indicator in an application or badge. `GetNotificationUnreadCount()` also takes an optional `DateTimeOffset` parameter to allow you to get the unread count from a particular date and time.
9+
`GetNotificationUnreadCount()` allows you to check if there's anything unread before you consider retrieving notifications. This could also be used for an indicator in an application or badge.
10+
`GetNotificationUnreadCount()` also takes an optional `DateTimeOffset` parameter to allow you to get the unread count from a particular date and time.
1011

1112
To retrieve your notifications, read or unread, you call `ListNotifications()`.
1213

@@ -15,7 +16,7 @@ var notifications =
1516
await agent.ListNotifications().ConfigureAwait(false);
1617
```
1718

18-
From there, you would perform the `.Succeded` check and work your way through the notifications collection exposed in the `Result` property. Each notification has a reason property.
19+
From there, you would perform the `.Succeded` check and work your way through the notifications collection exposed in the `Result` property. Each notification has a reason property.
1920

2021
Each type of notification, `Follow`, `Like`, `Mention`, `Quote`, `Reply`, and `Repost` having varying types of information used to supplement the notification with appropriate information.
2122

@@ -76,13 +77,18 @@ HttpResult<EmptyResponse> updateSeen =
7677
await agent.UpdateNotificationSeenAt();
7778
```
7879

79-
`UpdateNotificationSeenAt()` takes an optional `DateTimeOffset seenAt` parameter, so you can, and probably should, save a timestamp before you start working through notifications, and then use the saved timestamp once you've finished, so that notifications that happen after you retrieved the notification list don't get marked as seen. `UpdateNotificationSeenAt()` can also take a `seenAt` parameter in the past, which allows you to reset when Bluesky things you last saw notifications - which is very handy for testing any notification viewer you've written.
80+
`UpdateNotificationSeenAt()` takes an optional `DateTimeOffset seenAt` parameter, so you can, and probably should, save a timestamp before you start working through notifications,
81+
and then use the saved timestamp once you've finished, so that notifications that happen after you retrieved the notification list don't get marked as seen.
82+
`UpdateNotificationSeenAt()` can also take a `seenAt` parameter in the past, which allows you to reset when Bluesky things you last saw notifications, which is very handy
83+
for testing any notification viewer you've written.
8084

81-
A full sample can be found in the [Notifications](https://github.com/blowdart/idunno.atproto/tree/main/samples/Samples.Notifications) project in the [samples](https://github.com/blowdart/idunno.atproto/tree/main/samples) directory in this GitHub repository.
85+
A full sample can be found in the [Notifications](https://github.com/blowdart/idunno.atproto/tree/main/samples/Samples.Notifications) project in the
86+
[samples](https://github.com/blowdart/idunno.atproto/tree/main/samples) directory in this GitHub repository.
8287

8388
## <a name=cursorsPagination>Cursors and Pagination</a>
8489

85-
If you've looked at the source code for the [Notifications sample](https://github.com/blowdart/idunno.atproto/tree/main/samples/Samples.Notifications) you may have noticed it pages through notifications rather than get all the notifications at once.
90+
If you've looked at the source code for the [Notifications sample](https://github.com/blowdart/idunno.atproto/tree/main/samples/Samples.Notifications) you may have noticed it pages
91+
through notifications rather than get all the notifications at once.
8692

8793
The sample uses the `limit` and `cursor` parameters to get notifications one page at a time, consisting of five notifications per page.
8894

docs/docs/posting.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,8 @@ var builderPostResult = await agent.Post(postBuilder, cancellationToken: cancell
384384

385385
## <a name="openGraphCards">Embedding an external link (Open Graph cards)</a>
386386

387-
[Open Graph](https://ogp.me/) is a standard that allows web pages to become a rich object in a social graph. Open Graph metadata allows you to embed a rich link card in a Bluesky post, which will look something like this:
387+
[Open Graph](https://ogp.me/) is a standard that allows web pages to become a rich object in a social graph. Open Graph metadata allows you to embed a rich link card in a
388+
Bluesky post, which will look something like this:
388389

389390
![An embedded link to Wikipedia's page on Baked Beans](media/embeddedCard.png "An embedded Card")
390391

@@ -404,8 +405,8 @@ If you don't want to use a `PostBuilder` you can use the appropriate `Post()` me
404405
var postResult = agent.Post(externalCard: embeddedExternal, cancellationToken: cancellationToken);
405406
```
406407

407-
You can use libraries like [OpenGraph.net](https://github.com/ghorsey/OpenGraph-Net/) or [X.Web.MetaExtractor](https://www.nuget.org/packages/X.Web.MetaExtractor) to retrieve Open Graph properties from which you can construct a card.
408-
For example, using OpenGraph.Net
408+
You can use libraries like [OpenGraph.net](https://github.com/ghorsey/OpenGraph-Net/) or [X.Web.MetaExtractor](https://www.nuget.org/packages/X.Web.MetaExtractor) to retrieve
409+
Open Graph properties from which you can construct a card. For example, using OpenGraph.Net
409410

410411
```
411412
Uri pageUri = new ("https://en.wikipedia.org/wiki/Baked_beans");

docs/docs/profileEditing.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
A user's profile consists of the user's title, a description, a profile picture and a banner picture, all of which can be left empty, as
44
well as other settings like a pinned post that is shown when someone views the account's profile page, a setting to discourage applications
5-
for displaying the profile and posts to unauthenticated users and self labels, which can be any of the configuration [global label values](https://docs.bsky.app/docs/advanced-guides/moderation#global-label-values).
5+
for displaying the profile and posts to unauthenticated users and self labels,
6+
which can be any of the configuration [global label values](https://docs.bsky.app/docs/advanced-guides/moderation#global-label-values).
67

78
To get the profile record for the current user call `agent.GetProfileRecord()`.
89

docs/docs/profiles.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Profile views can include labels from labelers. Please see [Labels](labels.md) f
2323

2424
## <a name="profileVerification">Profile verification</a>
2525

26-
Bluesky supports a composible verification system where various organications will verify accounts, for example the New York Times may verify their reporters. The
26+
Bluesky supports a composable verification system where various organizations will verify accounts, for example the New York Times may verify their reporters. The
2727
`Verification` property holds the verification status for a user, and a list of the verifiers who have verified it. The `VerifiedStatus` can be valid, invalid, none or unknown,
2828
you can use this to decide if you want to display an indicator of the status to your users.
2929

docs/docs/requestsAndResponses.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# <a name="makingRequests">Making requests to Bluesky</a>
22

3-
Making requests to Bluesky is done though the `BlueskyAgent` class. Once you authenticate using `agent.Login()` or via OAuth,
4-
the agent manages your "session"", the tokens necessary to make authenticated requests are stored, refreshed automatically
3+
Making requests to Bluesky is done though the `BlueskyAgent` class. Once you authenticate using `agent.Login()` or via [OAuth](connecting.md#oauth),
4+
the agent manages your "session", the tokens necessary to make authenticated requests are stored, refreshed automatically
55
and added to any authenticated API requests.
66

77
## <a name="understandingResults">Understanding responses from Bluesky</a>
@@ -11,9 +11,9 @@ avoids the use of exceptions should the HTTP call fail, and allows you to view a
1111

1212
`AtProtoHttpResult<T>` has properties to help you determine the success or failure of the call. These include
1313

14-
* The `Succeeded` property, a `boolean` indicated whether the API call was sucessful or not,
14+
* The `Succeeded` property, a `boolean` indicated whether the API call was successful or not,
1515
* The `StatusCode` property containing the HTTP status code from the API call,
16-
* The `Result` property, containing the result of the API call. This may be null if a call was unsucessful,
16+
* The `Result` property, containing the result of the API call. This may be null if a call was unsuccessful,
1717
* The `AtErrorDetail` property, containing any detailed error messages from the API if any were returned.
1818

1919
If a request is **successful** the `Succeeded` property on the returned result instance will be `true`, the `Result` property will not be null, and
@@ -40,8 +40,6 @@ Let's add some basic error checking to the Hello World code you wrote in [gettin
4040
* Lines 13-16 show a reaction if the call to `Post()` failed, and
4141
* Lines 19-25 show how you can check for any API errors that might be returned.
4242

43-
You can download [helloWorldErrorChecked.cs](./code/helloWorldErrorChecked.cs).
44-
4543
> [!TIP]
4644
> `AtProtoHttpResult<T>` has an `EnsureSucceeded()` method which will throw an `AtProtoHttpRequestException` if the `Succeeded` property is false.
4745
> This can be used while testing code, or even during development before you implement error handling.

docs/docs/sourceGeneration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ For example, if you have a custom `AtProtoRecordValue` and corresponding `AtProt
112112

113113
Native AOT has benefits:
114114

115-
* Reduced disk footprint: Native AOT publishing produces a single executable containing just the code from exteneral dependencies that is used by your application.
115+
* Reduced disk footprint: Native AOT publishing produces a single executable containing just the code from external dependencies that is used by your application.
116116
* Reduced startup time: Native AOT can show reduced start-up times, meaning your app is ready to respond more quickly.
117117
* Reduced memory usage: Native AOT apps can show reduced memory demands, depending on the work it does.
118118

docs/docs/tutorials/creatingAPost.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Reply and quote posts contain [strong references](../commonTerms.md#strongRefere
6262

6363
Replies and quote posts contain strong references to other records.
6464

65-
* [at:// uri](../commonTerms.md#uri): indicating the repositody DID, collection and record key
65+
* [at:// uri](../commonTerms.md#uri): indicating the repository [DID](../commonTerms.md#dids), collection and record key
6666
* [CID](../commonTerms.md#cid): the hash to the record itself
6767

6868
You can get a post's strong reference from the timeline view, author view or other views that contain posts like search views or feed views.

0 commit comments

Comments
 (0)