Hirse / brackets-outline-list

Extension for Brackets and Phoenix to display a list of the functions or definitions in the currently opened document.
MIT License
79 stars 30 forks source link

plugin broke with last Brackets update #115

Closed Bluep closed 4 years ago

Bluep commented 4 years ago

Hi there,

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

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.

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 4 years ago

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 4 years ago

No worries at all.

Happy it worked out for you.