🚨✨ Source Convex - switch the JSON format requested from Convex#30853
🚨✨ Source Convex - switch the JSON format requested from Convex#30853Marcos Marx (marcosmarxm) merged 9 commits intoairbytehq:masterfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
Add fmt param to the source-convex connector for future extensibility. May add it to the configuration options in the future, but for now, just have it there for testability, defaulting to json format.
6f9fb70 to
614a12f
Compare
Marcos Marx (marcosmarxm)
left a comment
There was a problem hiding this comment.
Thanks for the contribution Nipunn Koorapati (@nipunn1313) and sorry the missing update here.
This introduces a breaking change to existing connectors? If someone update the message read by Airbyte will be different?
Convex is deprecating the convex_json or you're introducing only another supported type?
If the first, what is the ETA to remove it?
Can you remove the parse_config function? The UI already apply this validation and it's duplicating features here.
If you have only a format type you as a constant in the code, if users can select the format type, which I don't believe it brings any performance to them add the option in the spec.json/yaml file.
Yes... sort of. It (subtly/minorly) simplifies the JSON format for subsequent documents. Fortunately, we have stats on our side (from the server API endpoints) on who is using the airbyte connector with convex and it is only one customer - whom we are directly in contact with. They are ok with this change.
There is only one documented type
Yes - I can do that. |
|
Hello. I've removed |
|
Hello. I wanted to check in here again. |
|
Nipunn Koorapati (@nipunn1313) at the moment the team is dedicated reviewing Hackathon contribution. We're going to return to the community backlog in the future. |
|
Hello. Wanted to check in here. I understand your team has been busy recently. What expectations should I have around the timing of this review? (IE - when should I check in again?). |
|
Hey Nipunn Koorapati (@nipunn1313) , I apologize for the delay here. This is certainly not the experience we want you to have when contributing. Your PR, among others, sparked conversations internally about how we can improve the speed of PR review for those contributing their own company's connectors. Kat Wilson (@katmarkham) is our steward of API sources here, and is working with her team to set a process to fast-track these in the future. For this particular PR, the team is hoping to start review by the end of next week as other projects are getting shuffled. |
| deployment_url = config["deployment_url"] | ||
| access_key = config["access_key"] | ||
| url = f"{deployment_url}/api/json_schemas?deltaSchema=true&format=convex_json" | ||
| url = f"{deployment_url}/api/json_schemas?deltaSchema=true&format=json" |
There was a problem hiding this comment.
Look like braking changes as schema will be updated.
Serhii Lazebnyi (lazebnyi)
left a comment
There was a problem hiding this comment.
Approved with condition. The braking changes process must be followed.
|
Serhii Lazebnyi (@lazebnyi) In the comments, it's noted there is only 1 user of the connector and they are already aware of this change as the contributor is already in close contact with the user. While it is a schema change, I recommend not requiring the breaking change process given we can simply inform the user of the connector of the change. Kat Wilson (@katmarkham) |
Yep! That sounds good to us. |
Removed parse_config and GL approved
Marcos Marx (marcosmarxm)
left a comment
There was a problem hiding this comment.
Releasing without breaking change as Natalie Kwong (@nataliekwong) commented.
|
Nipunn Koorapati (@nipunn1313) thanks for the contribution. Waiting the master branch allow to merge your contribution :) |

What
We're updating the json format which is requested from the backend from
convex_jsontojson. The new format is more readable/usable (rather than prioritizing roundtrippable).How
Updating the source connector to request
jsonformat (rather thanconvex_jsonformat). The format is a tad simpler and cleaner in how it handles a few cases.Added a
fmtparameter to the configuration structure, defaulting it tojsonformat. Intentionally left it out of the yml.We updated the airbyte-client version number which we send up as a header so the server can detect the new version.
Recommended reading order
source.py- Updates json formatunit tests🚨 User Impact 🚨
The users will see a simpler JSON format which encodes a few values a bit differently. Most exports will not see a difference.
Examples:
Bigints go from
{"$integer": "55"}to"55"Infinite floats go from
{"$float": "Inf"}to{"Inf"}... a few more cases
Pre-merge Actions
Community member or Airbyter
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.