Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web Version #51

Open
Thomas131 opened this issue Dec 9, 2022 · 6 comments
Open

Web Version #51

Thomas131 opened this issue Dec 9, 2022 · 6 comments
Labels
suggested enhancement Enhancement, which is not planned yet for being worked on

Comments

@Thomas131
Copy link

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

@insilmaril
Copy link
Owner

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.)

@Thomas131
Copy link
Author

Thomas131 commented Dec 12, 2022 via email

@insilmaril
Copy link
Owner

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 :-(

@Thomas131
Copy link
Author

Thomas131 commented Jan 10, 2023

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

@Thomas131
Copy link
Author

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.

@insilmaril
Copy link
Owner

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...

@insilmaril insilmaril added suggested enhancement Enhancement, which is not planned yet for being worked on and removed enhancement labels Mar 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
suggested enhancement Enhancement, which is not planned yet for being worked on
Projects
None yet
Development

No branches or pull requests

2 participants