Comments (6)
I agree. Being able to sync through the filesystem would be useful. It might work better as a Node.js tool though, to avoid Electron's overhead.
The only problem with this is that most editors use their internal memory to edit files, meaning changes aren't pushed immediately to the filesystem. So it wouldn't be able to replace the editor plugins.
from multihack-web.
Awesome Idea man!
I thought about it, you could run child process to sync between y-js and file system.
Then it is okay the editor use memory cause delta will goes to y-js.
It might have little delay on sync file system, though.
from multihack-web.
Thank you guys!
I guess it will be a problem to cleverly match external and internal changes with the data model, perhaps an WebRTC enabled "merge driver" for Visual Studio Code would be better?
Otherwise, maybe the desktop app could do a diff between local changes (saves) and treat each changed snippet as an individual edit - as if they were performed offline? Then external/incoming changes could be merged with this and applied to the local file system - right after the user has flushed his editor buffer (saved his work).
from multihack-web.
I plan to fully support vscode, which is in the works. multihack-vscode
The dekstop app would have to work like that, doing it's own diffing when the user saves (with a filesystem watcher). We won't need to worry about merging, YJS does that for us!
from multihack-web.
Excellent, sounds very promising!
And this YJS library also looks like a great tool in lots of cases, I guess it could be used for "collaborative stream scribbling" as well
from multihack-web.
Repo created as https://github.com/RationalCoding/multihack-cli
from multihack-web.
Related Issues (20)
- Prompt user to fetch code after joining HOT 4
- Lazily fetch code HOT 5
- Make Multihack CCI compliant HOT 31
- Move to loose mesh model
- Multihack Logo HOT 16
- Rebranding for Beta release. HOT 12
- Accessibility
- Internationalization HOT 2
- Add/remove syntax support HOT 5
- Create and maintain changelogs HOT 3
- Change 'connection lost' modal to pop-up notification. HOT 1
- Disconnected user's caret doesn't removed HOT 2
- Add Indentation Guide HOT 2
- Theme support
- Offline mode
- Keyboard shortcuts HOT 1
- Support saving the location of the cursor in files HOT 1
- Generate production javascript HOT 1
- yfs and FileSystem needs to be changed to support rename file and directory. HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multihack-web.