You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2026/08/27 10:05:06 UTC

(causeway) 10/10: docs(openspec): archive deleted void action navigation fix

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

danhaywood pushed a commit to branch htmx
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit cb467ad5a8637ea3f96c6e51927df5861084eda5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Aug 27 11:18:12 2026 +0200

    docs(openspec): archive deleted void action navigation fix
---
 .../.openspec.yaml                                    |  0
 .../design.md                                         |  0
 .../proposal.md                                       |  0
 .../specs/generic-htmx-web-component-viewer/spec.md   |  0
 .../tasks.md                                          |  0
 .../specs/generic-htmx-web-component-viewer/spec.md   | 19 +++++++++++++++++++
 6 files changed, 19 insertions(+)

diff --git a/openspec/changes/fix-deleted-void-action-navigation/.openspec.yaml b/openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/.openspec.yaml
similarity index 100%
rename from openspec/changes/fix-deleted-void-action-navigation/.openspec.yaml
rename to openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/.openspec.yaml
diff --git a/openspec/changes/fix-deleted-void-action-navigation/design.md b/openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/design.md
similarity index 100%
rename from openspec/changes/fix-deleted-void-action-navigation/design.md
rename to openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/design.md
diff --git a/openspec/changes/fix-deleted-void-action-navigation/proposal.md b/openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/proposal.md
similarity index 100%
rename from openspec/changes/fix-deleted-void-action-navigation/proposal.md
rename to openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/proposal.md
diff --git a/openspec/changes/fix-deleted-void-action-navigation/specs/generic-htmx-web-component-viewer/spec.md b/openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/specs/generic-htmx-web-component-viewer/spec.md
similarity index 100%
rename from openspec/changes/fix-deleted-void-action-navigation/specs/generic-htmx-web-component-viewer/spec.md
rename to openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/specs/generic-htmx-web-component-viewer/spec.md
diff --git a/openspec/changes/fix-deleted-void-action-navigation/tasks.md b/openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/tasks.md
similarity index 100%
rename from openspec/changes/fix-deleted-void-action-navigation/tasks.md
rename to openspec/changes/archive/2026-08-27-fix-deleted-void-action-navigation/tasks.md
diff --git a/openspec/specs/generic-htmx-web-component-viewer/spec.md b/openspec/specs/generic-htmx-web-component-viewer/spec.md
index d4123a57c35..c1392121e88 100644
--- a/openspec/specs/generic-htmx-web-component-viewer/spec.md
+++ b/openspec/specs/generic-htmx-web-component-viewer/spec.md
@@ -45,6 +45,25 @@ Each browser-generated and server-parsed segment MUST use the same canonical UTF
 - **THEN** shell, object, asset, home, and history URLs consistently use that path
 - **AND** no route assumes deployment at the origin root
 
+### Requirement: Void action route recovery
+The viewer SHALL refresh the current object route after a successful void action while the object remains available, and SHALL return to its configured home route when that post-action refresh establishes that the object no longer exists.
+The fallback MUST be limited to the current post-action refresh and MUST NOT convert unrelated missing-object navigation into a home redirect.
+
+#### Scenario: Void action retains its target
+- **WHEN** a successful void action completes and the current object remains available
+- **THEN** the viewer refreshes the current object route
+- **AND** presents the updated object state on the same canonical route
+
+#### Scenario: Void action deletes its target
+- **WHEN** a successful void action completes and the refreshed current object reports `NOT_FOUND`
+- **THEN** the viewer navigates to the configured home route
+- **AND** does not leave the deleted object page in a terminal or component-error state
+
+#### Scenario: Missing object is requested independently
+- **WHEN** an object route reports `NOT_FOUND` without a current successful void-action refresh
+- **THEN** the viewer retains its bounded missing-object state
+- **AND** does not redirect to the home route
+
 ### Requirement: Router-owned custom-page resolution
 The HTMX route resolver SHALL select one trusted custom page registered for the exact public logical type before using the generic object page, and custom definitions MAY originate from a conventional private HTML resource or the compatible Java fragment-factory SPI.