question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

FYI: ad blocker blocking streamlit generated UI elements

See original GitHub issue

Summary

At least one widely distributed ad blocker filtering list is stripping streamlit buttons out of web pages.

Note: I don’t think this is a bug in streamlit, but it does affect people who use streamlit, and maybe there’s something that you can do to prevent it from happening. Either way you should know. See: https://github.com/yourduskquibbles/webannoyances/issues/301

Steps to reproduce

Code snippet:

Using

st.button("Any button label")

in Safari with AdGuard with the “Web Annoyances Ultralist” filter. Possibly other ad blockers that use the same filtering will have the same effect.

This is testable on https://share.streamlit.io/arielcedola/kmeans/main/kmeans_app.py

Expected behavior:

Should always show a button. Compare this with actual. Screen Shot 2021-05-14 at 7 41 30 PM

Actual behavior:

Does not show a button because the button is blocked.

Screen Shot 2021-05-14 at 7 42 48 PM

Debug info

  • Streamlit version: 0.82.0
  • Python version: Python 3.9.5
  • Using Conda? PipEnv? PyEnv? Pex? No
  • OS version: macOS 10.15.7
  • Browser version: Safari 14.0.3 (15610.4.3.1.7, 15610)

Additional information

AdGuard for Safari with Web Annoyances Ultralist enabled

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7

github_iconTop GitHub Comments

1reaction
kmcgradycommented, May 28, 2021

Hey, thanks for the additional feedback here.

After talking it over with the product team, we decided to not adjust the CSS naming. We believed that this is not a widespread issue, and the webannoyances filter has a challenge and responsibility of selecting elements correctly and cannot satisfy every website (Streamlit apps in this case). It is possible to fork the webannoyances list, remove the filter, and either create a PR or use the fork, as necessary.

1reaction
fiendishcommented, May 24, 2021

I know it’s unfair to suggest that streamlit engage in cat-and-mouse with arbitrary filters on the web, but maybe streamlit might avoid using .stButton because of this?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Introducing multipage apps! - Streamlit Blog
Quickly and easily add more pages to your Streamlit apps.
Read more >
What is the easiest way to create a GUI using python - Reddit
Easiest solution is moving your long running task to a separat thread so it doesn't block the main thread tkinter is using.
Read more >
Ask HN: Who wants to be hired? (July 2022) - Hacker News
My crowning project is called IVD (github.com/irischase/IVD) which is a GUI programming language and implementation; it's also: A bad way to try to...
Read more >
Diff - external/webrtc/trunk/talk - Google Git
Removed passing of version_full variable created in version.gypi: ... figure out if this works for ios or if it - # needs a...
Read more >
SEO Tips & Google Algorithm Updates Wrapped Up Every Week
The top SEO tools, tips, insights, and Google Algorithm Updates from industry leaders. Hand picked tweets, contextualized every week via ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found