Disabling syncId doesn't disable clientId and UI is messed up
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 717
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 3
Description
Vaadin versions: at least Vaadin 7.7.7 - Vaadin 8.3.2
Browsers: all browsers
Web containers: at least jetty, weblogic, and tomcat
Description
SyncId check can be disabled with following context parameter:
<context-param>
<param-name>syncIdCheck</param-name>
<param-value>false</param-value>
</context-param>
After which syncIds are always -1 in the uidl requests. But
clientId:s are still increasing when checking for example Chrome's network tab- UI or theme is messed up: at lease TextField captions and some paddings/margins are missing
Simple example app where the caption of the TextField is missing after disabling syncIdCheck
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout layout = new VerticalLayout();
final TextField name = new TextField();
name.setCaption("Type your name here:");
Button button = new Button("Click Me");
button.addClickListener(e -> {
layout.addComponent(new Label("Thanks " + name.getValue()
+ ", it works!"));
});
layout.addComponents(name, button);
setContent(layout);
}
In more complex applications with customised Valo theme, the break down is more dramatic.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the minimal Vaadin application in the issue and enable the shown syncIdCheck context parameter. Inspect Chrome's network tab and the rendered TextField caption and layout styling, then compare requests and UI behavior with the check enabled. Done means disabling syncIdCheck no longer causes clientId or UI/theme degradation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100