Skip to content
This repository was archived by the owner on Oct 29, 2024. It is now read-only.

why this is not in the core repo #1

@Simon-Laux

Description

@Simon-Laux

We can later move it there, but for now:

  1. deltachat-node has its package.json in the root of the repo so it is the only one installable via git (through npm install https://github.com/deltachat/deltachat-core-rust.git), though I'm unsure if napi.rs packages can even be installed via git?
  2. I'm not sure if then napi-rs cli supports being run from a sub folder? (It should work fine I guess, but could also be that it creates tags or other shenanigans, we should test it in this dedicated repo first)
  3. The ci to build all releases is rather heavy, not sure wether we want to run it often in the core repo.
  4. The Jsonrpc-api is already tested in the core repo, so not too many unique errors that new versions/commits to core can introduce here.

Also I'm unsure whether we should really migrate to use this in desktop instead of deltachat-node:

Pros

  • does already build most platforms to prebuilds on gh actions automatically
  • cleaner code
  • no building ever on install on user devices, which saves time, but can also be a con see bellow
  • easy to have an apple M1 version (though adjusting deltachat-node to have it is also possible.)
  • could help us make a 32bit version for windows with electron

Cons

  • if no prebuild is found that's it, it is not possible to have it compile on npm-install like deltachat-node
    • which also reinforces that builds from git are not possible anymore
    • possibly harder to install on "usuported" architectures
  • linking to systemwide libdeltachat is not possible anymore, which our flatpak and nix build depend upon.
    • since there is no stable rust ABI yet (and even if there were it would be too much work to make it work), maybe a libdeltachat-jsonrpc that exposes an interface over stdin/stdout pipes, websocket or similar could make that possible
  • substantial amount of work

As we plan to switch to tauri anyway, I don't see the real benefit of switching it for desktop, we should rather just say we phase out deltachat-node as being "deprecated/obsolete" for anything besides dc desktop and that they should use the napi-jsonrpc bindings instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions