-
Notifications
You must be signed in to change notification settings - Fork 8
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
fix(kno-7843): fixes trigger_data
params functionality and types
#428
Open
MikeCarbone
wants to merge
41
commits into
main
Choose a base branch
from
mike-kno-7843-js-sdk-trigger_data-query-params-dont-work-correctly-with
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.
Open
fix(kno-7843): fixes trigger_data
params functionality and types
#428
MikeCarbone
wants to merge
41
commits into
main
from
mike-kno-7843-js-sdk-trigger_data-query-params-dont-work-correctly-with
+3,451
−5,547
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
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
🦋 Changeset detectedLatest commit: 504c5fb The changes in this PR will be included in the next version bump. This PR includes changesets to release 9 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
trigger_data
params functionalitytrigger_data
params functionality and types
Base automatically changed from
mike-kno-7523-2-js-support-react-19-in-react-sdks
to
next-react-19-support
February 26, 2025 16:57
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
fix(kno-7843): consistent
trigger_data
params functionalityNote: this PR is a branch off the React 19 updates branch. I wanted to make sure the comparison logic I changed would work with the new zustand updates
This PR addresses KNO-7843, an issue with the SDK where specifying a
trigger_data
field when usinguseNotifications()
would require stringifying booleans, and would create an awkward typing situation. It didn't work out of the box.As specified by our API,
trigger_data
field should be a string. Our SDK's typing says it should be an object, which is correct for a nice DX. This PR remediates those differences elegantly so that our usage is consistent, and if a user (like the one Matt highlighted in the issue) did an override, their code won't break on them and will respect that.Example 1: supports existing overrides. Users might have done this to get things working and we don't want that to break
Example 2: supports proper JS object usage, as expected
Example 3: supports stringified keys
Example 4: and of course, supports no trigger data usage at all
Example 5: Tightening
trigger_data
type (errors)The API won't accept a nested object when passed through the
trigger_data
field (422 invalid params
), so I tightened up that type to error for users when they try to do that.Example error:
API docs on trigger data
Note: Adds
deep-equal
dependencyWhen using a nested key structure like the examples above, zustand's
shallow
function withinuseStableOptions
was no longer doing what we needed it to do. The shallow copy would not safely recognize the nested key structure, causing an infinite re-render loop. Thedeep-equal
usage fixes this. I'm not sure how this would work before!Linear ticket
Loom example of the fix