Edit: I originally discovered this behavior from starting a remote kernel, but it also exists when clearing results.
Description:
When starting a new remote kernel, any results in an existing remote kernel are deleted.

Steps to Reproduce:
Versions:
Both host and remote computers are running Linux.
Atom : 1.33.0
Electron: 2.0.11
Chrome : 61.0.3163.100
Node : 8.9.3
Plugins:
Do you have any Hydrogen plugins installed and active?
I looked into this briefly. These are deleted when store.markers.clear(); is called.
https://github.com/nteract/hydrogen/blob/ea0004326a666c679119fbec582530123c4e7cca/lib/main.js#L570
The function removes all markers:
https://github.com/nteract/hydrogen/blob/ea0004326a666c679119fbec582530123c4e7cca/lib/store/markers.js#L8-L11
The issue is that store.markers is a global object shared among all TextEditors that Hydrogen is active in. So any time store.markers.clear() is called, it removes _all markers from all panes_.
From my point of view, it would be nice if there was some way to keep track of which TextEditor each bubble is in. What about adding a field editorId to each ResultView object? I assume that a ResultView will never move from one TextEditor to another.
@BenRussert
This is an interesting issue. I agree with you about how it probably should work. Although, it does say "all" 馃
I'm open to the suggestions you mentioned for fixing this. I think it may be helpful in other areas to store outputs and markers somehow so that they can be more easily tied to the editor they belong to.
This is really annoying because I often start relatively long-running jobs in one file, then while that's running want to start coding in a new file... But then starting a kernel in the new file clears all the bubbles in the first file so when it's done running I don't see anything!
I'm not sure if this is the same issue, but it seems related.
When the results in multiple panes are on the same line, running either output clears the other. But when they are on different lines, running the output has the expected effect, which is to only update the current pane.

Edit: This also happens even when the two panes aren't visible at the same time (e.g. if one pane is behind the other).
Edit: By the way, this particular example doesn't require remote kernels; both are local kernels.
:rofl: That's really sad!
I haven't touched that part of the code but I'm guessing it comes from here:
https://github.com/nteract/hydrogen/blob/612b630415d2f9846f76ac7ed82119026f991914/lib/store/markers.js#L13-L23
Marker stores aren't tied to an Editor, which is the point of this issue, but that also means that clearOnRow probably clears any markers on the given row in _any_ Editor!
Just putting some thoughts down...
I checked and each _pane_ is a new TextEditor, which simplifies things so that we only have to keep track of markers within a given TextEditor. (Currently, any two panes, regardless of whether they're the same file, remove a marker at the same row on the other pane).
I'm not sure what the best way is to associate a MarkerStore to an Editor...
I was thinking it might be to have a markerMapping in the Store similar to how there's currently a kernelMapping. The kernelMapping is a mapping from a file path to a Kernel object. Likewise the markerMapping could be a mapping from an Editor to a MarkerStore...