Hirse/brackets-outline-list

plugin broke with last Brackets update

Bluep opened this issue · 2 comments

Bluep commented

Hi there,

as the title says, outlne doesn't work for me anymore after updating Brackets to 1.14. Current versions are

  • Brackets Version: Release 1.14 Build 1.14.2-17770 (release-1.14.2 f71f00acc) (Windows 10)
  • Brackets Outline List Version: v1.5.0

When I launch Brackes, I'm getting these errors below on the console; the outline list is still shown, but can't be clicked anymore.

  • Before updating Brackets, everything was working fine
  • I tried with all other [non-standard] plugins disabled, didn't help
  • outline list is the only plugin which gives errors after the Brackets update

I hope this helps to fix the plugin - I really miss it!
And thanks for your efforts!

console output:

ErrorNotification.js:122 [Extension] failed to load C:/Users/Stefan/AppData/Roaming/Brackets/extensions/user/hirse.outline-list - TypeError: Cannot read property 'on' of undefinedwindow.console.error @ ErrorNotification.js:122errback @ /utils/ExtensionLoader.js:227(anonymous function) @ thirdparty.min.js:19j @ thirdparty.min.js:19k.fireWith @ thirdparty.min.js:19e.(anonymous function) @ thirdparty.min.js:19j @ thirdparty.min.js:19k.fireWith @ thirdparty.min.js:19e.(anonymous function) @ thirdparty.min.js:19(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163(anonymous function) @ require.js:539each @ require.js:57onError @ require.js:532Module.check @ require.js:894(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925Module.enable @ require.js:1151Module.init @ require.js:782(anonymous function) @ require.js:967(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925Module.enable @ require.js:1151Module.init @ require.js:782(anonymous function) @ require.js:999(anonymous function) @ require.js:132(anonymous function) @ i18n.js:173context.execCb @ require.js:1658Module.check @ require.js:874(anonymous function) @ require.js:1121(anonymous function) @ require.js:132(anonymous function) @ require.js:1164each @ require.js:57Module.emit @ require.js:1163Module.check @ require.js:925Module.enable @ require.js:1151Module.init @ require.js:782callGetModule @ require.js:1178context.completeLoad @ require.js:1552context.onScriptLoad @ require.js:1679
TypeError: Cannot read property 'on' of undefined
    at PreferencesSystem._.extend.on (/preferences/PreferencesBase.js:1849:21)
    at Object.<anonymous> (file:///C:/Users/Stefan/AppData/Roaming/Brackets/extensions/user/hirse.outline-list/main.js:180:24)
    at Object.context.execCb (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:1658:33)
    at Object.Module.check (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:869:55)
    at Object.<anonymous> (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:1121:34)
    at file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:132:23
    at file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:1164:21
    at each (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:57:31)
    at Object.Module.emit (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:1163:17)
    at Object.Module.check (file:///C:/Program%20Files%20(x86)/Brackets/www/thirdparty/requirejs/require.js:925:30)
Bluep commented

Hi again,

mea culpa - mea maxima culpa!
While trying to find a fix, I found out that this "bug" was my own fault:
Since I don't use the distraction-free mode of Brackets, I thought it a clever idea to disable the NoDistractions (standard) plugin, and that was incidentially on the same day when I installed the Brackets update...
This led to a missing preference, and attaching a listener to undefined fails...

The only bug / flaw imho is in Brackets' preference system - attaching listeners and other stuff on preferences should only occur after successfully retrieving the setting in question.

Sorry again!

Hirse commented

No worries at all.

Happy it worked out for you.