Skip to content

fix(extract): preserve Go router group prefixes - #2497

Merged
DeusData merged 3 commits into
mainfrom
fix/issue-686-fiber-group-v2
Oct 8, 2026
Merged

DeusData merged 3 commits into
mainfrom
fix/issue-686-fiber-group-v2

Conversation

@DeusData

@DeusData DeusData commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Go route registrations inside literal router groups lose their group prefix, so admin := app.Group("/admin"); admin.Post("/customers/:id", handler) produces /customers/:id. Follow local receiver bindings and nested or inline Group calls to produce /admin/customers/:id on both indexing paths. Preserve the current URL-argument handling and Laravel prefix behavior.

Refs #686. This covers literal Fiber/Gin-style groups; dynamic prefixes, routers passed between functions, Route callbacks, chi mounting, and gRPC extraction remain outside this fix. Existing indexes need to be rebuilt to pick up the paths.

Validation: the three new regression cases fail consistently on current main and again when the production change is reverted; the fixed and restored native ASan/UBSan suite passes all 65 cases. The three named Laravel controls pass throughout. The final affected suites (pipeline, parallel, route_canon, cross_repo, and edge_types_probe) pass all 469 tests without sanitizer diagnostics; make -f Makefile.cbm lint-ci passes. The campaign’s combined three-platform gate remains pending.

@DeusData

DeusData commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

Checkpoint and handover (2026-10-03 UTC)

Published head: b93d45abeca666bd8ff9d3dc0667d27a23fdf34f. The remote head was verified.

The Fiber group fix for #686 is published. Historical evidence includes three owned RED failures, 65 passing after the fix, the same failures on revert, restoration to 65 passing, and 469 affected tests passing with lint. ASan/UBSan were not run for this package. This is a partial issue scope and the combined gate remains open.

Hosted snapshot at 2026-10-03 21:54:08 UTC: 1 queued, 4 skipped, 35 success. Confirm the required checks on this exact head before treating it as ready.

No additional local build, test, lint, sanitizer, benchmark or CI runs were performed at this checkpoint, as requested. Earlier executed evidence remains historical; prepared tests and the newer source-reviewed changes must still be validated by the hosted gate.

The campaign is paused at the maintainer’s request. Local monitoring has stopped; hosted jobs remain running. No merge was performed. Thanks for reviewing this change.

Follow literal Group receivers through local bindings and compose their
prefixes for both sequential and parallel route extraction. Keep current
URL argument handling and reuse the existing Laravel prefix composition.

Refs #686

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
@DeusData
DeusData force-pushed the fix/issue-686-fiber-group-v2 branch from b93d45a to d141ee9 Compare October 4, 2026 16:48
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Conflict in internal/cbm/extract_calls.c with main's #1146 slashless Laravel routes (#2471): both helper sets kept (this branch's route_prefix_compose/route_path_with_prefix, main's php_plain_string_value/php_first_arg_value/php_group_array_prefix). At the call site main's slashless-URI step runs first, then this branch's shared route_path_with_group_prefix replaces main's inline #952 composition (identical composition and guard), then main's string-action handler rule.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
@DeusData
DeusData merged commit 2c4c784 into main Oct 8, 2026
48 of 50 checks passed
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