apache / apache/wicket

AJAX response processing hangs when header contains link with non-standard rel attribute

Open
#1,487 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
796
Forks
414
Avg merge
2d 15h
Merged PRs (30d)
40

Description

Hello,

When a `Panel` contains the following code and is rendered via AJAX
then the AJAX response processing in the client browser will hang indefinitely:

```java
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);

response.render(StringHeaderItem.forString(
""));
}
```

It seems the non-standard `rel="stylesheet/less"`
causes `wicket-ajax-jquery.js` to wait for an `onload` event which never happens.

The above code worked OK in Wicket version `8`
but it now hangs after upgrading to Wicket version `10`.

Please see this minimal reproducible example: [ajax-hang-demo.zip](https://github.com/user-attachments/files/28873396/ajax-hang-demo.zip)

Thanks to the Wicket team.

#### Environment
- Hangs in Wicket version `10.9.0`
- Worked OK in Wicket `8.18.0`
- Reproducible in all modern browsers

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with wicket-ajax-jquery.js and reproduce the hang using the linked minimal example, focusing on the AJAX response path for the Panel's rendered stylesheet/less link. Compare the behavior with Wicket 8.18.0 and Wicket 10.9.0 in a modern browser. Done means AJAX response processing completes when rel="stylesheet/less" is present.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.