aab111bb80
Let me tell the story backwards: For some reason, only one line would be fetched in `fetchMoreLines`, but neither `numLines` nor `buffer.requestedLines` were `undefined`. The paramater `numLines` must have had some strange value, though. `connection.fetchMoreLines` is invoked through the main controllers `$scope.fetchMoreLines`, which sets the parameter to `$scope.lines` if it was undefined before. That value is computed in `$scope.calculateNumLines`, which takes the height of the lines area and divides it by the height of the first bufferline. This computation is retriggered on every `resize` event. The first bufferline is the 'fetch more lines' link at the top of the window. If the currently active buffer doesn't have more lines, it is hidden with `ngHide`, causing its `clientHeight` property to be `0`, and the number of lines to be fetched `$scope.lines = Infinity` (due to a division by zero). In `connection.fetchMoreLines`, the following request is then made: `"buffer:0x" + buffer.id + "/own_lines/last_line(-" + numLines + ")/data"` to which WeeChat responds with one line. Voilà, there's your mess. |
||
---|---|---|
.. | ||
glowingbear.js | ||
irc-utils.js | ||
localstorage.js | ||
models.js | ||
plugins.js | ||
websockets.js | ||
weechat.js |