As we know, in Delta Chat there is a limit on how big of a webxdc app (.xdc
file) you can send. The current limit is 640 kB (see source code). Which I think is not enough.
I have bumped my head into this ceiling several times already, and it remains a big blocker there:
- When trying to run DOOM on Delta Chat (otherwise we can’t say “yes, Delta Chat can run DOOM”, which is a shame). Reason: WASM
- Excalidraw: a (draft of a) collaborative drawing app. Reason: huge app that also uses WASM (Loro CRDT). And this is without extra assets.
- Tldraw: a (draft of a) collaborative drawing app. Reason: huge app that refuses to work without fonts.
And honestly, the existence of this limit doesn’t make much sense to me. Why can I send regular files of any size, but not apps? The comment says:
We introduce a limit to force developer to create small .xdc to save user’s traffic and disk space for a better ux.
But
- App developers are interested in making apps with great UX themselves. I don’t think it’s great to force them to do it.
- When you’re porting an existing app, you don’t have resources/power to change the app too much. Even if you do change it, there will likely be additional maintenance costs (merging the upstream would get harder), and generally it’s a pain in the butt if the repo is using the said project in form of a library, like, say, some text editor, like Quill, or VS Code (the online version).
- Currently when you try to send an app bigger than the said limit, it just silently doesn’t work. It doesn’t say why. You can see that there is a file, but it doesn’t get recognized as an app. This can be very frustrating for new developers.
The limit has already been bumped almost 2 years ago from 100 kB to 640 kB (where it stays now) (see this commit).
With WASM getting more traction, especially in the land of CRDTs, and webxdc getting some popularity as well, I think it is time to rise the limit once again, or completely remove it.