You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BREAKING CHANGE:
The library received many changes in v1.0 to make it easier to use and more maintanable in the future.
The main change is that both [`Channel`](https://github.com/GetStream/stream-chat-net/blob/0.26.0/src/stream-chat-net/Channel.cs) and [`Client`](https://github.com/GetStream/stream-chat-net/blob/0.26.0/src/stream-chat-net/Client.cs) classes have been separated into small modules that we call clients. (This resambles the [structure of our Java library](https://github.com/GetStream/stream-chat-java/tree/1.5.0/src/main/java/io/getstream/chat/java/services) as well.)
Main changes:
- `Channel` and `Client` classes are gone, and have been organized into smaller clients in `StreamChat.Clients` namespace.
- These clients do not maintain state as `Channel` used to did earlier where [it kept the `channelType` and `channelId` in the memory](https://github.com/GetStream/stream-chat-net/blob/0.26.0/src/stream-chat-net/Channel.cs#L34-#L35). So this means that you'll need to pass in `channelType` and `channelId` to a lot of method calls in `IChannelClient`.
- Async method names have `Async` suffix now.
- All public methods and classes have documentation.
- Identifiers has been renamed from `ID` to `Id` to follow [Microsoft's naming guide](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions). Such as `userID` -> `userId`.
- A lot of data classes have been renamed to make more sense. Such as `ChannelObject` -> `Channel`.
- Data classes have been moved to `StreamChat.Models` namespace.
- Changed all `DateTime` -> `DateTimeOffset` as it's more suitable for us.
- Full feature parity: all backend APIs are available.
- Returned values are type of `ApiResponse` and expose rate limit informaiton with `GetRateLimit()` method.
- The folder structure of the project has been reorganized to follow [Microsoft's recommendation](https://gist.github.com/davidfowl/ed7564297c61fe9ab814).
- Unit tests have been improved. They are smaller, more focused and have cleanup methods.
- Added .NET 6.0 to the target frameworks.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+7-8
Original file line number
Diff line number
Diff line change
@@ -9,18 +9,18 @@ We welcome code changes that improve this library or fix a problem, please make
9
9
Most IDEs automatically prompt you to restore the dependencies but if not, use this command:
10
10
11
11
```shell
12
-
$ dotnet restore ./src
12
+
$ dotnet restore
13
13
```
14
14
15
15
Building:
16
16
17
17
```shell
18
-
$ dotnet build ./src
18
+
$ dotnet build
19
19
```
20
20
21
21
### Run tests
22
22
23
-
The tests we have are full fledged integration tests, meaning they will actually reach out to a Stream app. Hence the tests require at least two environment variables: `STREAM_API_KEY` and `STREAM_API_SECRET`.
23
+
The tests we have are full fledged integration tests, meaning they will actually reach out to a Stream app. Hence the tests require at least two environment variables: `STREAM_KEY` and `STREAM_SECRET`.
24
24
25
25
To have these env vars available for the test running, you need to set up a `.runsettings` file in the root of the project (don't worry, it's gitignored).
0 commit comments