Skip to content

Feat/graphql delta fix#35

Open
moosebay wants to merge 4 commits intomainfrom
feat/graphql-delta-fix
Open

Feat/graphql delta fix#35
moosebay wants to merge 4 commits intomainfrom
feat/graphql-delta-fix

Conversation

@moosebay
Copy link
Contributor

By submitting a PR to this repository, you agree to the terms within the Contributor Covenant Code of Conduct. Please see the contributing guidelines for how to create and submit a high-quality PR for this repo.

Description

Describe the purpose of this PR along with any background information and the impacts of the proposed change. For the benefit of the community, please do not assume prior context.

Provide details that support your chosen implementation, including: breaking changes, alternatives considered, changes to the API, etc.

If the UI is being changed, please provide screenshots.

References

Include any links supporting this change such as a:

  • GitHub Issue/PR number addressed or fixed
  • StackOverflow post
  • Related pull requests/issues from other repos

If there are no references, simply delete this section.

Testing

Describe how this can be tested by reviewers. Be specific about anything not tested and reasons why.

Please include any manual steps for testing end-to-end or functionality not covered by unit/integration tests.

Also include details of the environment this PR was developed in (platform/browser version).

Checklist

  • I have added a Version Plan for new/changed functionality in this PR
  • All checks for formatting and tests are passing

moosebay and others added 4 commits February 14, 2026 14:27
Add full-stack GraphQL request support including schema, API,
flow node integration, and UI pages. UI components use semantic
design tokens (neutral, accent, success) for dark mode compatibility.
Wire GraphQL services (NodeGraphQL, GraphQL, GraphQLHeader) into the
CLI so flow nodes with GraphQL steps execute instead of panicking.
Add full YAML round-trip support: export serializes graphql_requests
and graphql flow steps, import deserializes them back with use_request
template resolution.
This commit implements comprehensive GraphQL delta functionality, matching
the HTTP delta system, and fixes critical bugs in delta field updates.

## Key Changes

### Delta System (packages/server/internal/api/rgraphql/)
- Add `rgraphql_crud_delta.go` - GraphQL delta CRUD operations
- Add `rgraphql_crud_header_delta.go` - GraphQL header delta operations
- Add `rgraphql_delta_converter.go` - Delta field conversions
- Add `rgraphql_crud_version.go` - Version collection and sync endpoints
- Add delta schema `09_graphql_delta.sql` with proper foreign keys

### Assertions (packages/server/internal/api/rgraphql/)
- Add `rgraphql_crud_assert.go` - GraphQL assertion CRUD
- Add `rgraphql_exec_assert.go` - Assertion execution during requests
- Add `rgraphql_exec_assert_test.go` - Assertion execution tests
- Add `rgraphql_crud_response_assert.go` - Response assertion tracking
- Add frontend assertion UI components

### Response History
- Add GraphQL response tracking and history UI
- Add response header tracking
- Add version sync for real-time updates

### Critical Bug Fix
- Fix GraphQL Writer.Update() to check IsDelta flag
- Add UpdateGraphQLDelta SQL query for delta field updates
- Prevents deltas from incorrectly overwriting parent base fields
- Follows HTTP delta pattern exactly

### Frontend (packages/client/src/pages/graphql/)
- Add `history.tsx` - GraphQL response history view
- Add `request/assert.tsx` - Request assertion editor
- Add `request/url.tsx` - URL editor component
- Add `response/assert.tsx` - Response assertion viewer
- Add delta route handler
- Update flow nodes to support GraphQL deltas

### Database Schema
- Add graphql_assert table with delta support
- Add graphql_response_assert table
- Add UpdateGraphQLDelta query
- Add migration 01KHEX5H_add_graphql_delta.go

### Configuration
- Add .ralph/ and .ralphrc to .gitignore

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments