Schema proposals beginnings#6836
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Snapshot Release (
|
| Package | Version | Info |
|---|---|---|
@graphql-hive/apollo |
0.46.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/cli |
0.57.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/core |
0.19.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/envelop |
0.40.1-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
@graphql-hive/yoga |
0.46.1-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
hive |
8.14.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
hive-apollo-router-plugin |
2.3.6-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
hive-console-sdk-rs |
0.2.3-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 |
npm ↗︎ unpkg ↗︎ |
📚 Storybook DeploymentThe latest changes are available as preview in: https://pr-6836.hive-storybook.pages.dev |
💻 Website PreviewThe latest changes are available as preview in: https://pr-6836.hive-landing-page.pages.dev |
|
🐋 This PR was built and pushed to the following Docker images: Targets: Platforms: Image Tag: |
|
Will look tomorrow! |
jasonkuhrt
left a comment
There was a problem hiding this comment.
Nice! Left a few odd thoughts on the data model fwiw 🙌
| CREATE TABLE IF NOT EXISTS "schema_proposal_comments" | ||
| ( | ||
| id UUID PRIMARY KEY DEFAULT uuid_generate_v4 () | ||
| , user_id UUID REFERENCES users (id) ON DELETE SET NULL | ||
| , body TEXT NOT NULL | ||
| , created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() | ||
| , updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() | ||
| , schema_proposal_review_id UUID REFERENCES schema_proposal_reviews (id) ON DELETE CASCADE | ||
| ) |
There was a problem hiding this comment.
Could we bake in more semantics here rather than just free form? For example maybe a category enum.
type: kudos | confused | disagree | idea
The thinking is that structured semantics here would allow some interesting UX downstream, such as us being able to present the user with triaged comments e.g. "blocking" | "optional" etc. to reduce review process overhead.
There was a problem hiding this comment.
I think this is a great idea but it might belong on the review object and is better suited to a v2.
For more context -- One constraint of the current table design is that every comment must be tied to a review. This is because I opted to use sql and I wanted to avoid complicated merging + pagination logic in the UI to display multiple sets or chronological data at the same time.
If using nosql then this could all be in the same table and have different structures.
| }); | ||
| }, | ||
| availableMemberPermissionGroups: () => { | ||
| return OrganizationMemberPermissions.permissionGroups; |
There was a problem hiding this comment.
This didn't account for feature flags.
Background
https://linear.app/the-guild/issue/CONSOLE-1245/collaborative-schema-designerproposer
Our goal is to build a space where developers/teams can come together and collaborate on schema. "Schema Proposals", as it's currently named, is a feature that would do just this. By allowing users to submit a proposed change and others to review and comment.
Description
This is not the full feature, but it lays some of the groundwork for this feature.
I have a proposed database structure, initial graphql API, and am gradually adding additional elements to this feature branch.