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

Add option to automaticly change image hash #3281

Open
wants to merge 1,976 commits into
base: settings
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1976 commits
Select commit Hold shift + click to select a range
318cbf1
Fix parsing of spoilered images on kissu.moe.
ccd0 Dec 20, 2019
de3ea5b
Release 4chan X v1.14.16.0.
ccd0 Dec 20, 2019
2e0ae4b
Update location of archive list. #2520
ccd0 Dec 30, 2019
452d6c6
Release 4chan X v1.14.15.3.
ccd0 Dec 30, 2019
13bc1d5
Merge branch 'bstable'
ccd0 Dec 30, 2019
ae9f37e
Update version threshold for archive list change for beta version. #2520
ccd0 Dec 30, 2019
4c41f00
Release 4chan X v1.14.16.1.
ccd0 Dec 30, 2019
89b4cab
Make sure audio element with added controls is not collapsed e.g. htt…
ccd0 Jan 1, 2020
9b4e26b
Release 4chan X v1.14.16.2.
ccd0 Jan 1, 2020
26e3201
Update README.md
nstepien Jan 1, 2020
e0bad50
Update Vocaroo embedding. #2528
ccd0 Jan 21, 2020
44e7be7
Update archive list.
ccd0 Jan 21, 2020
1bb967d
Release 4chan X v1.14.16.3.
ccd0 Jan 21, 2020
4f20d47
Fix for unclosed link in https://sushigirl.us/ announcement.
ccd0 Feb 3, 2020
0857c8c
Release 4chan X v1.14.16.4.
ccd0 Feb 5, 2020
f91a5eb
Update description.
ccd0 Feb 17, 2020
6015152
Note about Youtube terms in README.md.
ccd0 Feb 18, 2020
cbc1b50
Add privacy link to header.
ccd0 Feb 18, 2020
2e8679a
Build web page.
ccd0 Feb 18, 2020
3a487b3
Fix clash of page list with header on https://tvch.moe/.
ccd0 Mar 6, 2020
7c2c635
Enable 4chan X by default on more sites.
ccd0 Mar 6, 2020
fffa179
Release 4chan X v1.14.16.5.
ccd0 Mar 6, 2020
4529ae0
Fix description exceeding maximum length.
ccd0 Mar 24, 2020
3b938f4
Release 4chan X v1.14.16.6.
ccd0 Mar 24, 2020
c2874c1
Fix bug causing some sections on advanced settings not to show up out…
ccd0 Mar 28, 2020
84e6510
Sauce: Update DeviantArt URL format. #2563
ccd0 Mar 29, 2020
e3a29ab
Sauce: Update ImgOps URL format.
ccd0 Mar 29, 2020
5070f2c
Update Gfycat embedding.
ccd0 Mar 29, 2020
96bb1d6
Update Openings.moe embedding.
ccd0 Mar 29, 2020
d9eb3ae
Update LiveLeak embedding.
ccd0 Mar 30, 2020
4036c82
Don't replace link with title if API doesn't provide title.
ccd0 Mar 30, 2020
63d62c2
Release 4chan X v1.14.16.7.
ccd0 Mar 30, 2020
d0b4927
Preliminary support for new Kissu UI.
ccd0 Apr 1, 2020
7926894
Eliminate needless normalize().
ccd0 Apr 1, 2020
27a980a
Release 4chan X v1.14.17.0.
ccd0 Apr 1, 2020
76a0775
Fix 'Mark Read' link in 'Unread Line in Index' being placed in wrong …
ccd0 Apr 3, 2020
ae55959
No longer needed since 76a07759d895d6c0937ed7852f3eb9277b3b2100.
ccd0 Apr 3, 2020
f8c2483
Release 4chan X v1.14.17.1.
ccd0 Apr 3, 2020
55022db
Update devDependencies.
ccd0 Apr 12, 2020
ed93048
Merge branch 'bstable'
ccd0 Apr 12, 2020
5262b34
Remove example for allowing banner ads as it has not been kept up to …
ccd0 Apr 16, 2020
bd1caa2
Add hcaptcha.com and subdomains to Javascript Whitelist so that captc…
ccd0 Apr 16, 2020
a861c7a
Release 4chan X v1.14.17.2.
ccd0 Apr 16, 2020
dec5068
Update dump list CSS
saxamaphone69 Apr 18, 2020
6a22650
Remove -moz prefix
saxamaphone69 Apr 18, 2020
9e8ebbb
Require appropriate src attribute on all captcha-related iframes. #2531
ccd0 Apr 19, 2020
c5b693a
Release 4chan X v1.14.17.3.
ccd0 Apr 19, 2020
b8640a3
Revert "Increase link title cache size. #2327"
ccd0 Apr 27, 2020
ac8adbd
Revert "Add option to use your own Youtube API key. #2327"
ccd0 Apr 27, 2020
5b805c7
Revert "Never mark Youtube videos as 'Forbidden or Private' since 403…
ccd0 Apr 27, 2020
e8db66c
Revert "Cache titles to reduce title requests. #2327"
ccd0 Apr 27, 2020
6eeb6a9
Switch to noembed.com for Youtube titles. #2327
ccd0 Apr 27, 2020
478fbb5
Use oEmbed for Clyp link title so that it works in Chrome extension w…
ccd0 Apr 27, 2020
0a1f12b
Merge remote-tracking branch 'saxamaphone69/patch-1'
ccd0 Apr 27, 2020
21e28f4
Remove referral links.
ccd0 Apr 28, 2020
10812c8
Add AZcaptcha to solver service links.
ccd0 Apr 28, 2020
4bb99d9
Handle forwarded errors from noembed.com. #2327
ccd0 Apr 28, 2020
f6c736c
Include status 401 as 'Forbidden or Private'.
ccd0 Apr 28, 2020
81df431
Release 4chan X v1.14.18.0.
ccd0 Apr 28, 2020
cd637e1
Support smuglo.li fallback domains.
ccd0 Apr 30, 2020
8434f13
Release 4chan X v1.14.18.1.
ccd0 Apr 30, 2020
1f2e25b
Fix Gallery 'Stretch to Fit' on sites with multifile posting.
ccd0 Apr 30, 2020
9f6b8c2
Fix issue where shift-click on Quick Reply submit to bypass warning d…
ccd0 May 1, 2020
6411692
Release 4chan X v1.14.19.0.
ccd0 May 12, 2020
60976cc
Add link on recently-departed Samachan to proposed move to SushiChan.
ccd0 May 19, 2020
a5cc266
Release 4chan X v1.14.19.1.
ccd0 May 19, 2020
fde01e2
Revert "Add link on recently-departed Samachan to proposed move to Su…
ccd0 May 21, 2020
f326074
Release 4chan X v1.14.19.2.
ccd0 May 21, 2020
dd4efa6
Link former Samachan users to SushiChan with one-time notification.
ccd0 May 24, 2020
2516a61
Fix videos not being prefetched properly by prefetch button. #2601
ccd0 May 24, 2020
a42a211
Release 4chan X v1.14.19.3.
ccd0 May 24, 2020
5791268
Update Twitch embedding.
ccd0 Jun 11, 2020
510603e
Release 4chan X v1.14.19.4.
ccd0 Jun 11, 2020
44ca4c3
Fix 'Reveal Spoiler Thumbnails' on .bmp files.
ccd0 Jun 16, 2020
1fc7fde
Make image features work with .webp images.
ccd0 Jun 16, 2020
38be18e
Make embedding work with .webp links. #365
ccd0 Jun 16, 2020
115390f
Make video features work with .ogv videos.
ccd0 Jun 16, 2020
455feab
Release 4chan X v1.14.20.0.
ccd0 Jun 16, 2020
f96810f
Update for 4chan /vg/ change.
ccd0 Aug 24, 2020
d0044d6
Release 4chan X v1.14.20.1.
ccd0 Aug 24, 2020
f3de925
Fix index not working on /vg/ when sort mode is last reply. https://g…
ccd0 Aug 24, 2020
e2a62f7
Release 4chan X v1.14.20.2.
ccd0 Aug 24, 2020
dab5b96
Update vocaroo media link
nonasol Sep 12, 2020
bde00cf
Release 4chan X v1.14.20.3.
ccd0 Sep 13, 2020
06062d6
Update README.md
4chenz Oct 4, 2020
e4bd145
Update archives.json
4chenz Oct 4, 2020
f1eaae1
add tokyochronos
4chenz Oct 4, 2020
a32bc5a
.
4chenz Oct 4, 2020
e144132
..
4chenz Oct 4, 2020
2040b94
Change default archives list to https://4chenz.github.io/archives.jso…
ccd0 Oct 7, 2020
6fc065d
Update archive list.
ccd0 Oct 7, 2020
7742edd
Release 4chan X v1.14.20.4.
ccd0 Oct 7, 2020
52b22f7
do not clone opened menu
ihavenoface Oct 28, 2020
49a4d8c
add sauce to gallery
thth Nov 7, 2020
27cc4ab
fix typo
thth Nov 7, 2020
852f274
Added keybind to download images in gallery viewer
Nov 14, 2020
81b5d52
add Posts Per Minute
4chenz Nov 19, 2020
84abc49
b4k.co removed /jp/
4chenz Nov 20, 2020
81b743e
Update Safari installation instructions
olavfosse Nov 26, 2020
518422c
Build web page.
olavfosse Nov 26, 2020
58716a7
TokyoChronos removed /g/
4chenz Jan 6, 2021
f53c22e
new threads to top
4chenz Nov 19, 2020
a631132
use native oembed for youtube link titles
ihavenoface Jan 13, 2021
fb2c5e3
Update archive list.
ccd0 Jan 14, 2021
4d1fe80
Release 4chan X v1.14.20.5.
ccd0 Jan 14, 2021
3bc94cd
Merge remote-tracking branch 'fossegrim/fix-safari-instructions'
ccd0 Jan 14, 2021
8f767e0
Merge remote-tracking branch 'thth/patch-1'
ccd0 Jan 14, 2021
ad0d0bd
Build web page.
ccd0 Jan 14, 2021
1cd08a3
Fix typo.
ccd0 Jan 14, 2021
f181b3b
Build web page.
ccd0 Jan 14, 2021
29cea4c
Update devDependencies.
ccd0 Jan 14, 2021
f66044e
Update devDependencies, major version updates.
ccd0 Jan 14, 2021
41c16d2
Merge remote-tracking branch 'ihavenoface/remove-menu-from-clone'
ccd0 Jan 14, 2021
3b4bc9d
Merge remote-tracking branch 'thth/master'
ccd0 Jan 14, 2021
c8068ee
Sanitize data-file attribute from page. #2845
ccd0 Jan 14, 2021
690d532
Merge remote-tracking branch 'jakem72360/download-keybind'
ccd0 Jan 14, 2021
0b84b49
Merge remote-tracking branch '4chenz/master'
ccd0 Jan 14, 2021
60fc13a
Make capitalization consistent. #2854
ccd0 Jan 14, 2021
4ae2924
Add Youtube to Tampermonkey XHR domain whitelist.
ccd0 Jan 15, 2021
76b867d
Release 4chan X v1.14.20.6.
ccd0 Jan 15, 2021
ee8f021
Merge branch 'bstable'
ccd0 Jan 15, 2021
a528604
Release 4chan X v1.14.21.0.
ccd0 Jan 15, 2021
29d3725
Added option to open dead threads
puckzxz Jan 23, 2021
5f913d3
Nyafuu now archives /vt/
jgmdes Feb 1, 2021
e37941b
Merge pull request #1 from jgmdes/patch-1
4chenz Feb 2, 2021
981675d
Add ability to clear whole thread watcher
paradox460 Feb 6, 2021
aff3976
Add a button to quick reply to split long posts
paradox460 Feb 6, 2021
24c7f0f
warosu archives /vt/
4chenz Feb 6, 2021
bbb5785
Add confirmation for thread cleaning
paradox460 Feb 6, 2021
93e9510
Add a menu item to open unread in ThreadWatcher
paradox460 Feb 25, 2021
b32c825
add wakarimasen
4chenz Feb 26, 2021
2f959f4
TokyoChronos archives /g/ and /vt/
4chenz Mar 14, 2021
d470333
TokyoChronos adds /a/, search is enabled on all boards
4chenz Mar 17, 2021
01296fa
TokyoChronos archives /r9k/
4chenz Mar 18, 2021
ec29077
Archived.Moe now archives pw, qb, vt and xs
4chenz Apr 6, 2021
3e8fa21
Rebecca Black Tech is now merged to Desuarchive
haruhianon609 Apr 11, 2021
3f4101b
Merge pull request #3 from haruhianon609/haruhianon609-patch-1
4chenz Apr 12, 2021
872f22e
b4k adds /qb/
4chenz Apr 18, 2021
dc9f75b
TokyoChronos removes /a/, /g/, /jp/ and /vrpg/
4chenz Apr 26, 2021
f3415c9
Revert "TokyoChronos removes /a/, /g/, /jp/ and /vrpg/"
4chenz Apr 26, 2021
2e2fe4a
Use $.queueTask (MessageChannel based) instead of setTimeout.
ccd0 May 6, 2021
d65a607
Revert "Use $.queueTask (MessageChannel based) instead of setTimeout."
ccd0 May 6, 2021
681b6f7
Fix race condition on 4chan /g/ and /sci/.
ccd0 May 6, 2021
84e423d
Update for flag changes on /mlp/ and /pol/.
ccd0 May 6, 2021
18cffc1
Update built posts for loading=lazy change in HTML.
ccd0 May 6, 2021
6bab67a
Add arch.b4k.co file information.
viliml May 6, 2021
e884628
Update board flag search on archive.
ccd0 May 6, 2021
b37b8f5
Fix flag field being blank instead of showing None if set on another …
ccd0 May 6, 2021
db42cb8
Remove obsolete April Fools stuff from post building.
ccd0 May 6, 2021
378d314
Remove dead site Samachan from default includes.
ccd0 May 6, 2021
1c3983e
Merge pull request #4 from viliml/patch-1
4chenz May 6, 2021
ca68bfd
TokyoChronos removes /vrpg/
4chenz May 6, 2021
b1102fe
Update archive list.
ccd0 May 6, 2021
517c960
Release 4chan X v1.14.21.1.
ccd0 May 6, 2021
e8682c3
Fix bug introduced in v1.14.21.1 causing error message when menu opened.
ccd0 May 7, 2021
0308b7a
Release 4chan X v1.14.21.2.
ccd0 May 7, 2021
36a3e7c
Fix race condition causing unread posts tracking to malfunction.
ccd0 May 7, 2021
72f35df
Release 4chan X v1.14.21.3.
ccd0 May 7, 2021
a4d319d
Removed dead link to archives.json repository
danielxox May 8, 2021
6bae740
Merge remote-tracking branch 'puckzxz/master'
ccd0 May 8, 2021
096086c
Merge remote-tracking branch 'paradox460/add-open-unread-to-watch'
ccd0 May 8, 2021
227bd82
Clean up selectors for Thread Watcher open thread links.
ccd0 May 8, 2021
4c2940c
Clean up excess whitespace.
ccd0 May 8, 2021
d2fec73
Merge branch 'tw-open-links'
ccd0 May 8, 2021
cd68ba1
Preliminary support for new first-party captcha on 4chan.
ccd0 Jul 5, 2021
14c4df1
Release 4chan X v1.14.21.4.
ccd0 Jul 5, 2021
a6f78ad
Fix bug causing captcha to sometimes not work when replying from index.
ccd0 Jul 7, 2021
cb68f43
Release 4chan X v1.14.21.5.
ccd0 Jul 7, 2021
c5694db
Merge branch 'bstable'
ccd0 Jul 7, 2021
c8c293e
Fix error reported in #3121.
ccd0 Jul 8, 2021
f2ac226
Assume new captcha on pages without post form.
ccd0 Jul 8, 2021
1fe7fd7
Release 4chan X v1.14.21.6.
ccd0 Jul 8, 2021
f0c7afe
Merge branch 'bstable'
ccd0 Jul 8, 2021
c98f3ba
Fix error reported in #3124.
ccd0 Jul 8, 2021
4e37f21
Don't warn on posting without captcha when "Verification not required."
ccd0 Jul 8, 2021
e81913a
Release 4chan X v1.14.21.7.
ccd0 Jul 8, 2021
e6c1f55
Merge branch 'bstable'
ccd0 Jul 8, 2021
c8c95a3
Fixed Twitch.tv embeds
WastedMeerkat Oct 19, 2021
c298856
Made the regex check cooler
WastedMeerkat Oct 19, 2021
38087bd
Accomodate mobile Twitch links
WastedMeerkat Oct 20, 2021
ca019d1
Accomodated alternate clip URL scheme
WastedMeerkat Oct 21, 2021
0703782
Fix vocaroo embeds
MFGood Feb 2, 2022
3468ad4
Removed unnecessary line
MFGood Feb 2, 2022
86f070c
add archive.alice.al
4chenz Feb 12, 2022
df4f538
Remove bstats, Nyafuu + updates
4chenz Mar 5, 2022
10426db
warosu removes /g/, /tg/
bzvnr Apr 6, 2022
99a71ba
Merge pull request #5 from bzvnr/gh-pages
4chenz May 13, 2022
8f53fbd
Update devDependencies.
ccd0 May 23, 2022
6e5c3fa
Remove google.com permissions.
ccd0 May 23, 2022
5dc65eb
Remove obsolete 'Captcha Fixes' and 'Captcha Solving Service' options…
ccd0 May 23, 2022
127dd21
Merge remote-tracking branch 'WastedMeerkat/master'
ccd0 May 23, 2022
8fa7020
Merge remote-tracking branch 'PinkCatGoodActually/vocaroofix'
ccd0 May 23, 2022
50d2863
Update archive list.
ccd0 May 23, 2022
85db5f6
Release 4chan X v1.14.22.0.
ccd0 May 23, 2022
779acdb
remove Wakarimasen + updates
4chenz Jun 2, 2022
8bda68f
Remove old /nen/, add successor site.
ccd0 Jul 14, 2022
742ea81
Update archive list.
ccd0 Jul 14, 2022
4df5087
Release 4chan X v1.14.22.1.
ccd0 Jul 14, 2022
2e73d6c
gitreports.com is dead, sadly
ccd0 Jul 14, 2022
f5712a8
Build web page.
ccd0 Jul 14, 2022
59ee8c5
Desuarchive removes /gif/
4chenz Jul 21, 2022
8795b1c
Add Google Lens image search url
4chenz Sep 8, 2022
402679e
desuarchive removes /wsg/ files
notevenaperson Sep 17, 2022
8607118
archived.moe adds /pw/ search, tokyochronos has hosting issues
4chenz Sep 17, 2022
8a6392b
add Eientei
4chenz Jan 14, 2023
451a06f
alice.al domain change
4chenz Jan 16, 2023
2a8bf2a
Disable Javascript Whitelist on captcha iframe. #3292
ccd0 Feb 27, 2023
e9c1529
Make QR post more like original form post. #3330
ccd0 Feb 27, 2023
d16062a
Merge remote-tracking branch '4chenz/master'
ccd0 Feb 27, 2023
f3f03f5
Replace Google image search link with Google Lens.
ccd0 Feb 27, 2023
aef984d
Remove empty space from ads if they don't load. https://kissu.moe/b/r…
ccd0 Feb 27, 2023
1926897
Update Randomize Filename to match current 4chan format. https://boar…
ccd0 Feb 27, 2023
2a47dfd
Catch errors due to "Restricted" selection. #2905
ccd0 Feb 27, 2023
944b042
Update archive list.
ccd0 Feb 27, 2023
27957c2
Release 4chan X v1.14.22.2.
ccd0 Feb 27, 2023
eb25d6e
Update chrome-webstore-upload.
ccd0 Feb 27, 2023
c68a8af
Switch Google image search back to old version, thanks to https://boa…
ccd0 Feb 27, 2023
14e67e9
Release 4chan X v1.14.22.3.
ccd0 Feb 27, 2023
7295b21
Avoid breaking sauce settings of people with links to original Google…
ccd0 Feb 28, 2023
71873cd
Recognize JPEG files with .jfif extensions as images for purposes of …
ccd0 Feb 28, 2023
ea2462e
Release 4chan X v1.14.22.4.
ccd0 Feb 28, 2023
b6c5cf8
Remove dead link to Mayhem documentation
saxamaphone69 Mar 4, 2023
e31438f
upldate youtube
youcmd Apr 7, 2023
4a542a5
Merge remote-tracking branch 'paradox460/split-long-posts-button'
ccd0 Jul 27, 2023
c26f855
implement ccd0's suggestions for improving QR split button pr
pentargency Feb 25, 2023
b209f69
Fix trailing whitespace.
ccd0 Jul 27, 2023
12e8241
Switch to new post so the text gets added in the correct post.
ccd0 Jul 27, 2023
103c984
Merge remote-tracking branch 'paradox460/clear-thread-watcher'
ccd0 Jul 28, 2023
ca4b4ae
Remove TokyoChronos
4chenz Aug 16, 2023
447a953
Updated Embedding.coffee to include YouTube shorts
kpg-anon Dec 13, 2023
c49bae2
Fix import from 4chan XT by not assuming every 2. is loadletter/4chan-x
TuxedoTako Dec 27, 2023
7ce290a
fallback when XPCNativeWrapper is unavailable
edde746 Dec 27, 2023
efed1ab
MP4 support
4chenz Nov 19, 2024
dd01b1a
4channel.org domain is no more; fix issue with links not being bold i…
ccd0 Nov 20, 2024
7dfba22
Fix for unwanted sorting of catalog under certain settings. #3212
ccd0 Nov 20, 2024
419e90c
Turn JS Whitelist functionality off by default.
ccd0 Nov 20, 2024
9a95dd5
Update archive list.
ccd0 Nov 20, 2024
6400acb
Release 4chan X v1.14.23.0.
ccd0 Nov 20, 2024
84854d5
Merge remote-tracking branch 'origin/saxamaphone69-patch-1'
ccd0 Nov 20, 2024
9f56374
Merge remote-tracking branch 'youcmd/patch-1'
ccd0 Nov 20, 2024
a303a14
Merge remote-tracking branch 'kpg-anon/shorts'
ccd0 Nov 20, 2024
91c01dd
Merge remote-tracking branch 'TuxedoTako/fix-2.-import'
ccd0 Nov 20, 2024
1231c74
Merge remote-tracking branch 'edde746/master'
ccd0 Nov 20, 2024
7df2750
Better way of turning off JS Whitelist.
ccd0 Nov 20, 2024
62e4ccf
Update documentation.
ccd0 Nov 20, 2024
3f23ec4
Release 4chan X v1.14.23.1.
ccd0 Nov 20, 2024
6ef5342
MP4 support
4chenz Nov 19, 2024
ad57ed0
Update archive list.
ccd0 Nov 20, 2024
91ae281
Release 4chan X v1.14.22.5.
ccd0 Nov 20, 2024
920bd1e
Merge branch 'bstable'
ccd0 Nov 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ node_modules/
/.events2
/dist/
/builds/*.gz
/test/
7 changes: 7 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dist: xenial
language: generic
install: npm install
script: make
branches:
only:
- master
1,350 changes: 1,347 additions & 3 deletions CHANGELOG.md

Large diffs are not rendered by default.

24 changes: 14 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,26 @@

Bug reports and feature requests for 4chan X are tracked at **https://github.com/ccd0/4chan-x/issues?q=is%3Aopen+sort%3Aupdated-desc**.

You can submit a bug report / feature request either via your Github account or the [anonymous report form](https://gitreports.com/issue/ccd0/4chan-x).
You can submit a bug report / feature request via your Github account.

If you're reporting a bug, the more detail you can give, the better. If I can't reproduce your bug, I probably won't be able to fix it. You can help by doing the following:

1. Include precise steps to reproduce the problem, with the expected and actual results.
2. **Please mention any other extensions / scripts you are using.** To check if a bug is due to a conflict with another extension, temporarily disable any other extensions and userscripts. If the bug goes away, turn them back on one by one until you find the one causing the problem.
3. Make sure your **browser**, **4chan X**, and (if applicable) **Greasemonkey** are up to date. Include the versions you're using in bug reports.
4. Test if the bug occurs with 4chan X disabled and using the native extension. If it does, it's likely a problem with 4chan or your browser rather than with 4chan X.
5. Open your console with Shift+Control+J (⇧⌘J on OS X Firefox, ⌘⌥J on OS X Chromium), and look for any error messages, especially ones that occur at the same time as the bug. Include these in your bug report. If you're using Firefox, be sure to check the browser console (Shift+Control+J), not the web console (Shift+Control+K) as errors may not show up in the latter.
2. Make sure your browser, 4chan X, and userscript manager (e.g. Greasemonkey, ViolentMoney, or Tampermonkey) are up to date. **Include the versions you're using in bug reports.**
3. Open your console with Shift+Control+J (⇧⌘J on OS X Firefox, ⌘⌥J on OS X Chromium), and **look for error messages**, especially ones that occur at the same time as the bug. Include these in your bug report. If you're using Firefox, be sure to check the browser console (Shift+Control+J), not just the web console (Shift+Control+K) as errors may not show up in the latter. Messages about "Content Security Policy" are expected and can be ignored.
4. If other people (including me) aren't having your problem, **test whether it happens in a fresh profile**. Here are instructions for [Firefox](https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles) and [Chromium](https://developer.chrome.com/devtools/docs/clean-testing-environment).
5. **Please mention any other extensions / scripts you are using.** To check if a bug is due to a conflict with another extension, temporarily disable any other extensions and userscripts. If the bug goes away, turn them back on one by one until you find the one causing the problem.
6. To test if the bug occurs under the default settings or only with specific settings, back up your settings and reset them using the **Export** and **Reset Settings** links in the settings panel. If the bug only occurs under specific settings, upload your exported settings to a site like https://paste.installgentoo.com/, and link to it in your bug report. If your settings contains sensitive information (e.g. personas), edit the text file manually.
7. Test if the bug occurs using the **native extension** with 4chan X disabled. If it does, it's likely a problem with 4chan or your browser rather than with 4chan X.

## Development & Contribution

### Get started

- Install [git](https://git-scm.com/), [node.js](https://nodejs.org/), and [npm](https://www.npmjs.com/) (usually distributed with node), and GNU Make (on Windows, the [MinGW](http://www.mingw.org/) port will work).
- Install [git](https://git-scm.com/), [node.js](https://nodejs.org/), [npm](https://www.npmjs.com/) (usually distributed with node), and GNU Make (on Windows, the [MinGW](http://www.mingw.org/) port will work, and the [GnuWin](http://gnuwin32.sourceforge.net/) port has been reported to work as well).
- Clone 4chan X: `git clone https://github.com/ccd0/4chan-x.git`<br>(If this is taking too long, you can add `--depth 100` to fetch only recent history.)
- Open the directory: `cd 4chan-x`
- Fetch needed dependencies with: `npm install`

### Build

Expand All @@ -29,16 +31,18 @@ If you're reporting a bug, the more detail you can give, the better. If I can't

- 4chan X is mostly written in [CoffeeScript](http://coffeescript.org/). If you're already familiar with Javascript, it doesn't take long to pick up.
- Edit the sources in the src/ directory (not the compiled scripts in builds/).
- Compile the script with: `grunt`
- Fetch needed dependencies with: `npm install`
- Compile the script with: `make`
- Install the compiled script (found in the testbuilds/ directory), and test your changes.
- Make sure you have set your name and email as you want them, as they will be published in your commit message:<br>`git config user.name yourname`<br>`git config user.email youremail`
- Commit your changes: `git commit -a`
- Open a pull request by doing any of the following:
- Fork this repository on Github, push your changes to your fork, and make a pull request through the Github website.
- Push your changes to any online Git repository, and [open an issue](https://gitreports.com/issue/ccd0/4chan-x) with an explanation of your changes and the URL, branch, and commit you want me to pull from.
- Export your changes via `git bundle` (e.g. `git bundle create file.bundle master..your-branch`), and upload them to a file host like https://jii.moe/. Then [open an issue](https://gitreports.com/issue/ccd0/4chan-x) with an explanation of your changes and the URL of the file.
- Push your changes to any online Git repository, and send an email with an explanation of your changes and the URL, branch, and commit you want me to pull from.
- Export your changes via `git bundle` (e.g. `git bundle create file.bundle master..your-branch`), and upload them to a file host. Then send an email with an explanation of your changes and the URL of the file.

Archive list updates should go to https://github.com/MayhemYDG/archives.json.
Pull requests to archive.json should be sent upstream: https://github.com/4chenz/archives.json
4chan X updates from there automatically.

### More info

Expand Down
97 changes: 38 additions & 59 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ ifdef ComSpec
BIN := $(subst /,\,node_modules/.bin/)
RMDIR := -rmdir /s /q
RM := -del
CAT = type $(subst /,\,$1) > $(subst /,\,$2)
CAT = type $(subst /,\,$1) > $(subst /,\,$2) 2>NUL
MKDIR = -mkdir $(subst /,\,$@)
QUOTE = $(patsubst %,"%",$1)
else
Expand All @@ -15,24 +15,23 @@ else
endif
CP = $(call CAT,$<,$@)

npgoals := clean cleanrel cleanweb cleanfull withtests wrapped $(foreach i,1 2 3 4,bump$(i)) tag tagcommit beta stable web update updatehard
npgoals := clean cleanrel cleanweb cleanfull withtests archives $(foreach i,1 2 3 4,bump$(i)) tag tagcommit beta stable web update updatehard
ifneq "$(filter $(npgoals),$(MAKECMDGOALS))" ""
.NOTPARALLEL :
endif

coffee := $(BIN)coffee -c --no-header
coffee_deps := node_modules/coffee-script/package.json
template := node tools/template.js
template_deps := package.json tools/template.js node_modules/lodash.template/package.json node_modules/esprima/package.json
template_deps := package.json tools/template.js

# read name meta_name meta_distBranch meta_uploadPath
# read name meta_name meta_distBranch
$(eval $(shell node tools/pkgvars.js))

# must be read in when needed to prevent out-of-date version
version = $(shell node -p "JSON.parse(require('fs').readFileSync('version.json')).version")

source_directories := \
globals config css platform classes \
globals config css platform classes site \
Archive Filtering General Images Linkification \
Menu Miscellaneous Monitoring Posting Quotelinks \
main
Expand All @@ -46,16 +45,14 @@ sources := $(foreach d,$(source_directories),$(call sort_directory,$(d)))

uses_tests_enabled := \
src/classes/Post.coffee \
src/General/Build.Test.coffee \
src/General/Test.coffee \
src/Linkification/Linkify.coffee \
src/Miscellaneous/Keybinds.coffee \
src/Monitoring/Unread.coffee \
src/main/Main.coffee

imports_src/globals/globals.js := \
version.json
imports_src/css/CSS.js := \
node_modules/font-awesome/package.json
node_modules/font-awesome/fonts/fontawesome-webfont.woff
imports_src/Monitoring/Favicon.coffee := \
src/meta/icon128.png

Expand Down Expand Up @@ -87,7 +84,7 @@ crx_contents := script.js eventPage.js icon16.png icon48.png icon128.png manifes

release := \
$(foreach f, \
$(foreach c,. -beta.,$(name)$(c)crx updates$(c)xml $(name)$(c)user.js $(name)$(c)meta.js) \
$(foreach c,. -beta.,$(name)$(c)crx updates$(c)xml updates$(c)json $(name)$(c)user.js $(name)$(c)meta.js) \
$(name)-noupdate.crx \
$(name)-noupdate.user.js \
$(name).zip \
Expand All @@ -104,22 +101,6 @@ all : default release
.events .events2 tmp testbuilds builds :
$(MKDIR)

ifneq "$(wildcard npm-shrinkwrap.json)" ""

.events/npm : npm-shrinkwrap.json | .events
npm install
echo -> $@

node_modules/%/package.json : .events/npm
$(if $(wildcard $@),,npm install && echo -> $<)

else

node_modules/%/package.json :
npm install $*

endif

.tests_enabled :
echo false> .tests_enabled

Expand All @@ -137,7 +118,7 @@ endef

$(foreach s,$(sources),$(eval $(call check_source,$(subst $$,$$$$,$(s)))))

.events/compile : $(updates) $(template_deps) $(coffee_deps) tools/chain.js
.events/compile : $(updates) $(template_deps) tools/chain.js
node tools/chain.js $(call QUOTE, \
$(subst .events/,tmp/, \
$(if $(filter-out $(updates),$?), \
Expand All @@ -150,11 +131,11 @@ $(foreach s,$(sources),$(eval $(call check_source,$(subst $$,$$$$,$(s)))))

$(dests) : .events/compile
$(if $(wildcard $@),, \
node tools/chain.js $(filter-out $(wildcard $(dests)),$(dests)) \
node tools/chain.js $(call QUOTE, $(filter-out $(wildcard $(dests)),$(dests))) \
&& echo -> $< \
)

tmp/eventPage.js : src/meta/eventPage.coffee $(coffee_deps) | tmp
tmp/eventPage.js : src/meta/eventPage.coffee | tmp
$(coffee) -o tmp src/meta/eventPage.coffee

tmp/LICENSE : LICENSE tools/newlinefix.js | tmp
Expand All @@ -169,7 +150,8 @@ testbuilds/crx$1 :
$$(MKDIR)

testbuilds/crx$1/script.js : $$(call pieces,crx) | testbuilds/crx$1 .events/compile
$$(call CAT,$$(call QUOTE,$$(call pieces,crx)),$$@)
@echo Concatenating: $$@
@$$(call CAT,$$(call QUOTE,$$(call pieces,crx)),$$@)

testbuilds/crx$1/eventPage.js : tmp/eventPage.js | testbuilds/crx$1
$$(CP)
Expand All @@ -183,19 +165,23 @@ testbuilds/crx$1/manifest.json : src/meta/manifest.json version.json $(template_
testbuilds/updates$1.xml : src/meta/updates.xml version.json $(template_deps) | testbuilds/crx$1
$(template) $$< $$@ type=crx channel=$1

testbuilds/updates$1.json : src/meta/updates.json version.json $(template_deps) | testbuilds/crx$1
$(template) $$< $$@ type=crx channel=$1

testbuilds/$(name)$1.crx.zip : \
$(foreach f,$(crx_contents),testbuilds/crx$1/$(f)) \
package.json version.json tools/zip-crx.js node_modules/jszip/package.json
package.json version.json tools/zip-crx.js
node tools/zip-crx.js $1

testbuilds/$(name)$1.crx : testbuilds/$(name)$1.crx.zip package.json tools/sign.js node_modules/crx/package.json
node tools/sign.js $1
testbuilds/$(name)$1.crx : $(foreach f,$(crx_contents),testbuilds/crx$1/$(f)) version.json tools/sign.sh | tmp
tools/sign.sh $1

testbuilds/$(name)$1.meta.js : src/meta/metadata.js src/meta/icon48.png version.json $(template_deps) | testbuilds
testbuilds/$(name)$1.meta.js : src/meta/metadata.js src/meta/icon48.png version.json src/Archive/archives.json $(template_deps) | testbuilds
$(template) $$< $$@ type=userscript channel=$1

testbuilds/$(name)$1.user.js : testbuilds/$(name)$1.meta.js tmp/meta-newline.js $$(call pieces,userscript) | .events/compile
$$(call CAT,testbuilds/$(name)$1.meta.js tmp/meta-newline.js $$(call QUOTE,$$(call pieces,userscript)),$$@)
@echo Concatenating: $$@
@$$(call CAT,testbuilds/$(name)$1.meta.js tmp/meta-newline.js $$(call QUOTE,$$(call pieces,userscript)),$$@)

endef

Expand All @@ -209,7 +195,7 @@ testbuilds/$(name).zip : testbuilds/$(name)-noupdate.crx.zip
builds/% : testbuilds/% | builds
$(CP)

test.html : README.md template.jst tools/markdown.js node_modules/markdown-it/package.json node_modules/markdown-it-anchor/package.json node_modules/lodash.template/package.json
test.html : README.md template.jst tools/markdown.js
node tools/markdown.js

index.html : test.html
Expand All @@ -218,7 +204,7 @@ index.html : test.html
tmp/.jshintrc : src/meta/jshint.json tmp/declaration.js src/globals/globals.js $(template_deps) | tmp
$(template) $< $@

.events/jshint : $(dests) tmp/.jshintrc node_modules/jshint/package.json
.events/jshint : $(dests) tmp/.jshintrc
$(BIN)jshint $(call QUOTE, \
$(if $(filter-out $(dests),$?), \
$(dests), \
Expand All @@ -234,7 +220,7 @@ install.json :
node tools/install.js
echo -> $@

.events/CHANGELOG : version.json | .events node_modules/dateformat/package.json
.events/CHANGELOG : version.json | .events
node tools/updcl.js
echo -> $@

Expand All @@ -258,13 +244,13 @@ distready : dist $(wildcard dist/* dist/*/*)
git push web $(meta_distBranch)
echo -> $@

