Commit Graph

254 Commits

Author SHA1 Message Date
Moritz fbee4cd2b1 Add exception to null connection 2023-08-18 10:14:56 +02:00
dependabot[bot] 9dadc31cba
Bump protobuf from 2.1.0 to 3.0.0 in /interop (#648)
Bumps [protobuf](https://github.com/google/protobuf.dart) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/google/protobuf.dart/releases)
- [Commits](https://github.com/google/protobuf.dart/compare/protobuf-v2.1.0...protobuf-v3.0.0)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 13:55:08 +02:00
Moritz 1c18e38252
Forward error (#640)
* Forward error

* Add changelog

* Switch version
2023-07-13 13:30:58 +02:00
Moritz c7e07a09a5
Fix interop tests (#651)
* Fix interop tests

* Keepalive cleanups

* Prepare for publish
2023-07-13 12:05:59 +02:00
dependabot[bot] 8886dfd24b
Bump actions/checkout from 3.5.2 to 3.5.3 (#649)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e5e7e5ab8...c85c95e3d7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 18:30:30 -07:00
Moritz b7df4c8290
Deflake keepalive tests (#645)
* Deflake keepalive tests

* Add timer

* Increase wait timer

* Only send ping on open connection

* Switch server keepalive to fakeasync

* Tiny refactor

* Add changelog entry
2023-06-22 10:30:53 -04:00
Moritz 517cde91a6
Make `GrpcError` non-final to allow implementations. (#647) 2023-06-22 09:20:18 -04:00
Moritz 36c19af11a
Add permissions to run publish CI (#646)
* Add permissions to run publish CI

* Switch to pull-requests: write

* add id-token: write
2023-06-21 18:33:03 -04:00
Moritz 03f07e9535
Keepalive (#634)
* Keepalive tests run!

* Renaming

* Some refactorings

* Find a place where to handle the keepalive manager

* Fix bug

* Make KeepAliveManager independent of transport

* Fix call sites in client

* Add server keepalive handler

* Wire through onDataReceived

* Add ServerKeepAliveManager test

* Refactorings

* Tests kind of run now

* Add shutdown test

* Remove unneeded override

* Remove unneeded mocks

* Send correct error codes and cleanup

* Small changes

* Rename

* Add documentation

* Add test for !_enforcesMaxBadPings

* Refactor tests

* Switch to http2 master branch

* Renaming

* Null shutdownTimer

* Refactor to event-state model

* Smaller refactorings

* Works now

* Switch tests to isA

* Shifting things around

* Split into server and client

* Format

* rename

* Tweaks

* Switch order of optional parameters to make change non-breaking

* Add some leeway to the durations in tests

* Make keepalive tests vm only

* Switch back to onEvent in state

* Switch to published http2
2023-06-21 11:14:43 -04:00
Moritz aae487d12f
Make constructors of `GrpcError` const (#638)
* Make constructors of `GrpcError` const

* Update CHANGELOG.md

Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>

* Update pubspec.yaml

Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>

---------

Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>
2023-06-21 10:48:55 -04:00
Moritz 870ac192fa
Switch interop tests to Dart 3 (#644) 2023-06-20 16:09:38 -04:00
Kevin Moore 754289be88
Release v3.2.2 (#643) 2023-06-20 04:58:55 -07:00
Aran Donohue a8cc164cee
Make ResponseStream a regular class (#642) 2023-06-20 04:32:24 -07:00
Kevin Moore d9553ca73f
support latest pkg:protobuf (#641) 2023-06-16 22:47:03 -07:00
SeongUk Cho 1f8d992da7
Bump http version from 0.13.0 to 1.0.0 (#629) 2023-06-17 07:18:18 +10:00
Moritz ceb879d769
Update Github CI workflows (#639) 2023-06-13 15:45:32 +02:00
Moritz 3894d5abc1
Prepare release of `3.2.0` (#637)
* Prepare release of `3.2.0`

* Add newline

* Do not change API outside of major version rev

* Change `main` to `master` in workflow

* yml -> yaml
2023-06-13 12:48:11 +02:00
Moritz f420b77a22
Switch to Dart 3 (#633)
* Switch to Dart 3

* Trying to get the new version to run

* Fix test

* Switch CI to Dart 3

* Adapt CI

* Do not run vmservice on chrome

* Typo

* Add skip to not fail on `dart test`

* Add changelog entry

* Changes as per review
2023-06-07 10:24:33 +02:00
Kevin Moore 244dea0361
Regenerate code with latest formatter (#630) 2023-05-31 00:00:51 +02:00
dependabot[bot] 201aaa2f99
Bump actions/checkout from 3.5.0 to 3.5.2 (#626)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.0 to 3.5.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8f4b7f8486...8e5e7e5ab8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 14:45:56 -07:00
Nate Bosch 14824dd5d8
Export the Code protobuf (#625) 2023-04-27 10:02:10 +02:00
Nate Bosch 7be6275f03
Check for closed StreamController in more places (#623) 2023-04-21 21:34:00 +02:00
Nate Bosch a1a8e92e38
Add a ChannelShutdownHandler callback (#620)
Add a way to react to the channel shutdown or termination with an
optional callback.

This is not necessarily the API which I would recommend, but this is the
APi that was already inappropriately shipped and in use internally.
2023-04-21 12:01:54 -07:00
Nate Bosch e8893cd08a
Extend StreamView over DelegatingStream (#619)
The `StreamView` class from the SDK provides all the worthwhile behavior
of `DelegatingStream` and the latter may soon be deprecated.
2023-04-19 09:55:56 -07:00
dependabot[bot] 20bad4c410
Bump actions/checkout from 3.3.0 to 3.5.0 (#615)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](ac59398561...8f4b7f8486)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 10:04:30 -07:00
dependabot[bot] d8adea21fb
Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#616)
Bumps [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/dart-lang/setup-dart/releases)
- [Changelog](https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md)
- [Commits](a57a6c04cf...d6a63dab33)

---
updated-dependencies:
- dependency-name: dart-lang/setup-dart
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 09:56:51 -07:00
dependabot[bot] eb833d3f1c
Bump dart-lang/setup-dart from 1.3.0 to 1.4.0 (#608)
Bumps [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/dart-lang/setup-dart/releases)
- [Changelog](https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md)
- [Commits](6a218f2413...a57a6c04cf)

---
updated-dependencies:
- dependency-name: dart-lang/setup-dart
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 22:34:40 -08:00
dependabot[bot] b757b80769
Bump actions/checkout from 3.2.0 to 3.3.0 (#603)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](755da8c3cf...ac59398561)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>
2023-02-03 13:49:32 -08:00
Brett Morgan 3f223823ea
Add `pub` updates to `dependabot` (#602) 2023-02-01 19:21:57 +11:00
Kevin Moore 375d1f3e75
examples/grpc-web: support latest build_web_compilers (#601) 2023-01-30 13:49:28 -08:00
nghialv d4d0f80d02
Fix wrong command in readme of example (#600) 2023-01-20 10:36:57 +01:00
dependabot[bot] 867d1173fa
Bump actions/checkout from 3.1.0 to 3.2.0 (#598)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](93ea575cb5...755da8c3cf)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 14:46:13 -08:00
Vyacheslav Egorov 26deabdfd2
Revert "Remove or skip callbacks on old connections" (#593) 2022-12-13 21:40:09 +01:00
Ben Getsug d0e3a4c706
Expose client IP address to server (#590) 2022-12-13 09:12:28 +01:00
Jakob Borg 4dc6e2b252
Remove or skip callbacks on old connections (#522)
Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com>
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
Fixes https://github.com/grpc/grpc-dart/issues/521
2022-12-12 10:43:16 +01:00
MattyBoy 60311a7492
Added ability to set connectTimeout of socket (#575) 2022-12-12 09:54:23 +01:00
Ben Getsug 6c0829ed8b
Custom Error Handling for Server (#588)
Closes https://github.com/grpc/grpc-dart/issues/51
2022-12-01 11:29:57 +01:00
Kevin Moore dbf5421eb6
Cleanup: update to and use latest pkg:lints with associated fixes (#587)
Bump min Dart SDK for grpc to 2.17
Regenerate all code
Fix generate scripts
Add dependabot
2022-10-31 11:47:31 -07:00
Vyacheslav Egorov 19ba902d7e
Add false_secrets to pubspec.yaml (#586) 2022-10-27 15:02:22 +02:00
Vyacheslav Egorov e97711aece
Prepare 3.1.0 release (#585) 2022-10-27 13:55:39 +02:00
Vyacheslav Egorov 27a235976a
Change default authority for UDS connections. (#577)
We were using path to the UDS socket itself, which is incorrect `:authority` value. 

This was tripping checks in some HTTP2 protocol implementations.

Instead default `:authority` to `localhost`, which in line with other gRPC implementations.

Fixes #576
2022-09-08 14:41:34 +02:00
Rui Craveiro b8f872a3dc
Send trailers included on GrpcError object (#538) 2022-08-23 12:40:03 +02:00
Cobinja af965f15f7
Expose onConnectionStateChanged for channels (#565)
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
2022-08-15 15:03:51 +02:00
Alexander Aprelev 94b71a3e1c
Ensure server's security context is used for the server. (#547) 2022-04-27 13:03:08 +02:00
Brett Morgan 7e2c2665cf
Migrate examples to Dart null safety (#536) 2022-01-04 10:05:22 +10:00
Kevin Moore 151fa904b4
Remove unnecessary imports and superfluous type checks (#525) 2021-10-05 08:39:00 -07:00
Kevin Moore 276fd5a70f
Fix web build by using build_runner directly (#523) 2021-09-13 10:51:20 -07:00
Vyacheslav Egorov 7cced9282a
Fix compilation with DDC (#516)
b272632450 exposed client certificate through 
`X509Certificate? get clientCertificate;` getter on `ServiceCall` class. This broke 
compilation of `grpc_web` code using DDC, but not dart2js. Turns out that dart2js is 
happy to compile any code using `dart:io` (though the result will not run if you try
to use any of those APIs), but DDC rejects such code eagerly. `package:test` runs 
tests through `dart2js` so DDC breakage was not really caught by CI. 

Unfortunately this discrepancy between DDC and dart2js puts us in some really weird 
spot: most of our tests are platform independent, but most of those tests also 
pull in `dart:io` through transitive dependencies.

This commit is the most minimal change we could make to allow the code compile both 
on the Web and natively. 

A proper fix should be to go through tests one-by-one and make sure that those that
need to run on the Web don't import `dart:io`, but we don't have time to do that 
right now. 

This commit also adds a smoke test to the CI to verify that `grpc_web` example 
builds with DDC.
2021-08-16 14:52:36 +02:00
Vyacheslav Egorov c2fb47c8a4
Prepare to release 3.0.1 (#514) 2021-08-10 12:03:14 +02:00
Kenneth Gulbrandsøy acd2e93a25
Add custom trailers to GrpcError (#493) 2021-08-10 11:53:09 +02:00