pentargency / 4chan-xl

Adds various features to anonymous imageboards.
https://4chan-xl.kickin.rocks/
Other
3 stars 0 forks source link

[external] Firemonkey image download issues #3

Open pentargency opened 1 year ago

pentargency commented 1 year ago

on firemnkey on firefox, after using the little download icon to download an image, successive downloads in the same thread return "error cannot download ....jpg".

erosman commented 1 year ago

Few small general suggestions compatible with all userscript managers

@match performs better

// @include      http://boards.4chan.org/*
// @include      https://boards.4chan.org/*

Performs better as:

// @match        *://boards.4chan.org/*

Therefore ...

// @match        *://boards.4chan.org/*
// @match        *://sys.4chan.org/*
// @match        *://www.4chan.org/*
// @match        *://boards.4channel.org/*
// @match        *://sys.4channel.org/*
// @match        *://www.4channel.org/*
// @match        *://i.4cdn.org/*
// @match        *://is.4chan.org/*
// @match        *://is2.4chan.org/*
// @match        *://is.4channel.org/*
// @match        *://is2.4channel.org/*
// @match        https://erischan.org/*
// @match        https://www.erischan.org/*
// @match        https://fufufu.moe/*
// @match        https://gnfos.com/*
// @match        https://himasugi.blog/*
// @match        https://www.himasugi.blog/*
// @match        https://kakashinenpo.com/*
// @match        https://www.kakashinenpo.com/*
// @match        https://kissu.moe/*
// @match        https://www.kissu.moe/*
// @match        https://lainchan.org/*
// @match        https://www.lainchan.org/*
// @match        https://merorin.com/*
// @match        https://ota-ch.com/*
// @match        https://www.ota-ch.com/*
// @match        https://ponyville.us/*
// @match        https://www.ponyville.us/*
// @match        https://smuglo.li/*
// @match        https://notso.smuglo.li/*
// @match        https://smugloli.net/*
// @match        https://smug.nepu.moe/*
// @match        https://sportschan.org/*
// @match        https://www.sportschan.org/*
// @match        https://sushigirl.us/*
// @match        https://www.sushigirl.us/*
// @match        https://tvch.moe/*
// @exclude      *://www.4chan.org/advertise
// @exclude      *://www.4chan.org/advertise?*
// @exclude      *://www.4chan.org/donate
// @exclude      *://www.4chan.org/donate?*
// @exclude      *://www.4channel.org/advertise
// @exclude      *://www.4channel.org/advertise?*
// @exclude      *://www.4channel.org/donate
// @exclude      *://www.4channel.org/donate?*

@connect

// @connect      4chan.org
// @connect      4channel.org
// @connect      4cdn.org
// @connect      4chenz.github.io
// @connect      archive.4plebs.org
// @connect      warosu.org
// @connect      desuarchive.org
// @connect      boards.fireden.net
// @connect      arch.b4k.co
// @connect      archived.moe
// @connect      thebarchive.com
// @connect      archiveofsins.com
// @connect      www.tokyochronos.net
// @connect      archive.alice.al
// @connect      api.clyp.it
// @connect      api.dailymotion.com
// @connect      api.github.com
// @connect      soundcloud.com
// @connect      api.streamable.com
// @connect      vimeo.com
// @connect      www.youtube.com
// @connect      *

Having @connect * makes all other entries irrelevant. Furthermore, with @connect * (supported by TM) it means everything, which is the same as not having it at all.

GM3 & GM4 API

if (typeof GM_deleteValue !== "undefined" && GM_deleteValue !== null) { }

// same as
if (typeof GM_deleteValue === 'function') { }

// Similarly ...

// typeof GM !== "undefined" && GM !== null 
typeof GM === 'object'

// typeof GM_info !== "undefined" && GM_info !== null
typeof GM_info === 'object'

// typeof GM_openInTab !== "undefined" && GM_openInTab !== null
typeof GM_openInTab === 'function'

// typeof GM_addValueChangeListener === "undefined" || GM_addValueChangeListener === null
typeof GM_addValueChangeListener === 'function'

// typeof GM_xmlhttpRequest !== "undefined" && GM_xmlhttpRequest !== null
typeof GM_xmlhttpRequest === 'function'