PS. +1 for Webstorm support
React UI
Editor extension (initiates webview)
LSP agent
——cloud or on prem——
API/mongo
Hopefully this means most of the work happens in the three layers that are common across editors, and only the extension code needs to be ported.
Personally, it's been my (cynical) conclusion that a lot of times the bad-communication around code (e.g. lack of documentation/comments, resistance to PR feedback, closed architecture discussions), when it happens, can be attributed to motivations rather than lack of means.
But perhaps tooling provides more visibility around that and reduces the barrier for edge-cases.
in 2004 nobody shared photos of their lunch with their friends, not because it wasn't possible, but because it wasn't easy. last week i witnessed a teenage girl in a restaurant spend the entirety of a 30-minute dinner taking and sharing selfies. perhaps 100 in total.
it's my sincere hope that a reduction in friction gets us all talking about code more often.
currently, all code comments are declarative, requiring you to pay into the system now, not knowing if anyone will ever benefit from your effort.
with question-driven comments, you get answers to exactly those parts of the codebase that aren't clear, as it should be.
well that's the hope anyway.
You mentioned this "...the ability to talk about any block of code, on any branch, in any state..." Re: "any state." On our team, we'd love the ability to comment on uncommitted changes and share with the team, as it would prevent us from requiring short-lived feature branches. Is that ability available now?
We also plan to publish our marker API so that fans of a particular editor will be able to create a client, should they be so motivated.
Understanding code is one of the hardest problems in software development. At CodeStream, we think we have a novel approach to address this by first making it easier for developers to talk about code, and then capturing those code-based conversations and homing them where they belong -- with the code.
How we deliver the first phase of this functionality, and why we think it’s important, is outlined in the link above.
[sorry if you saw this yesterday; I had a glitch in posting it the first time]