.events2/push-store : .git/refs/tags/stable | .events2 distready node_modules/webstore-upload/package.json
.events2/push-store : .git/refs/tags/stable | .events2 distready
node tools/webstore.js
echo -> $@

.SECONDARY :

.PHONY: default all distready script crx release jshint install push captchas $(npgoals)
.PHONY: default all distready script crx release jshint install push $(npgoals)

script : $(script)

Expand All @@ -278,43 +264,40 @@ install : .events/install

push : .events2/push-git .events2/push-web .events2/push-store

captchas : redirect.html $(template_deps)
$(template) redirect.html captchas.html url="$(url)"
scp captchas.html $(meta_uploadPath)

clean :
$(RMDIR) tmp testbuilds .events
$(RMDIR) tmp tmp-crx testbuilds .events
$(RM) .tests_enabled

cleanrel : clean
$(RMDIR) builds

cleanweb :
$(RM) test.html captchas.html
$(RM) test.html

cleanfull : clean cleanweb
$(RMDIR) .events2 dist node_modules
$(RM) npm-shrinkwrap.json
git worktree prune

withtests :
echo true> .tests_enabled
-$(MAKE)
echo false> .tests_enabled

wrapped : src/meta/npm-shrinkwrap.json
$(call CAT,$<,npm-shrinkwrap.json)
npm install
archives :
git fetch -n archives
git merge --no-commit -s ours archives/gh-pages
git show archives/gh-pages:archives.json > src/Archive/archives.json
-git commit -am 'Update archive list.'

