vym
vym copied to clipboard
Web Version
Hi! I would love to see a NextCloud integration - running it in the browser, also working on Android Tablets and Phones. Is this also the vision/need for other people?
This is a long way to go. Some brainstorming
- Can the QT App be easily converted to a QT-WASM App? I have never done that, so I probably don't know all the work, all the incompatibilities that need to be fixed.
- Create a modern WebApp that reproduces the functionality and accepts the same file format
- the file format seems quite volatile
- does it make sense to keep some classes from the original Project using WASM?
I am really interested in the project, but I guess at the end I have too little energy to consistently put time into it. Still I thought that I share my brainstorming.
Best Regards! Thomas
Hi Thomas, thanks for sharing your thought!
Indeed I sometimes had similar ideas, but wasn't aware of Qt-wasm (yet). Interesting! Though for mobile or even tablet I'd want to do another redesign in major parts, the common menus and entering text could be way more comfortable then.
So at least I won't have time to start that, I'm still working hard on the complete rewrite of the graphics layout, there will be interesting new features coming :-)
Regarding nextcloud: Maybe the oooold alpha grade code to simultanously work on maps can be re-animated. With some clever protocol this could work on nextcloud and friends by sharing kind of transaction list.
(I'll leave the ticket oopen for a while, maybe someone else has more ideas or would like to jumpstart it.)
Thanks for the reply!
Maybe the oooold alpha grade code to simultanously work on maps What code do you mean?
Best Regards, Thomas131
Many years ago during a SUSE hackweek I started on a client/server connection, so that several clients could mimic what happened on a server. The remains are in VymModel::newServer and VymModel::connectToServer. As proof of concept it worked, but what would be needes is a protocol, which ensures that changes are propagated correctly. This is unfortunatly not trivial. Just recently put quite some thought in how to sync vym with trello board, but similar: Simultanous edits are up for surprises :-(
Hi @insilmaril - I have some progress regarding QT&WASM: I successfully compiled vym with minimal modifications (see https://github.com/Thomas131/vym/tree/wasm ). It starts, but quickly throws an error since it doesn't find a file (yeah, for sure, its wasm). I will put more work into it today.
My build env was this docker container: 'docker run --rm -it -v $(pwd):/src/ -u $(id -u):$(id -g) madmanfred/qt-webassembly bash'
To build, I used qmake and make
I played a little more. Some major limitations seem to be:
- no Multithreading
- no custom Event Loops
- no QDialog.exec() - has to work async with .open()
- shipped files can be either packet into the qrc or (I assume) lazyloaded from the server
- we will have to ship our own zip utilities
- an alternative solution for temporary directories will be necessary
- the flle-chooser will have to be rewritten
In Chromium, the "asm"-Code of wasm-apps can be debugged with an extension. Its definitly not as comfortable&powerful as gdb, but it works :)
That was my work for today, I don't know how much more effort I will put into vym&wasm.
Thanks for investigating this! For myself I am afraid I don't have the time in the next months to dig deeper, feel free to continue and I'll try to support.
The main development at the moment is happening in the layout-test branch, which is quite ahead of develop, so bigger changes should be based there. Adapting/replacing dialogs or also menus and icons could go there. Loading xml is also work in progress as preparation for switching to Qt6 one day, currently in "xml-streamreader" branch.
(I am intending to move "develeop" -> "released" and "layout-test" -> "develop" rather soon, when it is stable enough to become my daily work horse. I have put quite some time already into rewriting the layout system...