Release 4chan X v1.11.29.0.
This commit is contained in:
parent
8d2d4b056b
commit
584b40f58a
@ -2,6 +2,12 @@
|
||||
|
||||
Sometimes the changelog has notes (not comprehensive) acknowledging people's work. This does not mean the changes are their fault, only that their code was used. All changes to the script are chosen by and the fault of the maintainer (ccd0).
|
||||
|
||||
### v1.11.29
|
||||
|
||||
**v1.11.29.0** *(2016-03-31)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.29.0/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Based on v1.11.28.3.
|
||||
- Add upvote count and button.
|
||||
|
||||
### v1.11.28
|
||||
|
||||
**v1.11.28.3** *(2016-03-27)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.28.3/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.28.3/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.28.3
|
||||
// @version 1.11.29.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.28.3
|
||||
// @version 1.11.29.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,7 +270,8 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -443,7 +444,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.28.3',
|
||||
VERSION: '1.11.29.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7112,6 +7113,88 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
this.textPosted = g.BOARD.ID === 'r9k' ? 'This.' : this.text;
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Upvotes.textPosted + "\n";
|
||||
pos = com.selectionStart;
|
||||
com.value = com.value.slice(0, +pos + 1 || 9e9) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
return $.event('input', null, com);
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21304,6 +21387,13 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21820,7 +21910,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.28.3
|
||||
// @version 1.11.29.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,7 +270,8 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -443,7 +444,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.28.3',
|
||||
VERSION: '1.11.29.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7112,6 +7113,88 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
this.textPosted = g.BOARD.ID === 'r9k' ? 'This.' : this.text;
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Upvotes.textPosted + "\n";
|
||||
pos = com.selectionStart;
|
||||
com.value = com.value.slice(0, +pos + 1 || 9e9) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
return $.event('input', null, com);
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21304,6 +21387,13 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21820,7 +21910,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.28.3
|
||||
// @version 1.11.29.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.28.3
|
||||
// @version 1.11.29.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -119,7 +119,7 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Volume, c, d, doc, g,
|
||||
var $, $$, Anonymize, AntiAutoplay, ArchiveLink, Banner, Board, Build, Callbacks, Captcha, CatalogLinks, CatalogThread, Clone, Conf, Config, Connection, CrossOrigin, CustomCSS, DataBoard, DeleteLink, DownloadLink, E, Embedding, ExpandComment, ExpandThread, FappeTyme, Favicon, Fetcher, FileInfo, Filter, Flash, Fourchan, Gallery, Get, Header, IDColor, IDHighlight, ImageCommon, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, MarkNewIPs, Menu, Metadata, Nav, NormalizeURL, Notice, PSAHiding, PassLink, Polyfill, Post, PostHiding, PostSuccessful, PruneReplies, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, ShimSet, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadLinks, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, Upvotes, Volume, c, d, doc, g,
|
||||
slice = [].slice,
|
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
||||
@ -270,7 +270,8 @@
|
||||
'Highlight Own Posts': [true, 'Highlights own posts.', 1],
|
||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'],
|
||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'],
|
||||
'Quote Threading': [false, 'Thread conversations']
|
||||
'Quote Threading': [false, 'Thread conversations'],
|
||||
'Upvotes': [true, 'Upvote posts.']
|
||||
}
|
||||
},
|
||||
imageExpansion: {
|
||||
@ -443,7 +444,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.28.3',
|
||||
VERSION: '1.11.29.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -7112,6 +7113,88 @@
|
||||
}
|
||||
};
|
||||
|
||||
Upvotes = {
|
||||
count: {},
|
||||
text: '\u305D\u3046\u3060\u306D',
|
||||
regexp: /(?:^>.*\n)+(?:i|top|holy|shit|ay*|oh?|omg|god|jesus|christ|fuck|fukken|fucking?|\s|[.,-])*(?:\u305D\u3046\u3060\u306D|this(?! )|\+1|upvote(?! )d?|under[ -]?rated|\/thread|10\/10|(?:lol|kek|lel|lmao)(?:'?d|[.!]?$)|(?:ha)+[.!]?$|saved|nice(?! )|my sides)(?=\b|\W|$)/gmi,
|
||||
init: function() {
|
||||
var ref;
|
||||
if (!(((ref = g.VIEW) === 'thread' || ref === 'index') && Conf['Upvotes'])) {
|
||||
return;
|
||||
}
|
||||
this.textPosted = g.BOARD.ID === 'r9k' ? 'This.' : this.text;
|
||||
return Post.callbacks.push({
|
||||
name: 'Upvotes',
|
||||
cb: this.node
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var a, context, k, len1, len2, q, quote, quotes, ref, ref1, ref2, results;
|
||||
if (this.isFetchedQuote || ((ref = this.origin) != null ? ref.isFetchedQuote : void 0)) {
|
||||
return;
|
||||
}
|
||||
if (this.isClone) {
|
||||
this.nodes.vote = $('.upvote', this.nodes.info);
|
||||
$.on(this.nodes.vote, 'click', Upvotes.vote);
|
||||
return;
|
||||
}
|
||||
a = $.el('a', {
|
||||
className: 'upvote',
|
||||
href: 'javascript:;',
|
||||
textContent: '+'
|
||||
});
|
||||
$.add(this.nodes.info, a);
|
||||
this.nodes.vote = a;
|
||||
$.on(a, 'click', Upvotes.vote);
|
||||
if (g.VIEW !== 'thread') {
|
||||
return;
|
||||
}
|
||||
Upvotes.count[this.fullID] = 0;
|
||||
quotes = {};
|
||||
ref1 = this.info.comment.match(Upvotes.regexp) || [];
|
||||
for (k = 0, len1 = ref1.length; k < len1; k++) {
|
||||
context = ref1[k];
|
||||
ref2 = context.match(/>>\d+/g) || [];
|
||||
for (q = 0, len2 = ref2.length; q < len2; q++) {
|
||||
quote = ref2[q];
|
||||
quotes[quote.slice(2)] = true;
|
||||
}
|
||||
}
|
||||
results = [];
|
||||
for (quote in quotes) {
|
||||
results.push(Upvotes.increment(g.BOARD + "." + quote));
|
||||
}
|
||||
return results;
|
||||
},
|
||||
increment: function(fullID) {
|
||||
var count, k, len1, post, ref;
|
||||
if (!(fullID in Upvotes.count)) {
|
||||
return;
|
||||
}
|
||||
count = ++Upvotes.count[fullID];
|
||||
post = g.posts[fullID];
|
||||
ref = [post].concat(slice.call(post.clones));
|
||||
for (k = 0, len1 = ref.length; k < len1; k++) {
|
||||
post = ref[k];
|
||||
post.nodes.vote.textContent = Upvotes.text + "x" + count;
|
||||
}
|
||||
},
|
||||
vote: function() {
|
||||
var com, pos, text;
|
||||
if (!QR.postingIsEnabled) {
|
||||
return;
|
||||
}
|
||||
QR.quote.call(this);
|
||||
com = QR.nodes.com;
|
||||
text = Upvotes.textPosted + "\n";
|
||||
pos = com.selectionStart;
|
||||
com.value = com.value.slice(0, +pos + 1 || 9e9) + text + com.value.slice(pos);
|
||||
pos += text.length;
|
||||
com.setSelectionRange(pos, pos);
|
||||
return $.event('input', null, com);
|
||||
}
|
||||
};
|
||||
|
||||
QR = {
|
||||
mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'],
|
||||
validExtension: /\.(jpe?g|png|gif|pdf|swf|webm)$/i,
|
||||
@ -21304,6 +21387,13 @@
|
||||
":root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before {\n" +
|
||||
" visibility: hidden;\n" +
|
||||
"}\n" +
|
||||
"/* Upvotes */\n" +
|
||||
".upvote {\n" +
|
||||
" margin: 0 4px;\n" +
|
||||
"}\n" +
|
||||
".post .menu-button:not(:last-of-type) {\n" +
|
||||
" margin-right: -4px;\n" +
|
||||
"}\n" +
|
||||
"/* General */\n" +
|
||||
":root.yotsuba .dialog {\n" +
|
||||
" background-color: #F0E0D6;\n" +
|
||||
@ -21820,7 +21910,7 @@
|
||||
cssWWW: "#captcha-cnt {\n" +
|
||||
" height: auto;\n" +
|
||||
"}",
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
features: [['Polyfill', Polyfill], ['Normalize URL', NormalizeURL], ['Captcha Configuration', Captcha.replace], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Upvotes', Upvotes], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Flash Features', Flash], ['Prune Replies', PruneReplies]]
|
||||
};
|
||||
|
||||
Main.init();
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.28.3' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.29.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.28.3' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.29.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{
|
||||
"version": "1.11.28.3",
|
||||
"date": "2016-03-27T23:59:43.063Z"
|
||||
"version": "1.11.29.0",
|
||||
"date": "2016-03-31T11:03:12.056Z"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user