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

Allow periods in arguments to be ignored when parsing cacheKeys #2057

Merged
merged 6 commits into from
Dec 15, 2021
Merged

Allow periods in arguments to be ignored when parsing cacheKeys #2057

merged 6 commits into from
Dec 15, 2021

Conversation

Iron-Ham
Copy link
Contributor

@Iron-Ham Iron-Ham commented Dec 9, 2021

This PR closes #1071 by introducing a regular expression when targeting the components of a CacheKey. Instead of simply splitting on ., we use a regular expression that matches . only if it is not contained within parentheses.

Performance:
As far as performance goes... maybe this isn't the best way to go about quantifying that, but it seems that any performance hit here is... trackable, but perhaps pretty negligible?

Screen Shot 2021-12-09 at 10 21 54 AM

@Iron-Ham Iron-Ham marked this pull request as draft December 9, 2021 17:59
@calvincestari
Copy link
Member

@Iron-Ham was that performance screenshot from a test run on your desktop? Judging by this it looks like the oldest iPhone apollo-ios would support (iOS deployment target is 12.0) is an iPhone 5s. It would be great to run that same quick-dirty test on a physical older device if possible.

@Iron-Ham
Copy link
Contributor Author

@calvincestari can do!

@AnthonyMDev
Copy link
Contributor

@Iron-Ham Thanks for this. I'm still a bit concerned about the performance implications, just because these cache key functions are called many times during the execution of GraphQL operations.

We have some rudimentary performance tests in the repo. I'm going to run those and see if I can get a better idea of the impact of this.

I'd also like to see more test cases to ensure this regex is correct. One test for the happy path is great, but are we certain that this is correctly ignoring . in all places outside of the arguments?

@AnthonyMDev
Copy link
Contributor

After running our performance tests, it doesn't seem to create a noticeable regression, so I'm for merging this in. @Iron-Ham would you be willing to provide a few more test cases, to ensure that this only ignoring . within the arguments and that everything else still works correctly. I'm pretty certain it does, but would like to have the test coverage for posterity.

@Iron-Ham Iron-Ham changed the title Allow commas in arguments to be ignored when parsing cacheKeys Allow periods in arguments to be ignored when parsing cacheKeys Dec 14, 2021
@Iron-Ham
Copy link
Contributor Author

Iron-Ham commented Dec 14, 2021

Writing this down for future track-ability, as this was originally posted on Slack:

I spent time reading up on the documentation around NSRegularExpression. Using regular expressions will not work for all cases given the flavor that NSRegularExpression uses: ICU. ICU doesn't support: recursion, non-fixed-width lookbehinds, or control-verbs. That means it cannot handle certain cases of nesting.

The original solution produced the following outputs:

Input: my.chemical.romance 
Output: ["my", "chemical", "romance"]

Input: my.chemical.romance(the.hidden.albums)
Output: ["my", "chemical", "romance(the.hidden.albums)"]

Input: my.chemical.romance(the(very).hidden.albums)
Output: ["my", "chemical", "romance(the(very).hidden.albums)"]

Input: my.chemical.romance(the.(very)hidden.albums)
Output: ["my", "chemical", "romance(the", "(very)hidden.albums)"]

Note that the final example is wrong: The last two items in the array should be one string. The ICU regex spec only supports known-count nesting, so supporting one degree would look like this: \.(?![^)(]*(?:\([^)(]*\)[^)(]*)*\))

Instead, we should create these tokens by just scanning the string manually. I've written up a few test cases that reflect desired behaviors and cover cases of string inputs that contain parentheses and whipped up a quick&dirty solution.

@Iron-Ham Iron-Ham marked this pull request as ready for review December 14, 2021 02:50
Comment on lines +122 to +135
private var isBalanced: Bool {
guard contains("(") || contains(")") else { return true }

var stack = [Character]()
for character in self where ["(", ")"].contains(character) {
if character == "(" {
stack.append(character)
} else if !stack.isEmpty && character == ")" {
_ = stack.popLast()
}
}

return stack.isEmpty
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this isn't the best name for this since this isn't strictly checking for balanced parentheses pairs.

Copy link
Contributor

@AnthonyMDev AnthonyMDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM! Anything else that needs to be done here before merging it in?

@Iron-Ham
Copy link
Contributor Author

@AnthonyMDev not afaict, so if you're good with it: merge away!

@AnthonyMDev AnthonyMDev merged commit 67d86ae into apollographql:main Dec 15, 2021
@AnthonyMDev
Copy link
Contributor

Thanks so much for this contribution @Iron-Ham!

@Iron-Ham Iron-Ham deleted the hs/comma-delimit branch December 15, 2021 20:03
@calvincestari calvincestari added this to the Release 0.51.0 milestone Jan 8, 2022
@calvincestari calvincestari added the include-in-changelog Indicates that changes from a PR should be noted in the changelog for their release. label Jan 8, 2022
TizianoCoroneo pushed a commit to TizianoCoroneo/apollo-ios-mirror that referenced this pull request Feb 9, 2022
…lographql#2057)

* Allow commas in arguments to be ignored when parsing cacheKeys

* Update

* More tests

* No-split case
@calvincestari calvincestari mentioned this pull request Feb 25, 2022
13 tasks
GlobakMaxim pushed a commit to scorebet/apollo-ios that referenced this pull request Jun 1, 2022
…lographql#2057)

* Allow commas in arguments to be ignored when parsing cacheKeys

* Update

* More tests

* No-split case
adamayoung added a commit to Flutter-International-Sports-Platforms/apollo-ios that referenced this pull request Aug 18, 2022
* Attempted fix for integration test failing on CI (apollographql#2024)

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.6 (apollographql#2026)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update apollo-tooling to v2.33.9 (apollographql#2028)

* Update to v2.33.9 of the CLI tooling
* Update StarWarsAPI output generated by updated tooling
* Update test with expected output
* Keep the parameter spacing

* Gateway clarification based on license change

* Update SQLite.swift to version 13.0 (apollographql#2015)

* Update Package.swift and podspec
* Updated XcodeProj
* Bump SQLite.swift minimum required version to 0.13.1

Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Release `0.50.0` (apollographql#2031)

* Update version number for release
* Updated changelog for release
* Update documentation for release changes
* Update changelog for apollographql#2015

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.8 (apollographql#2038)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update caching.mdx (apollographql#2042)

fixed typo

* Update ROADMAP.md (apollographql#2053)

* Clean up Github API for performance tests

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.9 (apollographql#2062)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Make filesystem diagram a bit easier to understand (apollographql#2063)

* Update ASCII art for filesystem, clarify where Apollo Codegen folder goes

* update spacing to make comments clearer, fix missing file emoji

* Allow periods in arguments to be ignored when parsing cacheKeys (apollographql#2057)

* Allow commas in arguments to be ignored when parsing cacheKeys

* Update

* More tests

* No-split case

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.11 (apollographql#2068)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.12 (apollographql#2074)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add tutorial on subscriptions to match Android (apollographql#2072)

* Remove bits from under construction that are going to be handled with blog posts, update versions

* Get rid of fragments and cache, bring over android subscriptions stuff

* this is actually part 9 on iOS

* bring over screenshots from Android tutorial

* Correct link

* Update everything for iOS

* update index and link from prior step to include subscriptions

* Fix link to subscriptions

* add missing image

* fix borked link

* be clearer about replacing the print statement

* remove "unnecessary" quotation marks

* add missing sentence, make image less ginormous

* Fix direction

I definitely know my left from my right! :woman-facepaming:

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* add missing word

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Bump mermaid from 8.13.6 to 8.13.8 in /docs (apollographql#2083)

Bumps [mermaid](https://github.com/knsv/mermaid) from 8.13.6 to 8.13.8.
- [Release notes](https://github.com/knsv/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/docs/CHANGELOG.md)
- [Commits](mermaid-js/mermaid@8.13.6...8.13.8)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency engine.io to 4.1.2 [security] (apollographql#2094)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency follow-redirects to 1.14.7 [security] (apollographql#2092)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency node-forge to 1.0.0 [security] (apollographql#2095)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add note about acceptable extensions for types of schema file. (apollographql#2059)

* Docs: Bump to Gatsby v3 (apollographql#2104)

* Bump gatsby to v3, bump docs theme to version that supports v3

* Bump docs theme to latest prerelease for gatsby v3

* Bump docs theme to new major version

* fix(deps): pin dependency gatsby-theme-apollo-docs to 6.0.0 (apollographql#2113)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): pin dependency gatsby to 3.14.6 (apollographql#2123)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Edits to intro and installation docs (apollographql#2125)

* Edits to intro and installation docs

* Fix broken links

* Edits from @designatednerd plus new screenshots

* Fix tutorial URL and tweak downloading a schema article (apollographql#2133)

* Split advanced "Creating a client" content into separate article (apollographql#2143)

* WIP on revamp to Creating a client article

* Break request chain content into separate article

* Fix broken links

* Incorporate feedback

* Disable flaky integration test

Will go back and fix this during WebSocket updates after 1.0 alpha

* Update gatsby config to deploy 1.0 alpha docs

* Update roadmap after 1.0.0-alpha.1 release (apollographql#2145)

* [v1.0.0 Alpha 1] JavascriptError @unchecked Sendable (apollographql#2147)

* fix: added unchecked sendable to JavascriptError to be able to compile with Swift 5.6
* Update CircleCI to use latest images
* Change JavaScriptError properties to read-only
* Fix typo in header doc

Co-authored-by: TizianoCoroneo <tizianocoroneo@me.com>
Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Update documentation to clarify schema download format and filename (apollographql#2160)

* Update documentation to clarify schema download format and filename
* Fix documentation link

* chore(deps): update dependency follow-redirects to 1.14.8 [security] (apollographql#2161)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update license copyright notice

* Delete Jazzy config - not supported

* Update list of active maintainers

* [Fix apollographql#2170] Do not refetch query watcher from server after cache miss when cache policy is cache only (apollographql#2177)

* [Fix apollographql#2170] Do not refetch query watcher from server after cache miss when cache policy is cache only

* Revert test broken test infra change

* Add `graphql-ws` protocol support (apollographql#2168)

* Implement graphql-transport-ws protocol support
* Add graphql-transport-ws integration test based on Apollo Server docs-examples
* Add CI step for Apollo Server graphql-transport-ws tests
* After installing node v12 switch to use v16
* Instruct nvm to use version in .nvmrc
* Update documentation and tutorial
* Change WSProtocol cases to closer match library names
* Remove initializer defaults and require web socket protocol on designated initializer.
* Update Subscriptions documentation
* Add WSProtocol option for AWS AppSync
* Add ping/pong message support required by graphql-ws
* Update documentation and tutorial
* Add tests for subscriptionWsProtocol
* Add tests for graphqlWSProtocol
* Revert to naming aligned with the protocols and not the implementation libraries
* Use longer async timeout for slower environments like CI
* Fix test names
* Fix project configuration
* Rename protocol parameter on WebSocket initializers
* Revert "Use longer async timeout for slower environments like CI"
* Fix async timing bug and refactor websocket protocol tests

* chore(deps): update dependency prismjs to 1.27.0 [security] (apollographql#2179)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Release 0.51.0 (apollographql#2086)

* Update version number
* Update changelog
* Update SourceDocsLib dependecy
* Update generated documentation
* Update changelog with cache key caveat
* Update changelog for merging of apollographql#2147
* Update changelog for apollographql#2177 and apollographql#2168
* Update documentation

* Enable lazy access to the request body creation for leverage in custom built interceptors (apollographql#2184)

* Release `0.51.1` (apollographql#2188)

* Update project version
* Update changelog for apollographql#2184
* Update documentation

* Updates for new docs infra (apollographql#2197)

* Prepare ios docs for new infra

* Add sidebar config

* Update ExpansionPanelList components

* Update code fences

* Move _redirects file

* Fix links

* Update docset title

* Update sidebar config

* Add version to ios docs config

* Remove imports and fix links

* Remove mb from homepage button

* Add algolia filters

* Remove files from old Gatsby docs theme (apollographql#2202)

* Remove files from old Gatsby docs theme

* Remove netlify.toml

* Clear body on APQ retry in JSONRequest (apollographql#2206)

* Release 0.51.2 (apollographql#2207)

* Release 0.51.2

* Fix Package file

* Fix changelog version.

* Add netlify config for deploy previews (apollographql#2208)

* Add netlify config for deploy previews

* Trigger deploy

* Remove circle config

* Update docs repo branch

* Use buttonlink component

* Add codegen option for excludes (apollographql#2205)

* Add exclude options
* Add test case

* Fix typo (apollographql#2212)

* Start a docs production deploy when docs changes get merged (apollographql#2211)

* Create docs-publish.yml

* Tweak ignore command

* Bump minimist from 1.2.5 to 1.2.6 in /SimpleUploadServer (apollographql#2214)

Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump node-fetch from 2.6.6 to 2.6.7 in /SimpleUploadServer (apollographql#2215)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add note to tutorial about the `graphql-ws` subscription library (apollographql#2219)

* Add note to tutorial about new subscription library
* tweak spacing
* tweak phrasing
* Add links and clarify which library is not maintained

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update tutorial-obtain-schema.md (apollographql#2225)

Change extension of the downloaded schema file.

* Update tutorial-execute-query.md (apollographql#2228)

* Update tutorial-execute-query.md
* Change the schema file type to json.

* chore: Update Xcode build tool versions on CircleCI (apollographql#2242)

* chose: update xcode build environment versions
* fix: update Node version to match CircleCI image

* chore: Update roadmap

* fix: Sandbox documentation links (apollographql#2254)

* ci: Update xcode image to fix Node version mismatch

* ci: Update Node version to match what is installed with Xcode 13.3.1 image

* chore: updates roadmap (apollographql#2258)

* chore: updates roadmap

* Update ROADMAP.md

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update ROADMAP.md

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update build phases example to propagate errors to Xcode (apollographql#2260)

Without the explicit propagation I wasn't seeing errors in Xcode.

Build phase shell env: `/bin/sh`
Xcode version: `Version 13.2.1 (13C100)`

* Add a comment about a new use of the X-APOLLO-OPERATION-NAME header (apollographql#2267)

* Set permissions for GitHub actions (apollographql#2248)

* updates roadmap for june 2022 (apollographql#2295)

* Update CircleCI tool versions (apollographql#2304)

* ci: Update Xcode and iOS simulator versions
* ci: Update Node version

* fix: `graphql_transport_ws` protocol should send 'complete' to end subscription (apollographql#2320)

* fix: graphql_transport_ws protocol should send 'complete' to end subscription
* fix: Require MockWebSocket to be initialized with a graphql subscriptions protocol
* tests: Fix StarWarsSubscriptionTests to use updated MockWebSocket initializer

* Replace print statement with CodegenLogger.log (apollographql#2348)

* Fix buttons on docs root (apollographql#2369)

* Expose GraphQLResultError Path String (apollographql#2361)

* Expose the path as a String
* tests: Add unit tests for ResponsePath

Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Revert "Fix buttons on docs root (apollographql#2369)" (apollographql#2371)

This reverts commit d26751a.

* release: 0.52.0 (apollographql#2370)

* chore: Update release version number
* chore: Update changelog
* dep: Update packages
* docs: Update API reference

* Fix typo (apollographql#2379)

Removed duplicate "the"

* Fix incorrect parameter name (apollographql#2380)

`id` was set as a parameter, but the query expects `launchId`.

* chore: Update ROADMAP for Beta release cycle (apollographql#2393)

* Remove all instances of bitcode as not supported in Xcode 14 (apollographql#2398)

https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

* Release 0.53.0 (apollographql#2406)

* chore: Update version number
* chore: Update CHANGELOG

* fix: checkout at tag with legacy optionals behavior (apollographql#2412)

* Update version in Swift Scripting docs (apollographql#2416)

* Re-added support for iOS 11

Co-authored-by: Anthony Miller <anthonymdev@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>
Co-authored-by: hwillson <hugh@octonary.com>
Co-authored-by: Hesham Salman <iron-ham@github.com>
Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>
Co-authored-by: bogdanbeczkowski <bogdanbeczkowski@gmail.com>
Co-authored-by: Ellen Shapiro <designatednerd@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Janessa Garrow <janessa@apollographql.com>
Co-authored-by: Stephen Barlow <stephen@apollographql.com>
Co-authored-by: TizianoCoroneo <tizianocoroneo@me.com>
Co-authored-by: Calvin Cestari <calvin.cestari@apollographql.com>
Co-authored-by: Rick Fast <rfast@expediagroup.com>
Co-authored-by: Trevor Blades <tdblades@gmail.com>
Co-authored-by: bannzai <kingkong999yhirose@gmail.com>
Co-authored-by: Ayden Lee <lcmini6528@gmail.com>
Co-authored-by: Rose M Koron <32436232+rkoron007@users.noreply.github.com>
Co-authored-by: Carrione <miroslav.tourek@gmail.com>
Co-authored-by: Martin Bonnin <martin@mbonnin.net>
Co-authored-by: JV <jvajda@apollographql.com>
Co-authored-by: Adam Zethraeus <adam@zethrae.us>
Co-authored-by: David Glasser <glasser@apollographql.com>
Co-authored-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com>
Co-authored-by: Hilton Campbell <github@crosswaterbridge.com>
Co-authored-by: Joshua Shroyer <98055534+joshuashroyer-toast@users.noreply.github.com>
Co-authored-by: Mischa Hildebrand <web@mischa-hildebrand.de>
Co-authored-by: stareque-atlassian <46062249+stareque-atlassian@users.noreply.github.com>
Co-authored-by: Yuki Yamamoto <yymmt3.waste@gmail.com>
adamayoung added a commit to Flutter-International-Sports-Platforms/apollo-ios that referenced this pull request Aug 18, 2022
* Attempted fix for integration test failing on CI (apollographql#2024)

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.6 (apollographql#2026)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update apollo-tooling to v2.33.9 (apollographql#2028)

* Update to v2.33.9 of the CLI tooling
* Update StarWarsAPI output generated by updated tooling
* Update test with expected output
* Keep the parameter spacing

* Gateway clarification based on license change

* Update SQLite.swift to version 13.0 (apollographql#2015)

* Update Package.swift and podspec
* Updated XcodeProj
* Bump SQLite.swift minimum required version to 0.13.1

Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Release `0.50.0` (apollographql#2031)

* Update version number for release
* Updated changelog for release
* Update documentation for release changes
* Update changelog for apollographql#2015

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.8 (apollographql#2038)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update caching.mdx (apollographql#2042)

fixed typo

* Update ROADMAP.md (apollographql#2053)

* Clean up Github API for performance tests

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.9 (apollographql#2062)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Make filesystem diagram a bit easier to understand (apollographql#2063)

* Update ASCII art for filesystem, clarify where Apollo Codegen folder goes

* update spacing to make comments clearer, fix missing file emoji

* Allow periods in arguments to be ignored when parsing cacheKeys (apollographql#2057)

* Allow commas in arguments to be ignored when parsing cacheKeys

* Update

* More tests

* No-split case

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.11 (apollographql#2068)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency gatsby-theme-apollo-docs to v5.3.12 (apollographql#2074)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add tutorial on subscriptions to match Android (apollographql#2072)

* Remove bits from under construction that are going to be handled with blog posts, update versions

* Get rid of fragments and cache, bring over android subscriptions stuff

* this is actually part 9 on iOS

* bring over screenshots from Android tutorial

* Correct link

* Update everything for iOS

* update index and link from prior step to include subscriptions

* Fix link to subscriptions

* add missing image

* fix borked link

* be clearer about replacing the print statement

* remove "unnecessary" quotation marks

* add missing sentence, make image less ginormous

* Fix direction

I definitely know my left from my right! :woman-facepaming:

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* add missing word

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Bump mermaid from 8.13.6 to 8.13.8 in /docs (apollographql#2083)

Bumps [mermaid](https://github.com/knsv/mermaid) from 8.13.6 to 8.13.8.
- [Release notes](https://github.com/knsv/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/docs/CHANGELOG.md)
- [Commits](mermaid-js/mermaid@8.13.6...8.13.8)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update dependency engine.io to 4.1.2 [security] (apollographql#2094)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency follow-redirects to 1.14.7 [security] (apollographql#2092)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency node-forge to 1.0.0 [security] (apollographql#2095)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add note about acceptable extensions for types of schema file. (apollographql#2059)

* Docs: Bump to Gatsby v3 (apollographql#2104)

* Bump gatsby to v3, bump docs theme to version that supports v3

* Bump docs theme to latest prerelease for gatsby v3

* Bump docs theme to new major version

* fix(deps): pin dependency gatsby-theme-apollo-docs to 6.0.0 (apollographql#2113)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): pin dependency gatsby to 3.14.6 (apollographql#2123)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Edits to intro and installation docs (apollographql#2125)

* Edits to intro and installation docs

* Fix broken links

* Edits from @designatednerd plus new screenshots

* Fix tutorial URL and tweak downloading a schema article (apollographql#2133)

* Split advanced "Creating a client" content into separate article (apollographql#2143)

* WIP on revamp to Creating a client article

* Break request chain content into separate article

* Fix broken links

* Incorporate feedback

* Disable flaky integration test

Will go back and fix this during WebSocket updates after 1.0 alpha

* Update gatsby config to deploy 1.0 alpha docs

* Update roadmap after 1.0.0-alpha.1 release (apollographql#2145)

* [v1.0.0 Alpha 1] JavascriptError @unchecked Sendable (apollographql#2147)

* fix: added unchecked sendable to JavascriptError to be able to compile with Swift 5.6
* Update CircleCI to use latest images
* Change JavaScriptError properties to read-only
* Fix typo in header doc

Co-authored-by: TizianoCoroneo <tizianocoroneo@me.com>
Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Update documentation to clarify schema download format and filename (apollographql#2160)

* Update documentation to clarify schema download format and filename
* Fix documentation link

* chore(deps): update dependency follow-redirects to 1.14.8 [security] (apollographql#2161)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update license copyright notice

* Delete Jazzy config - not supported

* Update list of active maintainers

* [Fix apollographql#2170] Do not refetch query watcher from server after cache miss when cache policy is cache only (apollographql#2177)

* [Fix apollographql#2170] Do not refetch query watcher from server after cache miss when cache policy is cache only

* Revert test broken test infra change

* Add `graphql-ws` protocol support (apollographql#2168)

* Implement graphql-transport-ws protocol support
* Add graphql-transport-ws integration test based on Apollo Server docs-examples
* Add CI step for Apollo Server graphql-transport-ws tests
* After installing node v12 switch to use v16
* Instruct nvm to use version in .nvmrc
* Update documentation and tutorial
* Change WSProtocol cases to closer match library names
* Remove initializer defaults and require web socket protocol on designated initializer.
* Update Subscriptions documentation
* Add WSProtocol option for AWS AppSync
* Add ping/pong message support required by graphql-ws
* Update documentation and tutorial
* Add tests for subscriptionWsProtocol
* Add tests for graphqlWSProtocol
* Revert to naming aligned with the protocols and not the implementation libraries
* Use longer async timeout for slower environments like CI
* Fix test names
* Fix project configuration
* Rename protocol parameter on WebSocket initializers
* Revert "Use longer async timeout for slower environments like CI"
* Fix async timing bug and refactor websocket protocol tests

* chore(deps): update dependency prismjs to 1.27.0 [security] (apollographql#2179)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Release 0.51.0 (apollographql#2086)

* Update version number
* Update changelog
* Update SourceDocsLib dependecy
* Update generated documentation
* Update changelog with cache key caveat
* Update changelog for merging of apollographql#2147
* Update changelog for apollographql#2177 and apollographql#2168
* Update documentation

* Enable lazy access to the request body creation for leverage in custom built interceptors (apollographql#2184)

* Release `0.51.1` (apollographql#2188)

* Update project version
* Update changelog for apollographql#2184
* Update documentation

* Updates for new docs infra (apollographql#2197)

* Prepare ios docs for new infra

* Add sidebar config

* Update ExpansionPanelList components

* Update code fences

* Move _redirects file

* Fix links

* Update docset title

* Update sidebar config

* Add version to ios docs config

* Remove imports and fix links

* Remove mb from homepage button

* Add algolia filters

* Remove files from old Gatsby docs theme (apollographql#2202)

* Remove files from old Gatsby docs theme

* Remove netlify.toml

* Clear body on APQ retry in JSONRequest (apollographql#2206)

* Release 0.51.2 (apollographql#2207)

* Release 0.51.2

* Fix Package file

* Fix changelog version.

* Add netlify config for deploy previews (apollographql#2208)

* Add netlify config for deploy previews

* Trigger deploy

* Remove circle config

* Update docs repo branch

* Use buttonlink component

* Add codegen option for excludes (apollographql#2205)

* Add exclude options
* Add test case

* Fix typo (apollographql#2212)

* Start a docs production deploy when docs changes get merged (apollographql#2211)

* Create docs-publish.yml

* Tweak ignore command

* Bump minimist from 1.2.5 to 1.2.6 in /SimpleUploadServer (apollographql#2214)

Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump node-fetch from 2.6.6 to 2.6.7 in /SimpleUploadServer (apollographql#2215)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add note to tutorial about the `graphql-ws` subscription library (apollographql#2219)

* Add note to tutorial about new subscription library
* tweak spacing
* tweak phrasing
* Add links and clarify which library is not maintained

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update tutorial-obtain-schema.md (apollographql#2225)

Change extension of the downloaded schema file.

* Update tutorial-execute-query.md (apollographql#2228)

* Update tutorial-execute-query.md
* Change the schema file type to json.

* chore: Update Xcode build tool versions on CircleCI (apollographql#2242)

* chose: update xcode build environment versions
* fix: update Node version to match CircleCI image

* chore: Update roadmap

* fix: Sandbox documentation links (apollographql#2254)

* ci: Update xcode image to fix Node version mismatch

* ci: Update Node version to match what is installed with Xcode 13.3.1 image

* chore: updates roadmap (apollographql#2258)

* chore: updates roadmap

* Update ROADMAP.md

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update ROADMAP.md

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>

* Update build phases example to propagate errors to Xcode (apollographql#2260)

Without the explicit propagation I wasn't seeing errors in Xcode.

Build phase shell env: `/bin/sh`
Xcode version: `Version 13.2.1 (13C100)`

* Add a comment about a new use of the X-APOLLO-OPERATION-NAME header (apollographql#2267)

* Set permissions for GitHub actions (apollographql#2248)

* updates roadmap for june 2022 (apollographql#2295)

* Update CircleCI tool versions (apollographql#2304)

* ci: Update Xcode and iOS simulator versions
* ci: Update Node version

* fix: `graphql_transport_ws` protocol should send 'complete' to end subscription (apollographql#2320)

* fix: graphql_transport_ws protocol should send 'complete' to end subscription
* fix: Require MockWebSocket to be initialized with a graphql subscriptions protocol
* tests: Fix StarWarsSubscriptionTests to use updated MockWebSocket initializer

* Replace print statement with CodegenLogger.log (apollographql#2348)

* Fix buttons on docs root (apollographql#2369)

* Expose GraphQLResultError Path String (apollographql#2361)

* Expose the path as a String
* tests: Add unit tests for ResponsePath

Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>

* Revert "Fix buttons on docs root (apollographql#2369)" (apollographql#2371)

This reverts commit d26751a.

* release: 0.52.0 (apollographql#2370)

* chore: Update release version number
* chore: Update changelog
* dep: Update packages
* docs: Update API reference

* Fix typo (apollographql#2379)

Removed duplicate "the"

* Fix incorrect parameter name (apollographql#2380)

`id` was set as a parameter, but the query expects `launchId`.

* chore: Update ROADMAP for Beta release cycle (apollographql#2393)

* Remove all instances of bitcode as not supported in Xcode 14 (apollographql#2398)

https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

* Release 0.53.0 (apollographql#2406)

* chore: Update version number
* chore: Update CHANGELOG

* fix: checkout at tag with legacy optionals behavior (apollographql#2412)

* Update version in Swift Scripting docs (apollographql#2416)

* Re-added support for iOS 11

* Update to 0.53.0

Co-authored-by: Anthony Miller <anthonymdev@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Calvin Cestari <calvincestari@users.noreply.github.com>
Co-authored-by: hwillson <hugh@octonary.com>
Co-authored-by: Hesham Salman <iron-ham@github.com>
Co-authored-by: Calvin Cestari <calvin.cestari@gmail.com>
Co-authored-by: bogdanbeczkowski <bogdanbeczkowski@gmail.com>
Co-authored-by: Ellen Shapiro <designatednerd@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Janessa Garrow <janessa@apollographql.com>
Co-authored-by: Stephen Barlow <stephen@apollographql.com>
Co-authored-by: TizianoCoroneo <tizianocoroneo@me.com>
Co-authored-by: Calvin Cestari <calvin.cestari@apollographql.com>
Co-authored-by: Rick Fast <rfast@expediagroup.com>
Co-authored-by: Trevor Blades <tdblades@gmail.com>
Co-authored-by: bannzai <kingkong999yhirose@gmail.com>
Co-authored-by: Ayden Lee <lcmini6528@gmail.com>
Co-authored-by: Rose M Koron <32436232+rkoron007@users.noreply.github.com>
Co-authored-by: Carrione <miroslav.tourek@gmail.com>
Co-authored-by: Martin Bonnin <martin@mbonnin.net>
Co-authored-by: JV <jvajda@apollographql.com>
Co-authored-by: Adam Zethraeus <adam@zethrae.us>
Co-authored-by: David Glasser <glasser@apollographql.com>
Co-authored-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com>
Co-authored-by: Hilton Campbell <github@crosswaterbridge.com>
Co-authored-by: Joshua Shroyer <98055534+joshuashroyer-toast@users.noreply.github.com>
Co-authored-by: Mischa Hildebrand <web@mischa-hildebrand.de>
Co-authored-by: stareque-atlassian <46062249+stareque-atlassian@users.noreply.github.com>
Co-authored-by: Yuki Yamamoto <yymmt3.waste@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
include-in-changelog Indicates that changes from a PR should be noted in the changelog for their release.
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Cannot return data from the SQLite cache if the query has "."
3 participants