diff --git a/CHANGELOG.md b/CHANGELOG.md
index e497265ea..d27c0fcc8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
### v1.11.34
+**v1.11.34.9** *(2016-06-03)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.34.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.34.9/builds/4chan-X-noupdate.crx "Chromium version")]
+- Fix loading icon getting stuck on in Firefox.
+
**v1.11.34.8** *(2016-06-03)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.34.8/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.34.8/builds/4chan-X-noupdate.crx "Chromium version")]
- Replace malicious ad blacklist with a Javascript whitelist, which can be configured on the `Advanced` settings tab.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index c4a5b41de..8850a1bb0 100644
Binary files a/builds/4chan-X-beta.crx and b/builds/4chan-X-beta.crx differ
diff --git a/builds/4chan-X-beta.meta.js b/builds/4chan-X-beta.meta.js
index ecf547742..45e062c4c 100644
--- a/builds/4chan-X-beta.meta.js
+++ b/builds/4chan-X-beta.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
-// @version 1.11.34.8
+// @version 1.11.34.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X-beta.user.js b/builds/4chan-X-beta.user.js
index c1b7b47ed..64806bcbe 100644
--- a/builds/4chan-X-beta.user.js
+++ b/builds/4chan-X-beta.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
-// @version 1.11.34.8
+// @version 1.11.34.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.34.8',
+ VERSION: '1.11.34.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -16907,9 +16907,10 @@ ThreadUpdater = (function() {
if (g.VIEW !== 'thread' || !Conf['Thread Updater']) {
return;
}
- this.audio = $.el('audio', {
- src: ThreadUpdater.beep
- });
+ this.audio = $.el('audio');
+ if ($.engine !== 'gecko') {
+ this.audio.src = this.beep;
+ }
if (Conf['Updater and Stats in Header']) {
this.dialog = sc = $.el('span', {
id: 'updater'
@@ -17010,6 +17011,7 @@ ThreadUpdater = (function() {
playBeep: function() {
var audio;
audio = ThreadUpdater.audio;
+ audio.src || (audio.src = ThreadUpdater.beep);
if (audio.paused) {
return audio.play();
} else {
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index a2706a1db..7aaaf3ab0 100644
Binary files a/builds/4chan-X-noupdate.crx and b/builds/4chan-X-noupdate.crx differ
diff --git a/builds/4chan-X-noupdate.user.js b/builds/4chan-X-noupdate.user.js
index 9a253cd5b..31efdbe0e 100644
--- a/builds/4chan-X-noupdate.user.js
+++ b/builds/4chan-X-noupdate.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.34.8
+// @version 1.11.34.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.34.8',
+ VERSION: '1.11.34.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -16907,9 +16907,10 @@ ThreadUpdater = (function() {
if (g.VIEW !== 'thread' || !Conf['Thread Updater']) {
return;
}
- this.audio = $.el('audio', {
- src: ThreadUpdater.beep
- });
+ this.audio = $.el('audio');
+ if ($.engine !== 'gecko') {
+ this.audio.src = this.beep;
+ }
if (Conf['Updater and Stats in Header']) {
this.dialog = sc = $.el('span', {
id: 'updater'
@@ -17010,6 +17011,7 @@ ThreadUpdater = (function() {
playBeep: function() {
var audio;
audio = ThreadUpdater.audio;
+ audio.src || (audio.src = ThreadUpdater.beep);
if (audio.paused) {
return audio.play();
} else {
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 5380e2967..8d02ab0f6 100644
Binary files a/builds/4chan-X.crx and b/builds/4chan-X.crx differ
diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js
index a799995c3..1fc9fe453 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.34.8
+// @version 1.11.34.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 9d10843f3..a1fe24487 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.34.8
+// @version 1.11.34.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.34.8',
+ VERSION: '1.11.34.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -16907,9 +16907,10 @@ ThreadUpdater = (function() {
if (g.VIEW !== 'thread' || !Conf['Thread Updater']) {
return;
}
- this.audio = $.el('audio', {
- src: ThreadUpdater.beep
- });
+ this.audio = $.el('audio');
+ if ($.engine !== 'gecko') {
+ this.audio.src = this.beep;
+ }
if (Conf['Updater and Stats in Header']) {
this.dialog = sc = $.el('span', {
id: 'updater'
@@ -17010,6 +17011,7 @@ ThreadUpdater = (function() {
playBeep: function() {
var audio;
audio = ThreadUpdater.audio;
+ audio.src || (audio.src = ThreadUpdater.beep);
if (audio.paused) {
return audio.play();
} else {
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 668900db2..720b36bae 100644
Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ
diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml
index a99502cad..914809088 100644
--- a/builds/updates-beta.xml
+++ b/builds/updates-beta.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/builds/updates.xml b/builds/updates.xml
index 9ec65a050..2557abf39 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/src/Monitoring/ThreadUpdater.coffee b/src/Monitoring/ThreadUpdater.coffee
index 5d86742ee..351145f7c 100644
--- a/src/Monitoring/ThreadUpdater.coffee
+++ b/src/Monitoring/ThreadUpdater.coffee
@@ -2,7 +2,11 @@ ThreadUpdater =
init: ->
return if g.VIEW isnt 'thread' or !Conf['Thread Updater']
- @audio = $.el 'audio', src: ThreadUpdater.beep
+ # Chromium won't play audio created in an inactive tab until the tab has been focused, so set it up now.
+ # XXX Sometimes the loading stalls in Firefox, esp. when opening in private browsing window followed by normal window.
+ # Don't let it keep the loading icon on indefinitely.
+ @audio = $.el 'audio'
+ @audio.src = @beep unless $.engine is 'gecko'
if Conf['Updater and Stats in Header']
@dialog = sc = $.el 'span',
@@ -90,6 +94,7 @@ ThreadUpdater =
playBeep: ->
{audio} = ThreadUpdater
+ audio.src or= ThreadUpdater.beep
if audio.paused
audio.play()
else
diff --git a/version.json b/version.json
index 917b881a2..304d288f1 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.11.34.8",
- "date": "2016-06-03T03:25:30.866Z"
+ "version": "1.11.34.9",
+ "date": "2016-06-03T13:15:29.064Z"
}
\ No newline at end of file