Skip to content
This repository has been archived by the owner on Jul 23, 2019. It is now read-only.

Latest commit

 

History

History
13 lines (7 loc) · 2.05 KB

2018_04_30.md

File metadata and controls

13 lines (7 loc) · 2.05 KB

Update for April 30, 2018

Xray now runs in a browser

Last week, we merged #67, which allows Xray to be run inside of a web browser. The design is different in a couple of details from what I anticipated in last week's update, but the big picture is pretty much what we expected. The main difference is that for now, we decided not to bake HTTP and WebSockets support directly into xray_server, but instead place them in a simple development server which is written in Node and proxies WebSocket connections to xray_server's normal TCP-based connection listener. This made it easy to integrate with middleware for WebPack that recompiles our JS bundle during development. Long-term, we'd still like to host web clients directly from xray_server, but we want to bundle the static web assets directly into the binary so that xray_server can continue to work as a standalone executable. This should definitely be possible, but it doesn't feel important to address it now.

Demo this week

We plan to show off Xray's progress to some colleagues here at GitHub later this week, so to that end, we'll focus some of this week on smaller details that, while not fundamentally advancing architectural concerns, will end up making for a better demo.

By the end of this week, we should be rendering the cursors and selections of remote collaborators. We also plan to add a discussion panel to the Xray workspace where collaborators can have a text-based conversation that is linked to their code.

Once the demo is behind us, we plan to take a few days to burn down any technical debt we have accrued in the 10 weeks we've been actively developing the project. The biggest thing on our agenda is updating to futures 0.2 and the latest version of tokio. We also plan to take a look at our build and see if we can make our CI turnaround faster.