$(foreach i,1 2 3 4,bump$(i)) :
$(MAKE) archives
node tools/bump.js $(subst bump,,$@)
$(MAKE) .events/CHANGELOG
$(MAKE) all

tag :
git add builds
$(MAKE) cleanrel
$(MAKE) wrapped
$(MAKE) all
git diff --quiet -- builds
$(MAKE) tagcommit
Expand All @@ -333,7 +316,7 @@ stable : distready
git push . HEAD:bstable
git tag -af stable -m "$(meta_name) v$(version)."
cd dist && git merge --no-commit -s ours stable
cd dist && git checkout stable "builds/$(name).*" builds/updates.xml
cd dist && git checkout stable "builds/$(name).*" builds/updates.xml builds/updates.json
cd dist && git commit -am "Move $(meta_name) v$(version) to stable channel."

web : index.html distready
Expand All @@ -343,15 +326,11 @@ web : index.html distready
cd dist && git commit -am "Update web page."

update :
$(RM) npm-shrinkwrap.json
$(RM) package-lock.json
npm install --save-dev $(shell node tools/unpinned.js)
npm install
npm shrinkwrap --dev
$(call CAT,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)

updatehard :
$(RM) npm-shrinkwrap.json
$(RM) package-lock.json
npm install --save-dev $(shell node tools/unpinned.js latest)
npm install
npm shrinkwrap --dev
$(call CAT,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)
Loading