-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Add LightWeight GraphQL Client #12
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
Conversation
| throw NetworkError.transport(error) | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Error Wrapping Causes Handling Issues
The do-catch blocks in URLSessionNetworkClient.send and GraphQLClient.execute incorrectly re-wrap specific errors. NetworkError.invalidResponse and NetworkError.httpStatus become NetworkError.transport, while GraphQLClientError.graphQLErrors and GraphQLClientError.missingData become GraphQLClientError.decoding. This double-wrapping obscures the original error type and makes error handling less precise.
Additional Locations (1)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will be fixed in follow up PR
| let bundle = Bundle(for: DummyClass.self) | ||
| let out: GetUserOut = try await client.executeFromFile( | ||
| resource: "getUser", | ||
| bundle: Bundle.module, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Unused Variable Causes Test Inconsistency
In the executeFromFileLoadsAndRuns test, a bundle variable is declared but then Bundle.module is used in the executeFromFile call, leaving the declared bundle unused. This creates an inconsistency with the executeFromFileNotFoundThrows test, which correctly uses its locally declared bundle.
🤖 I have created a release *beep* *boop* --- ## [0.4.0](swift-launchdarkly-observability-v0.3.0...swift-launchdarkly-observability-v0.4.0) (2025-10-23) ### Features * Add GraphQL Client ([5e52365](5e52365)) * add gzip compression ([d2133a7](d2133a7)) * Add LightWeight GraphQL Client ([ed9f6b5](ed9f6b5)) * Add LightWeight GraphQL Client ([#12](#12)) ([ed9f6b5](ed9f6b5)) * add standard output logger for debug ([#16](#16)) ([435f4cb](435f4cb)) * add tap handler, send span ([#7](#7)) ([96cf5ef](96cf5ef)) * add timeout for custom crash filter as param (10s default) ([daaa111](daaa111)) * instrumentation and session managers ([b6f1c05](b6f1c05)) * instrumentation and session managers ([#1](#1)) ([a072154](a072154)) * instrumentation, client, sdk, crash report, network ([2255e48](2255e48)) * instrumentation, client, sdk, crash report, network ([#5](#5)) ([df712ab](df712ab)) * ios26 transition ([0853a19](0853a19)) * plugin implementation ([c38588c](c38588c)) * plugin implementation ([#4](#4)) ([1849209](1849209)) * sampling api ([#10](#10)) ([242149f](242149f)) * set sampling config via graphql client ([#19](#19)) ([500f550](500f550)) * swipe tracker ([4fca19d](4fca19d)) * swipe tracker ([#13](#13)) ([0a302d7](0a302d7)) * **system-metrics:** add auto instrumentation for cpu and memory ([#36](#36)) ([95ca6fc](95ca6fc)) * use apple format for crash report ([1390973](1390973)) ### Bug Fixes * compilation ([bdd3e22](bdd3e22)) * eval hook ([2749468](2749468)) * eval hook ([#8](#8)) ([4b60b80](4b60b80)) * get sampling config ([#21](#21)) ([12e35c7](12e35c7)) * guard inconsistent [weak self] ([59dce74](59dce74)) * Limit Package.swift to iOS and TV ([#34](#34)) ([7d76b65](7d76b65)) * requirement 1.2.3.6 span name in eval hook ([#14](#14)) ([ad15ef9](ad15ef9)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Prepare 0.4.0 release: add changelog and bump manifest version. > > - **Docs**: > - Add `CHANGELOG.md` for `0.4.0`, outlining new features and bug fixes. > - **Release**: > - Bump version in `.release-please-manifest.json` from `0.3.0` to `0.4.0`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4381ca4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
feat: Add LightWeight GraphQL Client