Skip to content

🔥 Drop the Hyrax overrides Hyrax d5ee8e6 ships - #409

Merged
ShanaLMoore merged 3 commits into
mainfrom
i399-remove-hyrax-overrides
Oct 15, 2026
Merged

ShanaLMoore merged 3 commits into
mainfrom
i399-remove-hyrax-overrides

Conversation

@ShanaLMoore

@ShanaLMoore ShanaLMoore commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Story

Refs

🔥 Drop the redirect query-string override Hyrax now ships

2004c90

Hyrax d5ee8e6 (samvera/hyrax#7702) renamed with_locale to
with_query_params and carries the whole query string across display
URL redirects itself, so the override no longer runs.

The redirect controller specs still pass against stock Hyrax and stay as
regression checks.

Assisted by: Opus 5.5

🔥 Drop the flexible form race overrides Hyrax now ships

ea6ad20

Hyrax d5ee8e6 includes samvera/hyrax#7680: each flexible form is built
from its own subclass, and the batch upload form reads its required
fields from a built form. These overrides did the same in the
knapsack. Their specs passed with the overrides unapplied before they
were removed.

Ref:

Assisted by: Opus 5.5

🔥 Drop the hydra_model override Hyrax now ships

108fd00

Hyrax d5ee8e6 includes samvera/hyrax#7677: with Wings off, a Solr
document's hydra_model resolves through Valkyrie, so a file set's show
page renders its profile fields without the knapsack resolving the
model itself.

Ref:

Assisted by: Opus 5.5

Expected Behavior Before Changes

The knapsack carried its own copies of three Hyrax fixes: carrying the whole query string across display URL redirects, building each flexible form from a per-build subclass so concurrent Bulkrax imports don't strip each other's fields (#311), and resolving hydra_model through Valkyrie so a file set's show page renders its profile fields (#207).

Expected Behavior After Changes

Same behavior, from Hyrax itself: samvera/hyrax#7702, #7680 and #7677 are in Hyrax d5ee8e6, which #408 brings in. The knapsack's copies are gone.

Screenshots / Video

A file set's show page still renders its filled profile fields (Title, File size, Type of file), not only Title (#207)

File set profile fields

Notes

@ShanaLMoore ShanaLMoore added the patch-ver for release notes label Oct 15, 2026
@ShanaLMoore
ShanaLMoore requested a balanced review from Copilot October 15, 2026 18:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Upstream replacements could not be independently verified in this snapshot, and the concurrent-import staging check remains outstanding.

0 open findings

What changed in this PR

Removes local Hyrax workarounds now supplied by Hyrax d5ee8e6 through prerequisite PR #408, preserving behavior while reducing overrides.

Changes:

  • Removes flexible-form isolation and batch-upload required-field overrides.
  • Removes the file-set metadata schema lookup override.
  • Deletes the two form decorator specs.
File Description
spec/​forms/​hyrax/​forms/​resource_form_decorator_spec.rb Removes form-isolation decorator tests.
spec/​forms/​hyrax/​forms/​batch_upload_form_decorator_spec.rb Removes batch required-field decorator tests.
app/​helpers/​hyrax/​attributes_helper_decorator.rb Delegates metadata schema resolution to upstream.
app/​forms/​hyrax/​forms/​resource_form_decorator.rb Delegates per-build form isolation to upstream.
app/​forms/​hyrax/​forms/​batch_upload_form_decorator.rb Delegates required-field lookup to upstream.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ShanaLMoore
ShanaLMoore force-pushed the i407-bump-hyku-bulkrax-10 branch from c0e7941 to cc020e1 Compare October 15, 2026 18:49
@ShanaLMoore
ShanaLMoore force-pushed the i399-remove-hyrax-overrides branch from 07c5a09 to 3565ad5 Compare October 15, 2026 18:49
@ShanaLMoore

Copy link
Copy Markdown
Contributor Author

Answering the review's note: "Upstream replacements could not be independently verified in this snapshot, and the concurrent-import staging check remains outstanding."

Copilot can't see the hyrax-webapp submodule or the gems, so here is the upstream code at Hyrax d5ee8e6 (the pin #408 brings in):

  • Forms (Build each flexible form from a subclass of its own samvera/hyrax#7680): app/forms/hyrax/forms/resource_form.rb new / per_build_class? builds each flexible form from a per-build subclass with a copy of the class's definitions, matching the deleted ResourceFormDecorator token for token. app/forms/hyrax/forms/batch_upload_form.rb#required_fields reads a built form's singleton_class, as the deleted BatchUploadFormDecorator did.
  • hydra_model (Resolve hydra_model through Valkyrie when Wings is off samvera/hyrax#7677): SolrDocumentBehavior#hydra_model resolves through Valkyrie.config.resource_class_resolver with the same NameError fallback when disable_wings is set. Wings is off everywhere this app runs (HYRAX_SKIP_WINGS=true in compose and the dev, staging and production deploy templates).

Evidence: the two deleted form specs passed with the knapsack overrides unapplied on d5ee8e6 before they were removed; the full suite passes on this branch; and a file set's show page renders all its filled profile fields (screenshot in the description, #207).

The concurrent Bulkrax import (#311) needs GoodJob with more than one thread, so it stays on the staging checklist.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Upstream replacements remain unverified in this review, and concurrent Bulkrax import validation is still outstanding.

0 open findings

🧠 Review effort: Balanced

@ShanaLMoore
ShanaLMoore force-pushed the i407-bump-hyku-bulkrax-10 branch from cc020e1 to 8596fb0 Compare October 15, 2026 19:01
@ShanaLMoore
ShanaLMoore force-pushed the i399-remove-hyrax-overrides branch from 3565ad5 to 12a1530 Compare October 15, 2026 19:01
@ShanaLMoore ShanaLMoore changed the title 🔥 Drop the Hyrax overrides Hyrax d5ee8e6 makes redundant 🔥 Drop the Hyrax overrides Hyrax d5ee8e6 ships Oct 15, 2026
@ShanaLMoore
ShanaLMoore requested a balanced review from Copilot October 15, 2026 19:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Upstream replacements were unavailable for inspection, and concurrent-import verification remains outstanding.

0 open findings

🧠 Review effort: Balanced

@ShanaLMoore
ShanaLMoore marked this pull request as ready for review October 15, 2026 19:17
@kirkkwang

Copy link
Copy Markdown
Member

Amazing to see these removed!

Base automatically changed from i407-bump-hyku-bulkrax-10 to main October 15, 2026 19:48
@ShanaLMoore
ShanaLMoore enabled auto-merge October 15, 2026 19:52
Hyrax d5ee8e6 (samvera/hyrax#7702) renamed with_locale to
with_query_params and carries the whole query string across display
URL redirects itself, so the override no longer runs.

The redirect controller specs still pass against stock Hyrax and stay as
regression checks.

Assisted by: Opus 5.5
Hyrax d5ee8e6 includes samvera/hyrax#7680: each flexible form is built
from its own subclass, and the batch upload form reads its required
fields from a built form. These overrides did the same in the
knapsack. Their specs passed with the overrides unapplied before they
were removed.

Ref:
- #399

Assisted by: Opus 5.5
Hyrax d5ee8e6 includes samvera/hyrax#7677: with Wings off, a Solr
document's hydra_model resolves through Valkyrie, so a file set's show
page renders its profile fields without the knapsack resolving the
model itself.

Ref:
- #399
- #207

Assisted by: Opus 5.5
@ShanaLMoore
ShanaLMoore force-pushed the i399-remove-hyrax-overrides branch from 12a1530 to 108fd00 Compare October 15, 2026 20:31
@github-actions

Copy link
Copy Markdown

Test Results

      4 files  ±    0        4 suites  ±0   51s ⏱️ -2s
205 136 tests  - 4 738  205 136 ✅  - 4 738  0 💤 ±0  0 ❌ ±0 
  1 339 runs   -    16    1 339 ✅  -    16  0 💤 ±0  0 ❌ ±0 

Results for commit 108fd00. ± Comparison against base commit 7159730.

This pull request removes 4738 tests.
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/DuplicatedGem
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/DuplicatedGroup
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/GemComment
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/GemFilename
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/GemVersion
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/InsecureProtocolSource
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Bundler/OrderedGems
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Gemspec/DependencyVersion
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Gemspec/DeprecatedAttributeAssignment
app.controllers.hyku_knapsack.redirect_query_string_decorator ‑ Gemspec/DevelopmentDependencies
…

@ShanaLMoore
ShanaLMoore merged commit 110167f into main Oct 15, 2026
16 checks passed
@ShanaLMoore
ShanaLMoore deleted the i399-remove-hyrax-overrides branch October 15, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch-ver for release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants