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.

Clear URLs when copying/sharing a link

See original GitHub issue

Basically if you’ve ever tried to copy/share a link from your Android device, chances are the 3rd-party app(s) you are copying the URL from add(s) their own tracking parameters to it, like so: https://www.amazon.com/dp/exampleProduct/ref=sxin_0_pb?__mk_de_DE=ÅMÅŽÕÑ&keywords=tea&pd_rd_i=exampleProduct&pd_rd_r=8d39e4cd-1e4f-43db-b6e7-72e969a84aa5&pd_rd_w=1pcKM&pd_rd_wg=hYrNl&pf_rd_p=50bbfd25-5ef7-41a2-68d6-74d854b30e30&pf_rd_r=0GMWD0YYKA7XFGX55ADP&qid=1517757263&rnid=2914120011

With the implementation of this new feature, Florisboard will automatically strip away all unneeded parameters from the URL, and therefore the URL will end up looking like: https://www.amazon.com/dp/exampleProduct

A popular browser extension for this very purpose already exists. More can be read on the ClearURLs repo. In fact, the idea is directly borrowed from there.

It would be great to see this feature implemented in Florisboard as well. The team at ClearURLs regularly updates this data as and provides it as minified JSON. As of today, this file sits at ~75KB, so this data could be shipped as part of Florisboard, and can be queried each time before modifying the URL. Maybe app/src/main/assets/ime/config.json is a good place to add this data?

Usually I would have supported this feature request (issue) with a PR of some sort, however, my current dev setup makes it hard to set this project up. If anybody else also feels like this would be a good addition, I did a little bit of digging, and I think this might be a good place to start.

LMK if I need to provide more info! This is a great project; thank you for continuing to work on it. ❤️

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:1
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
yeskunallcommented, Jun 15, 2021

Hey @Luensche, thanks for showing interest. Hopefully this will convince you (and others!):

Isn’t this better off in your trusted browser?

I think this should be implemented by the (mobile) browser separately, but I would argue that links can be copied from and pasted into more than just a browser.

See screenshot

Regardless of how I choose to share the song from Spotify, the app will add:

https://open.spotify.com/track/0XRJCK2hggV2k3YVMzZDei?si=<WE_PROBABLY_DONT_WANT_THIS>&utm_source=<WE_PROBABLY_DONT_NEED_THIS_EITHER>&context=<THIS_TOO>&dl_branch=<AND_SO_ON>

In this instance, it would be nice if Florisboard could auto-detect the unneeded (and tracking) parts of the URL and simply strip them away when they are first added to the clipboard. At that point, the URL will still be perfectly valid and reachable at https://open.spotify.com/track/0XRJCK2hggV2k3YVMzZDei (and I would also argue, will look a lot cleaner too)

I think this is worthwhile considering Florisboard already takes steps to enhance the security of its users. Happy to answer any other concerns you may have.

0reactions
patrickgoldcommented, Jun 5, 2022

I’m not an expert on licensing software, but I am curious: is FlorisBoard’s license or the GNU LGPLv3 license that you think is less permissive?

I consider LGPLv3 is less permissive, because it requires projects that want to use the work to also use LGPLv3 or GPLv3. Quote: “Permissions of this copyleft license are conditioned on making available complete source code of licensed works and modifications under the same license or the GNU GPLv3”. That condition alone requires me to make a big circle around work licensed with the GPL variants.

Then there’s this sentence: “However, a larger work using the licensed work through interfaces provided by the licensed work may be distributed under different terms and without source code for the larger work.”. I am not a license expert, however I think this means I am allowed to use public interfaces of LGPLv3 licensed work but still am not allowed to statically include it in my Apache 2.0 licensed work (which I need to do at least with the JSON database of ClearURLs to be able to use it).

Like I said I am not a license expert nor do I know if there are other exceptions for “large work” in the LGPLv3, where I am allowed to ship LGPLv3 licensed files (even if it is just one JSON file).

I really like FlorisBoard, and I would really like to see this feature integrated into it, so I am going to keep this issue open, too, in hopes that someone more knowledgeable than I can chime in as well.

That’s great to hear, thanks! I also think this could be a cool feature so I am currently trying to evaluate if there’s a way to use ClearURLs’ database in this project, however when it comes to licenses I always want to be on the safe side before doing a copyright violation.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ClearURLs
This extension will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet.
Read more >
How to figure out which junk you can remove from URLs - Zapier
Click a link in an email from us, and the URL in your address bar will ... If you're unsure, just try out...
Read more >
Copying, sharing and opening links on iPhone - YouTube
In this episode we'll show you how to use Safari on your iPhone. You will learn how to copy link URLs or share...
Read more >
ClearURLs – Get this Extension for Firefox (en-US)
This extension will automatically remove tracking elements from URLs to help protect your privacy when browsing through the Internet.
Read more >
ClearURLs
Many websites use tracking elements in the URL to mark your online activity. All that tracking code is not necessary for a website...
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