Refactor URL generation into its own processor to run after Purl

Created on 11 September 2025, 24 days ago

Problem/Motivation

There has been a long-standing issue with this module -- it is trying to do two entirely different things:

1. Redirect in or out of the group context based on group membership
2. Rewrite URLs on the rendered page to include the correct group context

... one of these needs to run before the Purl context, the other after. But all of this was handled by a single service, which couldn't handle both of these without tons of backflips, and thus there have been some longstanding issues in this module.

Steps to reproduce

Proposed resolution

Refactor into two services, one of which has higher priority than Purl, the other lower priority.

Remaining tasks

This is working well for Group 3 now -- I might have committed some Group 3-specific API calls, though. This can (should?) be backported to 2.x if anyone wants to fix these issues for existing sites.

The test coverage I just pushed up now tests for the expected behavior.

User interface changes

None.

API changes

None.

Data model changes

πŸ› Bug report
Status

Active

Version

3.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States freelock Seattle

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

No activities found.

Production build 0.71.5 2024