Skip to content

Deprecate and remove remaining bucket key-based GraphQL/Liquid surface - #11902

Merged
nbudin merged 1 commit into
mainfrom
11896-deprecate-bucket-key-graphql-surface
Aug 8, 2026
Merged

Deprecate and remove remaining bucket key-based GraphQL/Liquid surface#11902
nbudin merged 1 commit into
mainfrom
11896-deprecate-bucket-key-graphql-surface

Conversation

@nbudin

@nbudin nbudin commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Fixes #11896

Summary

Most of the fields this issue lists were already deprecation_reason-marked (the four Signup-family types' bucketKey/requestedBucketKey, and all six mutations' bucket_key/requested_bucket_key arguments) — confirmed by reading the code before starting. So the actual work here is narrower than the issue's background section:

Deliberately not doing: removing the already-deprecated bucketKey/requestedBucketKey fields or mutation arguments. The issue calls for that to wait on a deprecation window passing — a timing/process decision, not something to execute automatically here.

Test plan

  • bin/rails graphql:update (confirmed the schema diff is exactly the two expected changes: from_key removed, key deprecated — no stray diffs)
  • yarn run tsc --noEmit
  • yarn vitest run (187 passed, 1 pre-existing skip)
  • bin/rails test (1169 passed, 1 pre-existing skip)
  • bundle exec rubocop / yarn eslint on all changed files (0 errors)
  • Full yarn eslint app/javascript sweep to confirm the new key deprecation produces only warnings, no errors

🤖 Generated with Claude Code

#11896)

Most of the fields this issue targets were already deprecation_reason-marked
(the four Signup-family types' bucketKey/requestedBucketKey, and all six
mutations' bucket_key/requested_bucket_key arguments) -- so the actual work
here is narrower than the issue's own background section:

- Remove BucketKeyMappingInputType#from_key entirely (not just deprecate --
  a removed bucket is always a persisted row with a real id already, unlike
  to_key's bucket, which may be newly created in the same edit and have no
  id yet). This required converting BucketKeyRemappingModal.tsx/
  useBucketKeyRemapping.tsx to submit from_bucket_id instead, since they
  previously always sent from_key.
- Deprecate RegistrationPolicyBucketType#key (the one field the issue
  flagged as not yet deprecated). This surfaces new
  @graphql-eslint/no-deprecated warnings on the many places that still
  legitimately read key for editing/remapping -- expected, not something
  this issue addresses.
- Remove RegistrationPolicy::BucketDrop#key's delegate (confirmed zero
  real-world Liquid usage).
- Delete the dead RegistrationPolicyInputType/RegistrationPolicyBucketInputType
  (referenced by nothing, not even present in the generated schema).

Deliberately not removing the already-deprecated bucketKey/requestedBucketKey
fields or mutation arguments yet -- the issue calls for that to wait on a
deprecation window passing, which is a timing/process decision rather than
something to execute in this PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nbudin nbudin added minor Bumps the minor version number on release refactor approved-breaking-change major Bump the major version number and removed minor Bumps the minor version number on release labels Aug 8, 2026
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Report: Only Changed Files listed

Package Base Coverage New Coverage Difference
app/graphql/intercode_schema.rb 🟠 55.26% 🟠 61.84% 🟢 6.58%
app/javascript/BuiltInFormControls/AddFileModal.tsx 🔴 0% 🔴 33.33% 🟢 33.33%
app/javascript/BuiltInFormControls/LiquidInput.tsx 🟠 57.5% 🟠 60% 🟢 2.5%
app/models/deprecated_graph_ql_usage.rb 🔴 0% 🟢 100% 🟢 100%
Overall Coverage 🟢 56% 🟢 56.04% 🟢 0.04%

Minimum allowed coverage is 0%, this run produced 56.04%

@nbudin
nbudin merged commit 770f8b5 into main Aug 8, 2026
28 of 29 checks passed
@nbudin
nbudin deleted the 11896-deprecate-bucket-key-graphql-surface branch August 8, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate and remove the remaining bucket key-based GraphQL/Liquid surface (phase 2 of dropping RegistrationPolicyBucket#key)

1 participant