Many features broken, $profile_badge error in console

This started a few weeks ago and has caused me to get behind on a lot of things, I think around the time the centered titles started.

The page sticks on “counting is hard” for long periods of time, adding a new RSS feed is broken, and trying to share a story doesn’t work at all.

I can still read stories at least, but the counts don’t update properly when I refresh the page.

Android interface works perfectly still.

I’ve tried this on 3 separate computers with different web browsers, the below error paste is from a Chromium derivative, but it has the same errors on Firefox. I can’t actually edit my profile from the web to try and change this setting, so I’m going to try and change it from the web app, but thought I’d post here just so additional error handling could be added.

common.896211d5a0ff.js:2301 Uncaught ReferenceError: $profile_badge is not defined
at common.896211d5a0ff.js:2301:15
at Array.forEach ()
at Function.z.each.z.forEach (common.896211d5a0ff.js:1442:370)
at y.make_follow_requests (common.896211d5a0ff.js:2300:458)
at y.make_module (common.896211d5a0ff.js:2300:136)
at y. (common.896211d5a0ff.js:2300:29)
at y. (common.896211d5a0ff.js:2067:183)
at Object.success (common.896211d5a0ff.js:2012:40)
at b.manageAjax._manager._success (common.896211d5a0ff.js:619:368)
at Object.k.success (common.896211d5a0ff.js:615:191)

Here’s the same error from firefox.

Uncaught ReferenceError: assignment to undeclared variable $profile_badge
make_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2301
forEach https://www.newsblur.com/static/js/common.896211d5a0ff.js:1442
make_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2300
make_module https://www.newsblur.com/static/js/common.896211d5a0ff.js:2300
fetch_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2300
fetch_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2067
success https://www.newsblur.com/static/js/common.896211d5a0ff.js:2012
_success https://www.newsblur.com/static/js/common.896211d5a0ff.js:619
success https://www.newsblur.com/static/js/common.896211d5a0ff.js:615
Aa https://www.newsblur.com/static/js/common.896211d5a0ff.js:460
fireWith https://www.newsblur.com/static/js/common.896211d5a0ff.js:461
D https://www.newsblur.com/static/js/common.896211d5a0ff.js:538
w https://www.newsblur.com/static/js/common.896211d5a0ff.js:549
send https://www.newsblur.com/static/js/common.896211d5a0ff.js:549
ajax https://www.newsblur.com/static/js/common.896211d5a0ff.js:544
_createAjax https://www.newsblur.com/static/js/common.896211d5a0ff.js:617
dequeue https://www.newsblur.com/static/js/common.896211d5a0ff.js:473
add https://www.newsblur.com/static/js/common.896211d5a0ff.js:616
make_request https://www.newsblur.com/static/js/common.896211d5a0ff.js:2011
fetch_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2067
fetch_follow_requests https://www.newsblur.com/static/js/common.896211d5a0ff.js:2299
start_polling https://www.newsblur.com/static/js/common.896211d5a0ff.js:2299
t https://www.newsblur.com/static/js/common.896211d5a0ff.js:1490
trigger https://www.newsblur.com/static/js/common.896211d5a0ff.js:1489
set https://www.newsblur.com/static/js/common.896211d5a0ff.js:1494
success https://www.newsblur.com/static/js/common.896211d5a0ff.js:2023
success https://www.newsblur.com/static/js/common.896211d5a0ff.js:1506
Aa https://www.newsblur.com/static/js/common.896211d5a0ff.js:460
fireWith https://www.newsblur.com/static/js/common.896211d5a0ff.js:461
D https://www.newsblur.com/static/js/common.896211d5a0ff.js:538
w https://www.newsblur.com/static/js/common.896211d5a0ff.js:549
send https://www.newsblur.com/static/js/common.896211d5a0ff.js:549
ajax https://www.newsblur.com/static/js/common.896211d5a0ff.js:544
ajax https://www.newsblur.com/static/js/common.896211d5a0ff.js:1514
sync https://www.newsblur.com/static/js/common.896211d5a0ff.js:1513
sync https://www.newsblur.com/static/js/common.896211d5a0ff.js:1500
fetch https://www.newsblur.com/static/js/common.896211d5a0ff.js:1506
fetch https://www.newsblur.com/static/js/common.896211d5a0ff.js:2101
load_feeds https://www.newsblur.com/static/js/common.896211d5a0ff.js:2023
initialize https://www.newsblur.com/static/js/common.896211d5a0ff.js:2182
View https://www.newsblur.com/static/js/common.896211d5a0ff.js:1509
y https://www.newsblur.com/static/js/common.896211d5a0ff.js:1522
init https://www.newsblur.com/static/js/common.896211d5a0ff.js:1646
https://www.newsblur.com/:1342
Ab https://www.newsblur.com/static/js/common.896211d5a0ff.js:463
rc https://www.newsblur.com/static/js/common.896211d5a0ff.js:464
setTimeout handlerDeferred/then/oa/< https://www.newsblur.com/static/js/common.896211d5a0ff.js:464
Aa https://www.newsblur.com/static/js/common.896211d5a0ff.js:460
fireWith https://www.newsblur.com/static/js/common.896211d5a0ff.js:461
fire https://www.newsblur.com/static/js/common.896211d5a0ff.js:461
Aa https://www.newsblur.com/static/js/common.896211d5a0ff.js:460
fireWith https://www.newsblur.com/static/js/common.896211d5a0ff.js:461
ready https://www.newsblur.com/static/js/common.896211d5a0ff.js:467
t https://www.newsblur.com/static/js/common.896211d5a0ff.js:382
EventListener.handleEvent
https://www.newsblur.com/static/js/common.896211d5a0ff.js:467
https://www.newsblur.com/static/js/common.896211d5a0ff.js:380
https://www.newsblur.com/static/js/common.896211d5a0ff.js:380
https://www.newsblur.com/static/js/common.896211d5a0ff.js:3133
common.896211d5a0ff.js:2301:16

I temporarily worked around the issue by sending a $profile_badge={‘attr’:0} before the error occurred, but then I found a more permanent solution.

Someone sent me a request to follow sometime ago, but because they had no shared stories I didn’t approve it. Once I ignored that request, the error stopped occurring. Must be something with having outstanding follow requests on the page?

Thank you for reporting this. I’m terribly sorry you had to go through this broken state for as long as you did. But by reporting it I’ve got a fix that I am now deploying. And thanks for figuring out how to solve it on your own.

What happened is that I added a 'use strict' declaration to the top of NewsBlur’s javascript, and that means that any variable that was accessed before being declared was now a runtime error. I found the few that were present, but I rarely test the follow request functionality.