When data-slhx-policy=parallel runs overlapping requests against one target, release pending UI bookkeeping for each completed request instead of only the last pending handle.
req: convention/006
req: convention/007
req: convention/008
When data-slhx-policy=latest aborts an in-flight request, release that request's pending UI bookkeeping before starting the replacement request so pending classes, indicators, and disabled controls do not leak.
req: convention/006
req: convention/007
Track pending class and indicator state with small reference counts so overlapping requests do not hide indicators early or strip a class that existed before the request.
req: convention/007
req: convention/008
Remember each control's pre-request disabled state and keep a small pending count so data-slhx-disable-while-pending does not accidentally enable controls that were disabled before the request.
req: convention/007
When back/forward navigation receives an incompatible or unusable partial response, reload the current URL instead of leaving the previous UI stale.
req: page_swap/005
req: page_swap/006
req: runtime/004
Resolve controls with a form= attribute inside the current slhx root instead of using document-global id lookup, preserving multi-root isolation for direct handle dispatch.
req: runtime/001
req: convention/004
Keep opaque island widgets live when slhx swaps or later DOM insertion adds a new island, and tear down the listener when an island leaves the document.
req: interop/001
req: examples/001
Add a canvas leaf-widget island to the techdemo that receives server snapshots through Effect::event/CustomEvent while keeping slhx core and runtime semantics unchanged.
req: interop/001
req: examples/001
req: examples/005
Drop the v0 example's global export opt-in and update tests to use component-scoped slots and forms, matching the checked public API path.
req: component/003
req: build/001
Document that remaining SafeHtml use in examples is limited to full-page shell composition of already-rendered hemplate fragments, while effect payloads use render helpers.
req: html_safety/002
req: view/001
Generate ParamName constants for handle data parameters so public code can refer to checked param metadata instead of stringly typed names.
req: codegen/003
Remove remaining example-local render_html wrappers in favor of slhx::render_html so public examples share the hemplate render_into effect boundary.
req: view/001
req: html_safety/002
Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing.
req: view/001
req: html_safety/002
Migrate v0 handlers and tests from explicit SafeHtml/html payload plumbing to RenderSlotExt and RenderKeyedSlotExt view helpers.
req: view/001
req: html_safety/002
Add render_html plus slot render_view helpers that call hemplate render_into, and migrate a kanban effect path from explicit SafeHtml/html handling to the renderable-view helper.
req: view/001
req: html_safety/002
Use hemplate render_into in public examples and example tests instead of the string-returning render helper, preserving SafeHtml wrapping only at the explicit effect boundary.
req: view/001
req: html_safety/002
Add InteractionForm::for_handle so tests and public integration code can construct dispatched forms from generated Handle<T> values instead of raw numeric handle ids.
req: ceremony/004
req: public_api/001
Implement Display for generated slots, keyed slots, atoms, and forms so public examples can pass typed resources directly to hemplate dynamic attributes and tests instead of extracting raw numeric ids.
req: public_api/001
req: public_api/002
Generate ComponentRef constants for component-scoped APIs, include global component refs only when global_exports(true) is enabled, and document/use the checked component token.
req: component/003
Implement Display for generated Handle<T> values and migrate example view data to carry handles directly instead of raw handle id numbers for dynamic handle attributes.
req: public_api/001
req: public_api/002
Add HandlerRegistry::register_handle for generated Handle<T> values and migrate examples away from passing raw numeric handle ids at registration sites.
req: ceremony/004
req: public_api/001
Allow #[slhx::component("name")] to validate only the generated handles for that hemplate component, so component modules can be checked independently without implementing unrelated handles.
req: component/003
req: component/005
Have #[slhx::form] emit an associated FORM resource so checked form handlers can be called with TodoInput::FORM-style values instead of generated_resource.typed::<T>() noise.
req: form/001
req: form/004
req: form/006
req: codegen/004
Annotate the v0 auth and wizard form models with #[slhx::form], make their templates expose checked form fields, and add handler smoke tests over the generated form resources.
req: form/001
req: form/004
req: form/006
req: derive_handler/003
Add techdemo coverage for #[slhx::form] plus #[slhx::handler] on the generated launch_work form, and ignore the internal __h hidden handle field in generated form metadata.
req: form/001
req: form/004
req: form/006
req: derive_handler/003
Add a kanban example smoke test for #[slhx::form] plus #[slhx::handler] over the generated create_card form resource.
req: form/001
req: form/004
req: form/006
req: derive_handler/003
Use #[slhx::form] in the v0 example tests and add a checked form-handler smoke test, with a typed() helper for generated form ids so examples do not rebuild ids by hand.
req: form/001
req: form/004
req: form/006
req: derive_handler/003
Introduce FormValue as the parser-availability bound for #[slhx::form] models, blanket it for FromStr types, and add compile-fail coverage for a form field whose domain type lacks a parser.
req: form/004
req: form/006
Add #[slhx::form] for user-authored form models, emit form field metadata into slhx.syms, and require form handlers to accept models that passed generated field compatibility checks.
req: form/001
req: form/004
req: form/006
req: codegen/004
Tighten generated-form handler checking so a parameter must look like slhx::Form<T> or imported Form<T>, not a nongeneric local Form or unrelated path with a Form suffix.
req: form/004
req: form/006
Add compile-fail coverage showing that accepting a generated Form<T> does not bypass required generated data-param checking for the same handle.
req: form/006
req: derive_handler/003
Assert that slhx-build lowers Surface form controls into generated FormContract field metadata, including names, control kinds, required flags, and handle-to-form syms.
req: codegen/004
req: form/001
Make v0 and kanban DOM-aware escaped-text checks exact instead of substring-based while preserving the no-rendered-tag assertions.
req: html_safety/002
req: test/005
Exercise the v0 page-swap effect with a renderable hemplate view payload instead of an ad hoc HTML-looking text literal.
req: view/001
req: html_safety/002
req: page_swap/002
req: page_swap/003
Use DOM-aware rendered-text inspection for the v0 shell marker check and extend unkeyed h-for validation coverage from slots to handles.
req: test/005
req: scope/001
Cover that runtime updates use generated slot/resource ids and do not expose response-side retargeting or CSS fragment selection conventions.
req: target_policy/001
req: target_policy/002
Cover multipart runtime request construction so file-upload forms keep FormData, omit File values from URL encoding, and only mark URLSearchParams bodies as urlencoded.
req: multipart/003
Cover data-slhx-every runtime behavior: root scanning, duplicate timer avoidance, interval dispatch, and cleanup when elements leave the document.
req: convention/005