Linux "desktop" target? #229

Open
opened 2023-01-24 04:09:04 +00:00 by singpolyma · 4 comments

Useful on desktop, but especially for mobile Linux.

I tried today and got it to run and show the splash screen, but not much else.

Useful on desktop, but especially for mobile Linux. I tried today and got it to run and show the splash screen, but not much else.
PapaTutuWawa added the
enhancement
contribution welcome
moxplatform
labels 2023-01-24 11:38:22 +00:00

Thanks for trying that! It surprises me that it even built without any issues.

The reason that it gets stuck at the splash screen is that Moxxy wants to start a foreground service to run the XMPP code in the background. That is currently only implemented for Android and thus blocks since the UI is waiting for a "ready" message from the foreground service. Now that Flutter allows generic Isolates to do method channel calls, porting to Linux should be possible. It, however, requires that moxplatform gets its interface ported to Linux, which is currently not on my roadmap.

Thanks for trying that! It surprises me that it even built without any issues. The reason that it gets stuck at the splash screen is that Moxxy wants to start a foreground service to run the XMPP code in the background. That is currently only implemented for Android and thus blocks since the UI is waiting for a "ready" message from the foreground service. Now that Flutter allows generic Isolates to do method channel calls, porting to Linux should be possible. It, however, requires that [moxplatform](https://codeberg.org/moxxy/moxplatform) gets its interface ported to Linux, which is currently not on my roadmap.

If moxplatform.crypto gets implemented in Dart instead (or a Dart package that uses FFI but supports all platforms), I believe moxxy would run fine on desktop and be pretty usable?

If [moxplatform.crypto](https://codeberg.org/moxxy/moxplatform/src/branch/master/packages/moxplatform_platform_interface/lib/src/crypto.dart) gets implemented in Dart instead (or a Dart package that uses FFI but supports all platforms), I believe moxxy would run fine on desktop and be pretty usable?

@f-person Theoretically, Moxxy could live with the stubbed versions of the crypto interface. What's non-negotiable is moxplatform.BackgroundService and moxplatform.IsolateHandler. But yes, if those two are implemented, you could run Moxxy on desktop (although the UI is absolutely not fitted for this purpose)

@f-person Theoretically, Moxxy could live with the stubbed versions of the crypto interface. What's non-negotiable is [moxplatform.BackgroundService](https://codeberg.org/moxxy/moxplatform/src/branch/master/packages/moxplatform_platform_interface/lib/src/service.dart) and [moxplatform.IsolateHandler](https://codeberg.org/moxxy/moxplatform/src/branch/master/packages/moxplatform_platform_interface/lib/src/isolate.dart). But yes, if those two are implemented, you could run Moxxy on desktop (although the UI is absolutely not fitted for this purpose)

Now that moxplatform has been replaced with moxxy_native (#336), I was able to get the most crucial part of the equation (starting a background service) working under Linux (and since the implementation is very generic, probably also Windows and MacOS). However, I have not done any further work regarding this, so Moxxy is currently still stuck on the splash screen.

Now that moxplatform has been replaced with [moxxy_native](https://codeberg.org/moxxy/moxxy_native) (#336), I was able to get the most crucial part of the equation (starting a background service) working under Linux (and since the implementation is very generic, probably also Windows and MacOS). However, I have not done any further work regarding this, so Moxxy is currently still stuck on the splash screen.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: moxxy/moxxy#229
There is no content yet.