Clear URLs when copying/sharing a link
See original GitHub issueBasically 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:
- Created 2 years ago
- Reactions:1
- Comments:5 (3 by maintainers)
Top GitHub Comments
Hey @Luensche, thanks for showing interest. Hopefully this will convince you (and others!):
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.
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).
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.