Skip to content
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

[BUG] Bleach 6.0.0 breaks escape method at mezzanine/utils/html.py #2054

Open
1 task done
dbeltra opened this issue Feb 28, 2023 · 4 comments
Open
1 task done

[BUG] Bleach 6.0.0 breaks escape method at mezzanine/utils/html.py #2054

dbeltra opened this issue Feb 28, 2023 · 4 comments

Comments

@dbeltra
Copy link

dbeltra commented Feb 28, 2023

Is there an existing issue for this?

  • I have searched the existing Issues

Current Behavior

When trying to save a rich text page you get the following error:

TypeError: unsupported operand type(s) for +: 'frozenset' and 'list'

Expected Behavior

The page should be saved without errors

Steps To Reproduce

  1. Install Mezzanine 6.0.0 and bleach 6.0.0
  2. Create a new project and try to save a page

Environment

* Mezzanine 6.0.0
* Django 4.1.7
* Python 3.8.13
* SQLite 3.38.5
* Darwin 21.4.0

Anything else?

On the latest bleach release, ALLOWED_PROTOCOLS has been changed from list to a frozenset, this is the specific commit: mozilla/bleach@29231a1

This makes this code (https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/utils/html.py#L113) crash:
protocols=ALLOWED_PROTOCOLS + ["tel"] since lists and frozensets can't be added

Downgrading to bleach==5.0.1 fixes the issue.

@Dziugas
Copy link

Dziugas commented Apr 25, 2023

Yup, ran into this one too.

@andr0s
Copy link

andr0s commented May 5, 2023

Yep same

@LordVan
Copy link

LordVan commented Jun 26, 2023

I just changed line 113 to this and it seems to work so far:
protocols=list(ALLOWED_PROTOCOLS) + ["tel"],

molokov added a commit to molokov/mezzanine that referenced this issue Dec 22, 2023
@v6
Copy link

v6 commented Sep 23, 2024

Same env same bug, found LordVan's write up here and it fixed it:

https://blog.lordvan.com/blog/upgrading-mezzanine-forced-to-due-to-move-to-python310/

Maybe worth a PR? Or is there a good reason we can't list() this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants