-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vue hydration issues caused by invalid HTML make page unscrollable after clicking on modal #2025
Comments
Another one nus-cs2103-AY2223S1/forum#109 |
I am facing the same issue at: https://nus-cs2103-ay2223s1.github.io/website/schedule/week5/topics.html#supplementary-requirements In the sentence: After clicking |
Thanks @yixiann for the bug report! Hi @damithc, looks like it could be due to Vue hydration issues caused by invalid HTML. There were a few tables referenced in the problematic pages where the This is not a problem for other pages either because they don't contain such tables, or they use tables that are generated from markdown (which we will handle the HTML generation). The offending tables are e.g.: In SE book itself, I found 13 places of such issues (search for Related to: |
@tlylt thanks very much for the investigation and figuring out the solution. Seems to work when I tried it. Will update all |
Great investigation! @tlylt I can't remember where I mentioned it but again we can also consider introducing some build time validation for these common violations:
|
One more case that is not inside a table. https://nus-cs2103-ay2223s1.github.io/website/schedule/week7/topics.html |
Looks like on the same page there is 1 more Should be this particular table under https://nus-cs2103-ay2223s1.github.io/website/schedule/week7/topics.html#project-management-project-planning-work-breakdown-structure |
Thanks for the investigation @jonahtanjz 💯 |
Is this issue closable? Or is there a more desired fix other than making sure that there are no more invalid html leading to hydration issues and component malfunction? (or are we keeping this issue open to reference to for other similar issues) |
We already have a troubleshooting section on this issue (not fully explained but included a note on missing tbody) here
Will edit the issue to include the TODOs mentioned in #2025 (comment) |
I am not sure why but I do observe this as well. Seems to suggest that some violations (e.g p contains doc ) are "tolerated" while some violations (e.g missing tbody in table) are always (?) reported. Can verify again using https://validator.w3.org to check the syntax I would suggest doing abit more googling to find out...could be due to how browsers implement the HTML spec as well. |
It seems that different browsers have different ways and efforts to fix invalid HTML, resulting in the difference between the original html and the html displayed in the browser. From MDM Web Docs: Permissive Code
So it seems that any violations that can be fixed by the browsers' built-in rules will be "tolerated". |
This should be addressed by yiwen101's PR to make this easier to prevent and fix in the future. Let's close this issue for now unless it resurfances. |
Please confirm that you have searched existing issues in the repo
Yes, I have searched the existing issues
Any related issues?
#2008
Tell us about your environment
n/a
MarkBind version
4.0.1
What did you do? Describe the bug
--
Steps to reproduce
Go to https://nus-tic2002-ay2223s1.github.io/website/schedule/week5/topics.html#W5-5c
Click on the following modal link:
Expected behavior
Page should work normally.
Actual behavior
The modal doesn't have an
X
for closing, and the scrollbar of the parent page disappears even after closing the modal.But no such problem in https://nus-cs2103-ay2223s1.github.io/website/schedule/week5/topics.html#implementation-refactoring-how
Anything else?
Both sites are slight variations of each other. The first is from the
tic2002
branch while the latter is from thecs2103
branch of the same repo https://github.com/nus-cs2103/website-baseThat said, the rest of the content of the page is very different between the two sites as the two module follows different topic orders.
TODO
d.easy
d.moderate (explore and implement one or all of the solutions proposed:
See #2025 (comment)
The text was updated successfully, but these errors were encountered: