Skip to content

Bump hyrax to include #7470 (strip default locale from URLs)#3071

Draft
ShanaLMoore wants to merge 2 commits into
mainfrom
i677-strip-default-locale-from-urls
Draft

Bump hyrax to include #7470 (strip default locale from URLs)#3071
ShanaLMoore wants to merge 2 commits into
mainfrom
i677-strip-default-locale-from-urls

Conversation

@ShanaLMoore

@ShanaLMoore ShanaLMoore commented May 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Bumps the hyrax pin to 7f0e346a37c15330dd664ecfac203aa8e7d5c416, the merge commit of Strip default locale from default_url_options hyrax#7470.
  • That upstream PR makes Hyrax::Controller#default_url_options only emit locale: I18n.locale when the active locale differs from I18n.default_locale, so default-locale URLs no longer carry ?locale=en.

Refs: notch8/hykuup_knapsack#677
Upstream: samvera/hyrax#7470

Why

Hyku's sitemap entries, canonical tags, and outbound links were all rendering as ?locale=en even for default-locale visitors. Googlebot picked those locale-parameterized URLs up as canonical, which led to foreign-language variants ranking ahead of English results on Truman (the original symptom in #677). The companion canonical-tag work already landed in #3067; this bump is the URL-level cleanup that needs to land before those canonicals start emitting (otherwise the canonicals themselves would re-declare ?locale=en URLs as authoritative).

Behavior

Active locale Before After
I18n.default_locale (en) { locale: :en } appended to every URL {}
non-default (e.g. :es) { locale: :es } { locale: :es } (unchanged)

Test plan

  • Verified live on dev-hyku.localhost.direct with this lockfile applied:
    • /dashboard?locale=en: 0 of 45 anchors carry ?locale=en other than the language-switcher itself.
    • /catalog?locale=es: in-app links correctly carry ?locale=es (/about?locale=es, /single_signon?locale=es, etc.).
  • CI green.
  • After merge + deploy, hand off to Truman ops to resubmit the sitemap in Search Console and monitor site:truman.digitalmobius.org inurl:locale= trend over 2-6 weeks. (in hyku up)

🤖 Generated with Claude Code

Pulls in default_url_options fix so default-locale URLs no longer
carry ?locale=en, eliminating locale-pollution in sitemap entries
and canonical tags.

Refs: notch8/hykuup_knapsack#677
Upstream: samvera/hyrax#7470

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ShanaLMoore ShanaLMoore added the patch-ver for release notes label May 26, 2026
@ShanaLMoore ShanaLMoore requested review from laritakr and orangewolf and removed request for laritakr and orangewolf May 26, 2026 20:27
@github-actions

github-actions Bot commented May 26, 2026

Copy link
Copy Markdown

Test Results

    3 files  ±0      3 suites  ±0   14m 41s ⏱️ +33s
2 455 tests ±0  2 396 ✅ ±0  59 💤 ±0  0 ❌ ±0 
2 482 runs  ±0  2 421 ✅ ±0  61 💤 ±0  0 ❌ ±0 

Results for commit d724e7a. ± Comparison against base commit b45c6b1.

This pull request removes 46 and adds 46 tests. Note that renamed tests count towards both.
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to destroy 2339afa7-b50a-4784-bdb1-5980647ca6c8
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to edit 4f828a81-6c09-4597-81cd-cf5f8b0a03a1
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to read b6815318-6811-4300-ba07-e8492e09b903
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to update 3657945a-c517-4a92-9052-2c75e8a57fea
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to destroy e9dc9c08-e3b1-49f6-bf7c-109e9c20a3b4
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to edit 2173fccc-6caf-41dd-986e-e779e1052ca0
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to read ae65ba8f-c005-44e6-a4b8-f11b6e2f448b
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to update 5b32f609-d207-49ed-b394-ee8afaa7ef16
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor GenericWork permissions is expected not to be able to destroy 9c8aa983-148f-4a8a-99cc-3741c43940f9
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor GenericWork permissions is expected not to be able to edit 09dddc8a-80b0-4d4c-91a2-5329c1d1acee
…
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to destroy f7e4b51c-5178-4ab0-a77f-75e5d510021d
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to edit fce56cd6-3515-43ea-a234-22c463e0b1f4
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to read b42260d1-1f55-4c88-8522-7d0abd4e237b
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor Etd permissions is expected not to be able to update 30c83ac5-f02e-4e9c-abe6-83a816dd058c
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to destroy 8b4cc7d7-0ece-406d-aab0-4e10f4356a40
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to edit a05acdc1-673d-4c16-8910-ee32c9047d28
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to read ce9145f9-639d-4e20-9c4f-4acec57c6447
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor FileSet permissions is expected not to be able to update 1c47f672-cbc3-47d5-ba99-5f8351767f41
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor GenericWork permissions is expected not to be able to destroy 1b4600ce-1533-43b6-8df4-c0464900e559
spec.abilities.work_ability_spec ‑ Hyrax::Ability::WorkAbility when work depositor GenericWork permissions is expected not to be able to edit 6f15a9c6-119a-4288-8ad4-57cc9e836591
…

♻️ This comment has been updated with latest results.

Post hyrax#7470, Hyrax::Controller#default_url_options no longer
appends `locale: I18n.locale` when the active locale is the default,
so URL helpers and redirect paths for default-locale (en) responses
come out without `?locale=en`. These specs were pinning the old
behavior; updating them to match.

Refs: notch8/hykuup_knapsack#677

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ShanaLMoore

Copy link
Copy Markdown
Collaborator Author

Marking this draft. While verifying the bump on dev-hyku.localhost.direct, LaRita and I discovered that samvera/hyrax#7470 (which this PR pulls in) caused a regression on koppie/pg.nurax: pages began rendering in random non-default locales for users who had never picked one. Cross-request I18n.locale state leaks between visitors on the same Puma worker -- the always-append behavior in the previous default_url_options was inadvertently masking it.

Hyrax revert PR: samvera/hyrax#7476.

Once that merges and a follow-up addresses the underlying locale-leak in Hyrax, I'll un-draft this PR (or open a fresh one bumping to the corrected SHA).

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.

1 participant