BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
15.2k stars 1.9k forks source link

compatibility issue with tidy 5.6 #1553

Closed Occyss closed 3 years ago

Occyss commented 5 years ago

Describe the bug There is a compatibility issue with tidy 5.6 that provoke the same issue mentionned in #610 but with every revision pages and without changing the editor.

It works well with tidy 5.4 and for some reason there aren't any version 5.6 for ubuntu (this why there are no problem with a bookstack installation on ubuntu yet).

Related to htmldiff #139

Current Behavior from books/foo/page/bar/revisions only a few characters from each line are showing.

Steps to Reproduce Docker linuxserver or install bookstack in a centos/redhat VM (with tidy 5.6) then :

Screenshots Example : https://ibb.co/37BJ5DF Actually the hole page is like : https://ibb.co/BcCFvj4

Your Configuration (please complete the following information):

Additional context What I have tried :

On my redhat VM, I could fix the issue by :

thelamer commented 5 years ago

If any developers are looking and have a local docker setup you can debug this image using this compose file:

---
version: "2"
services:
  bookstack:
    image: lsiodev/bookstack:v0.26.3-pkg-7e80b73c-dev-be7359e1a7579d9ee3a76039278ce4a0369bcb5d
    container_name: bookstack
    environment:
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS=bookpass
      - DB_DATABASE=bookstackapp
    ports:
      - 6875:80
      - 8000:8000
    restart: unless-stopped
    depends_on:
      - bookstack_db
  bookstack_db:
    image: linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - MYSQL_ROOT_PASSWORD=bookpass
      - TZ=Europe/London
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=bookpass
    restart: unless-stopped

This will spinup bookstack on 6875 and a web based IDE to modify code and debug on 8000.

Downstream we will hack the previous version of the lib pending updates from you.

ssddanbrown commented 4 years ago

Thanks for the detailed report @Occyss and apologies for my really late reply.

Also thanks @thelamer for the container with the built-in editor, That is just some awesome magic. Worked great for debugging.

Have spent some time tracking this down, Found the following:

Upstream issues

Findings

Looks like this is fixed in more recent tidy versions, but those versions are not widespread or really published as of yet.

Interestingly, My dev environment is on Ubuntu 19.10 and I appear to have tidy 5.6 installed but I do not get the issue. From what I can see, maintainers have back-ported patches to 5.6 hence fixing this.

Possible Fixes

ssddanbrown commented 3 years ago

I went with the last option here, and ported an alternative library to PHP for use in BookStack: https://github.com/ssddanbrown/HtmlDiff

This is ready to be part of the next release, v0.31, so I'll close this off as it will no longer apply on the current master branch on future releases.

Thanks again for the detailed report @Occyss