-
Notifications
You must be signed in to change notification settings - Fork 86
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
Update Apollo GraphQL packages #5140
Draft
hash-worker
wants to merge
1
commit into
main
Choose a base branch
from
deps/js/apollo-graphql-packages
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+153
−81
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hashdotai
previously approved these changes
Sep 14, 2024
github-actions
bot
added
area/deps
Relates to third-party dependencies (area)
area/apps > hash*
Affects HASH (a `hash-*` app)
area/apps > hash-api
Affects the HASH API (app)
area/libs
Relates to first-party libraries/crates/packages (area)
type/eng > frontend
Owned by the @frontend team
type/eng > backend
Owned by the @backend team
area/apps
labels
Sep 14, 2024
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
September 14, 2024 15:17
5b21aa8
to
c7f13cd
Compare
hashdotai
previously approved these changes
Sep 14, 2024
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
September 14, 2024 23:16
96d25cd
to
bef7601
Compare
vilkinsons
changed the title
Update Apollo GraphQL packages
H-3340: Update Apollo GraphQL packages
Sep 20, 2024
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
September 23, 2024 05:24
bef7601
to
d091354
Compare
hash-worker
bot
changed the title
H-3340: Update Apollo GraphQL packages
Update Apollo GraphQL packages
Sep 23, 2024
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
January 24, 2025 12:49
a38ceb6
to
1711787
Compare
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
January 25, 2025 02:48
1711787
to
713ea3b
Compare
hashdotai
previously approved these changes
Jan 25, 2025
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
January 28, 2025 11:09
713ea3b
to
9277430
Compare
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
January 28, 2025 17:38
9277430
to
9fba921
Compare
hashdotai
previously approved these changes
Jan 28, 2025
hash-worker
bot
force-pushed
the
deps/js/apollo-graphql-packages
branch
from
January 30, 2025 16:41
9fba921
to
d74139c
Compare
hashdotai
approved these changes
Jan 30, 2025
Benchmark results
|
Function | Value | Mean | Flame graphs |
---|---|---|---|
entity_by_id | 25 entities | Flame Graph | |
entity_by_id | 1 entities | Flame Graph | |
entity_by_id | 5 entities | Flame Graph | |
entity_by_id | 10 entities | Flame Graph | |
entity_by_id | 50 entities | Flame Graph |
representative_read_entity
Function | Value | Mean | Flame graphs |
---|---|---|---|
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1
|
Flame Graph | |
entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1
|
Flame Graph |
representative_read_entity_type
Function | Value | Mean | Flame graphs |
---|---|---|---|
get_entity_type_by_id | Account ID: d4e16033-c281-4cde-aa35-9085bf2e7579
|
Flame Graph |
representative_read_multiple_entities
Function | Value | Mean | Flame graphs |
---|---|---|---|
link_by_source_by_property | depths: DT=0, PT=2, ET=2, E=2 | Flame Graph | |
link_by_source_by_property | depths: DT=0, PT=0, ET=2, E=2 | Flame Graph | |
link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=2 | Flame Graph | |
link_by_source_by_property | depths: DT=2, PT=2, ET=2, E=2 | Flame Graph | |
link_by_source_by_property | depths: DT=255, PT=255, ET=255, E=255 | Flame Graph | |
link_by_source_by_property | depths: DT=0, PT=0, ET=0, E=0 | Flame Graph | |
entity_by_property | depths: DT=0, PT=2, ET=2, E=2 | Flame Graph | |
entity_by_property | depths: DT=0, PT=0, ET=2, E=2 | Flame Graph | |
entity_by_property | depths: DT=0, PT=0, ET=0, E=2 | Flame Graph | |
entity_by_property | depths: DT=2, PT=2, ET=2, E=2 | Flame Graph | |
entity_by_property | depths: DT=255, PT=255, ET=255, E=255 | Flame Graph | |
entity_by_property | depths: DT=0, PT=0, ET=0, E=0 | Flame Graph |
scaling_read_entity_complete_one_depth
Function | Value | Mean | Flame graphs |
---|---|---|---|
entity_by_id | 25 entities | Flame Graph | |
entity_by_id | 1 entities | Flame Graph | |
entity_by_id | 5 entities | Flame Graph | |
entity_by_id | 10 entities | Flame Graph | |
entity_by_id | 50 entities | Flame Graph |
scaling_read_entity_linkless
Function | Value | Mean | Flame graphs |
---|---|---|---|
entity_by_id | 100 entities | Flame Graph | |
entity_by_id | 1000 entities | Flame Graph | |
entity_by_id | 10000 entities | Flame Graph | |
entity_by_id | 1 entities | Flame Graph | |
entity_by_id | 10 entities | Flame Graph |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/apps > hash*
Affects HASH (a `hash-*` app)
area/apps > hash-api
Affects the HASH API (app)
area/apps
area/deps
Relates to third-party dependencies (area)
area/libs
Relates to first-party libraries/crates/packages (area)
type/eng > backend
Owned by the @backend team
type/eng > frontend
Owned by the @frontend team
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.10.5
->3.12.8
3.12.1
->3.13.0
3.3.1
->4.0.0
3.9.0
->3.13.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
This is a special PR that replaces
apollo-server-errors
with the community suggested minimal stable replacement version.Release Notes
apollographql/apollo-client (@apollo/client)
v3.12.8
Compare Source
Patch Changes
#12292
3abd944
Thanks @phryneas! - Remove unused dependencyresponse-iterator
#12287
bf313a3
Thanks @phryneas! - Fixes an issue whereclient.watchFragment
/useFragment
with@includes
crashes when a separate cache update writes to the conditionally included fields.v3.12.7
Compare Source
Patch Changes
#12281
d638ec3
Thanks @jerelmiller! - Make fatal tranport-level errors from multipart subscriptions available to the error link with theprotocolErrors
property.#12281
d638ec3
Thanks @jerelmiller! - Fix the array type for theerrors
field on theApolloPayloadResult
type. This type was always in the shape of the GraphQL error format, per the multipart subscriptions protocol and never a plain string or a JavaScript error object.v3.12.6
Compare Source
Patch Changes
#12267
d57429d
Thanks @jerelmiller! - Maintain theTData
type when used withUnmasked
whenTData
is not a masked type generated from GraphQL Codegen.#12270
3601246
Thanks @jerelmiller! - Fix handling of tagged/branded primitive types when used as scalar values withUnmasked
.v3.12.5
Compare Source
Patch Changes
#12252
cb9cd4e
Thanks @jerelmiller! - Changes the default behavior of theMaybeMasked
type to preserve types unless otherwise specified. This change makes it easier to upgrade from older versions of the client where types could have unexpectedly changed in the application due to the default of trying to unwrap types into unmasked types. This change also fixes the compilation performance regression experienced when simply upgrading the client since types are now preserved by default.A new
mode
option has now been introduced to allow for the old behavior. See the next section on migrating if you wish to maintain the old default behavior after upgrading to this version.Migrating from <= v3.12.4
If you've adopted data masking and have opted in to using masked types by setting the
enabled
property totrue
, you can remove this configuration entirely:If you prefer to specify the behavior explicitly, change the property from
enabled: true
, tomode: "preserveTypes"
:If you rely on the default behavior in 3.12.4 or below and would like to continue to use unmasked types by default, set the
mode
tounmask
:v3.12.4
Compare Source
Patch Changes
4334d30
Thanks @charpeni! - Fix an issue withrefetchQueries
where comparingDocumentNode
s internally by references could lead to an unknown query, even though theDocumentNode
was indeed an active query—with a different reference.v3.12.3
Compare Source
Patch Changes
#12214
8bfee88
Thanks @phryneas! - Data masking: prevent infinite recursion ofContainsFragmentsRefs
type#12204
851deb0
Thanks @jerelmiller! - FixUnmasked
unwrapping tuple types into an array of their subtypes.#12204
851deb0
Thanks @jerelmiller! - EnsureMaybeMasked
does not try and unwrap types that contain index signatures.#12204
851deb0
Thanks @jerelmiller! - EnsureMaybeMasked
does not try to unwrap the type asUnmasked
if the type containsany
.v3.12.2
Compare Source
Patch Changes
84af347
Thanks @jerelmiller! - Update peer deps to allow for React 19 stable release.v3.12.1
Compare Source
Patch Changes
e1efe74
Thanks @phryneas! - Fix import extension in masking entry point.v3.12.0
Compare Source
Minor Changes
Data masking 🎭
#12042
1c0ecbf
Thanks @jerelmiller! - Introduces data masking in Apollo Client.Data masking enforces that only the fields requested by the query or fragment is available to that component. Data masking is best paired with colocated fragments.
To enable data masking in Apollo Client, set the
dataMasking
option totrue
.For detailed information on data masking, including how to incrementally adopt it in an existing applications, see the data masking documentation.
#12131
21c3f08
Thanks @jerelmiller! - Allownull
as a validfrom
value inuseFragment
.More Patch Changes
#12126
d10d702
Thanks @jerelmiller! - Maintain the existing document if its unchanged by the codemod and move to more naive whitespace formatting#12150
9ed1e1e
Thanks @jerelmiller! - Fix issue when usingUnmasked
with older versions of TypeScript when used with array fields.#12116
8ae6e4e
Thanks @jerelmiller! - Prevent field accessor warnings when using@unmask(mode: "migrate")
on objects that are passed intocache.identify
.#12120
6a98e76
Thanks @jerelmiller! - Provide a codemod that applies@unmask
to all named fragments for all operations and fragments.Learn how to use the codemod in the incremental adoption documentation.
#12134
cfaf4ef
Thanks @jerelmiller! - Fix issue where data went missing when an unmasked fragment in migrate mode selected fields that the parent did not.#12154
d933def
Thanks @phryneas! - Data masking types: handle overlapping nested array types and fragments on interface types.#12139
5a53e15
Thanks @phryneas! - Fix issue where masked data would sometimes get returned when the field was part of a child fragment from a fragment unmasked by the parent query.#12123
8422a30
Thanks @jerelmiller! - Warn when using data masking with "no-cache" operations.#12139
5a53e15
Thanks @phryneas! - Fix issue where the warning emitted by@unmask(mode: "migrate")
would trigger unnecessarily when the fragment was used alongside a masked fragment inside an inline fragment.#12114
1d4ce00
Thanks @jerelmiller! - Fix error when combining@unmask
and@defer
directives on a fragment spread when data masking is enabled.#12130
1e7d009
Thanks @jerelmiller! - Fix error thrown when applying unmask migrate mode warnings on interface types with selection sets that contain inline fragment conditions.#12152
78137ec
Thanks @phryneas! - Add a helper that will skip the TS unmasking alorithm when no fragments are present on type level#12126
d10d702
Thanks @jerelmiller! - Ensure documents unchanged by the codemod are left untouched.#12133
a6ece37
Thanks @jerelmiller! - Ensurenull
is retained in nullable types when unmasking a type with theUnmasked
helper type.#12139
5a53e15
Thanks @phryneas! - Fix issue that threw errors when masking partial data with@unmask(mode: "migrate")
.v3.11.10
Compare Source
Patch Changes
1765668
Thanks @mgmolisani! - Fixed a bug when evaluating the devtools flag with the new syntaxdevtools.enabled
that could result totrue
when explicitly set tofalse
.v3.11.9
Compare Source
Patch Changes
a3f95c6
Thanks @jerelmiller! - Fix an issue where errors returned from afetchMore
call from a Suspense hook would cause a Suspense boundary to be shown indefinitely.v3.11.8
Compare Source
Patch Changes
35cf186
Thanks @phryneas! - Fixed a bug where incorrect object access in some Safari extensions could cause a crash.v3.11.7
Compare Source
Patch Changes
e471cef
Thanks @jerelmiller! - Fixes a regression from where passing an invalid identifier tofrom
inuseFragment
would result in the warningTypeError: Cannot read properties of undefined (reading '__typename')
.v3.11.6
Compare Source
Patch Changes
#12049
9c26892
Thanks @phryneas and @maciesielka! - Fix a bug whereuseFragment
did not re-render as expected#12044
04462a2
Thanks @DoctorJohn! - Cache theuseSubscription
hook'srestart
function definition between re-renders.v3.11.5
Compare Source
Patch Changes
#12027
eb3e21b
Thanks @JavaScriptBach! - TypeMutationResult.reset
as an arrow function#12020
82d8cb4
Thanks @jerelmiller! - Better conform to Rules of React by avoiding write of ref in render foruseFragment
.v3.11.4
Compare Source
Patch Changes
#11994
41b17e5
Thanks @jerelmiller! - Update theModifier
function type to allowcache.modify
to return deeply partial data.#11989
e609156
Thanks @phryneas! - Fix a potential crash when callingclearStore
while a query was running.Previously, calling
client.clearStore()
while a query was running had one of these results:useQuery
would stay in aloading: true
state.useLazyQuery
would stay in aloading: true
state, but also crash with a"Cannot read property 'data' of undefined"
error.Now, in both cases, the hook will enter an error state with a
networkError
, and the promise returned by theuseLazyQuery
execute
function will return a result in an error state.#11994
41b17e5
Thanks @jerelmiller! - Prevent accidental distribution oncache.modify
field modifiers when a field is a union type array.v3.11.3
Compare Source
Patch Changes
#11984
5db1659
Thanks @jerelmiller! - Fix an issue where multiple fetches with results that returned errors would sometimes set thedata
property with anerrorPolicy
ofnone
.#11974
c95848e
Thanks @jerelmiller! - Fix an issue wherefetchMore
would write its result data to the cache when using it with ano-cache
fetch policy.#11974
c95848e
Thanks @jerelmiller! - Fix an issue where executingfetchMore
with ano-cache
fetch policy could sometimes result in multiple network requests.#11974
c95848e
Thanks @jerelmiller! -Potentially disruptive change
When calling
fetchMore
with a query that has ano-cache
fetch policy,fetchMore
will now throw if anupdateQuery
function is not provided. This provides a mechanism to merge the results from thefetchMore
call with the query's previous result.v3.11.2
Compare Source
Patch Changes
38c0a2c
Thanks @jerelmiller! - Fix missinggetServerSnapshot
error when usinguseSubscription
on the server.v3.11.1
Compare Source
Patch Changes
1765668
Thanks @mgmolisani! - Fixed a bug when evaluating the devtools flag with the new syntaxdevtools.enabled
that could result totrue
when explicitly set tofalse
.v3.11.0
Compare Source
Potentially Breaking Fixes
#11789
5793301
Thanks @phryneas! - Changes usages of theGraphQLError
type toGraphQLFormattedError
.This was a type bug - these errors were never
GraphQLError
instancesto begin with, and the
GraphQLError
class has additional properties that cannever be correctly rehydrated from a GraphQL result.
The correct type to use here is
GraphQLFormattedError
.Similarly, please ensure to use the type
FormattedExecutionResult
instead of
ExecutionResult
- the non-"Formatted" versions of these typesare for use on the server only, but don't get transported over the network.
#11626
228429a
Thanks @phryneas! - CallnextFetchPolicy
with "variables-changed" even if there is afetchPolicy
specified.Previously this would only be called when the current
fetchPolicy
was equal to thefetchPolicy
option or the option was not specified. If you usenextFetchPolicy
as a function, expect to see this function called more often.Due to this bug, this also meant that the
fetchPolicy
might be reset to the initialfetchPolicy
, even when you specified anextFetchPolicy
function. If you previously relied on this behavior, you will need to update yournextFetchPolicy
callback function to implement this resetting behavior.As an example, if your code looked like the following:
Update your function to the following to reimplement the resetting behavior:
Minor Changes
#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseQueryRefHandlers
.#11854
3812800
Thanks @jcostello-atlassian! - Support extensions in useSubscription#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseLoadableQuery
.#11863
98e44f7
Thanks @phryneas! - ReimplementuseSubscription
to fix rules of React violations.#11869
a69327c
Thanks @phryneas! - Rewrite big parts ofuseQuery
anduseLazyQuery
to be more compliant with the Rules of React and React Compiler#11936
1b23337
Thanks @jerelmiller! - Add the ability to specify a name for the client instance for use with Apollo Client Devtools. This is useful when instantiating multiple clients to identify the client instance more easily. This deprecates theconnectToDevtools
option in favor of a newdevtools
configuration.This option is backwards-compatible with
connectToDevtools
and will be used in the absense of adevtools
option.#11923
d88c7f8
Thanks @jerelmiller! - Add support forsubscribeToMore
function touseBackgroundQuery
.#11930
a768575
Thanks @jerelmiller! - Deprecates experimental schema testing utilities introduced in 3.10 in favor of recommending@apollo/graphql-testing-library
.Patch Changes
#11951
0de03af
Thanks @phryneas! - add React 19 RC topeerDependencies
#11927
2941824
Thanks @phryneas! - Addrestart
function touseSubscription
.#11949
4528918
Thanks @alessbell! - Remove deprecatedwatchFragment
option,canonizeResults
#11937
78332be
Thanks @phryneas! -createSchemaFetch
: simulate serialized errors instead of anApolloError
instance#11902
96422ce
Thanks @phryneas! - Addcause
field toApolloError
.#11806
8df6013
Thanks @phryneas! - MockLink: add query default variables if not specified in mock request#11926
3dd6432
Thanks @phryneas! -watchFragment
: forward additional options todiffOptions
#11946
7d833b8
Thanks @jerelmiller! - Fix issue where mutations were not accessible by Apollo Client Devtools in 3.11.0-rc.0.#11944
8f3d7eb
Thanks @sneyderdev! - AllowIgnoreModifier
to be returned from aoptimisticResponse
function when inferring from aTypedDocumentNode
when used with a generic argument.#11954
4a6e86a
Thanks @phryneas! - Document (and deprecate) the previously undocumentederrors
property on theuseQuery
QueryResult
type.#11719
09a6677
Thanks @phryneas! - Allow wrappingcreateQueryPreloader
#11921
70406bf
Thanks @phryneas! - addignoreResults
option touseSubscription
v3.10.8
Compare Source
Patch Changes
1f0460a
Thanks @jerelmiller! - Allowundefined
to be returned from acache.modify
modifier function when a generic type argument is used.v3.10.7
Compare Source
Patch Changes
#11901
10a8c0a
Thanks @phryneas! - updatecanUseLayoutEffect
check to also allow for layout effects in React Native#11861
1aed0e8
Thanks @henryqdineen! - Defend against non-serializable params ininvariantWrappers
#11905
29755da
Thanks @phryneas! - Add.d.cts
files for cjs bundles#11906
d104759
Thanks @phryneas! - chore: update TypeScript to 5.5v3.10.6
Compare Source
Patch Changes
f745558
Thanks @phryneas! -useMutation
: useuseIsomorphicLayoutEffect
instead ofuseLayoutEffect
apollographql/apollo-server (apollo-server-core)
v3.13.0
Compare Source
apollographql/apollo-server (apollo-server-express)
v3.13.0
Compare Source
v3.12.1
Compare Source
v3.12.0
Compare Source
v3.11.1
Compare Source
v3.11.0
Compare Source
v3.10.4
Compare Source
v3.10.3
Compare Source
v3.10.2
Compare Source
v3.10.1
Compare Source
v3.10.0
Compare Source
Configuration
📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.