This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 3f4d46a13a98fd1dc502db3b3b90df0f06dca46e
Author: Lukasz Lenart <[email protected]>
AuthorDate: Mon Nov 2 09:56:56 2026 +0100

    WW-4164 docs: describe the extensionless-request rule for generated URLs
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
---
 .../specs/2026-11-01-WW-4164-per-action-extensions-design.md      | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/docs/superpowers/specs/2026-11-01-WW-4164-per-action-extensions-design.md 
b/docs/superpowers/specs/2026-11-01-WW-4164-per-action-extensions-design.md
index 1f0c8fb9e..0724d50c2 100644
--- a/docs/superpowers/specs/2026-11-01-WW-4164-per-action-extensions-design.md
+++ b/docs/superpowers/specs/2026-11-01-WW-4164-per-action-extensions-design.md
@@ -132,9 +132,11 @@ govern both:
   `getUriFromActionMapping`, through one shared helper that:
   1. looks up the target `ActionConfig` (namespace + name) in the runtime 
configuration;
   2. takes the target's effective list (its declared list, or the global list 
when it declares
-     none). It keeps the current request's extension when that list contains 
it (null current
-     counts as `""`), otherwise uses the list's first entry, and sets the 
result on the
-     `ActionMapping`. With no attributes anywhere, the current extension was 
stripped by the global
+     none). It keeps the current request's extension when that list contains 
it, otherwise uses
+     the list's first entry, and sets the result on the `ActionMapping`. For a 
declared target with
+     a current request mapping, a null current extension counts as `""`. With 
no current request
+     mapping, or for an undeclared target whose current extension is null, it 
uses the first entry,
+     which reproduces today's `lookupExtension`. With no attributes anywhere, 
the current extension was stripped by the global
      list and is kept, which reproduces today's output;
   3. if the action is unknown, the global list is null and nothing is 
declared, or the caller
      already set an extension: change nothing (the mapper's `lookupExtension` 
fallback applies as

Reply via email to