You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Apps not loading in the store for Russian users #135
VPN turned on - apps start to show up for both app picker URLs
note: the user who shared screenshots runs Android 13 on a Redmi 10C phone, Anrdoid updates are not available for the model of the phone; Delta Chat version 2.48
This has to do with the fact that the website loads the list of applications from another origin https://apps.testrun.org/xdcget-lock.json, and that domain is blocked.
I think it should be possible to simply mirror the lock file on GitHub, or, to be more precise, wherever the store viewer page is hosted.
I have made a version of this website that loads the -lock.json file from the same server where the site is hosted, and not from a third party. On this branch.
The following URL can be tried as a "store URL" on Android in Settings -> Advanced -> App Picker URL (on Desktop it's still not possible to pick a different URL but I think we should add an option for that): https://wofwca.github.io/webxdc_website/apps/
I have tested it and it loads fine (as long as GitHub and Codeberg are not blocked, which they aren't in Russia), except for icons.
But very unfortunately all apps are stuck in the same order regardless of whether they get new updates, (so now my Quake III app is forever # 1 in the list ☹️☹️☹️☹️☹️☹️).
Edit: if this proves valuable then we probably should host this version in a more official repo and not my fork. But I'll keep my fork for a while, at least until I forget what it's for and delete it accidentally.
Being able to see the apps without setting a custom url (which is advanced usage) is important.
Easy to achieve, if we commit to mirroring the xdc-lock.json file somewhere on GitHub.
Doesn't even have to be in this repo: we can just add a URL param that the store front would parse and fetch the xdc-lock.json file from.
What's the reason the apps are stuck in wrong order in your fix?
Because the apps's order in the UI matches the order they appear in the xdc-lock.json file.
have made a version of this website that loads the -lock.json file from the same server where the site is hosted, and not from a third party
this is very valuable. we should get that in, that things are only loaded from the same domain/origin. this makes it much easier to use a mirror - and to create a mirror.
Being able to see the apps without setting a custom url (which is advanced usage) is important.
well, a custom url is needed when the original is blocked for whatever reason.
sure, it may be nice to have fallbacks in the app or so - but they will easily become blocked then as well. so, setting a custom url is needed. ppl will learn that in this case.
OK, I assume that we don't want to just merge the branch as is?
Then my proposal is as follows (in that order):
In this repo add a way to specify custom xdc-lock.json file URL as a URL query or hash parameter (e.g. https://webxdc.org/apps/#https://webxdc.github.io/xdc-lock-mirror/xdc-lock.json).
Set the default url to what's currently used, i.e. apps.testrun.org so as to keep things as is.
This will not affect the loading of icons, they're always loaded from apps.testrun.org
Unless someone else wants to and has a server for this, I set up a cron job to mirror the contents of the xdc-lock.json from apps.testrun.org file to GitHub.
Android and iOS change the default app picker URL from https://webxdc.org/apps/ to https://webxdc.github.io/website/apps/.
This will make the store front-end start to load for Russians (because GitHub is not blocked), but apps themselves will still not be able to load.
Change the default xdc-lock.json file URL (see step 1) in this repo to the GitHub mirror URL from step 2.
This will make the store work for all Russian users and they don't even need to change the app picker URL manually.
Activity
WofWca commentedon Apr 9, 2026
This has to do with the fact that the website loads the list of applications from another origin https://apps.testrun.org/xdcget-lock.json, and that domain is blocked.
I think it should be possible to simply mirror the lock file on GitHub, or, to be more precise, wherever the store viewer page is hosted.
feat: don't load `lock.json` from third party
WofWca commentedon Apr 9, 2026
I have made a version of this website that loads the
-lock.jsonfile from the same server where the site is hosted, and not from a third party. On this branch.The following URL can be tried as a "store URL" on Android in Settings -> Advanced -> App Picker URL (on Desktop it's still not possible to pick a different URL but I think we should add an option for that):
https://wofwca.github.io/webxdc_website/apps/
I have tested it and it loads fine (as long as GitHub and Codeberg are not blocked, which they aren't in Russia), except for icons.☹️ ☹️ ☹️ ☹️ ☹️ ☹️ ).
But very unfortunately all apps are stuck in the same order regardless of whether they get new updates, (so now my Quake III app is forever # 1 in the list
Edit: if this proves valuable then we probably should host this version in a more official repo and not my fork. But I'll keep my fork for a while, at least until I forget what it's for and delete it accidentally.
feat: don't load `lock.json` from third party
feat: setting to set app picker URL
feat: setting to set app picker URL
feat: custom app picker URL setting
Amzd commentedon Apr 20, 2026
Being able to see the apps without setting a custom url (which is advanced usage) is important.
What's the reason the apps are stuck in wrong order in your fix? @WofWca
WofWca commentedon Apr 20, 2026
Easy to achieve, if we commit to mirroring the
xdc-lock.jsonfile somewhere on GitHub.Doesn't even have to be in this repo: we can just add a URL param that the store front would parse and fetch the
xdc-lock.jsonfile from.Because the apps's order in the UI matches the order they appear in the
xdc-lock.jsonfile.r10s commentedon Apr 20, 2026
this is very valuable. we should get that in, that things are only loaded from the same domain/origin. this makes it much easier to use a mirror - and to create a mirror.
well, a custom url is needed when the original is blocked for whatever reason.
sure, it may be nice to have fallbacks in the app or so - but they will easily become blocked then as well. so, setting a custom url is needed. ppl will learn that in this case.
for iOS we made the URL configurable as well at deltachat/deltachat-ios#3082
WofWca commentedon Apr 21, 2026
OK, I assume that we don't want to just merge the branch as is?
Then my proposal is as follows (in that order):
xdc-lock.jsonfile URL as a URL query or hash parameter (e.g.https://webxdc.org/apps/#https://webxdc.github.io/xdc-lock-mirror/xdc-lock.json).Set the default url to what's currently used, i.e. apps.testrun.org so as to keep things as is.
This will not affect the loading of icons, they're always loaded from apps.testrun.org
xdc-lock.jsonfrom apps.testrun.org file to GitHub.This will make the store front-end start to load for Russians (because GitHub is not blocked), but apps themselves will still not be able to load.
xdc-lock.jsonfile URL (see step 1) in this repo to the GitHub mirror URL from step 2.This will make the store work for all Russian users and they don't even need to change the app picker URL manually.
feat: custom app picker URL setting
feat: custom app picker URL setting
feat: custom app picker URL setting
feat: custom app picker URL setting
feat: custom app picker URL setting
feat: custom app picker URL setting
mrgluek commentedon Oct 17, 2026
Hi! Any progress on that? Right now I'm hosting mirror for Android here: https://apps.dc.gluek.info/store/
page, css, deps proxied from webxdc.org with caddy and main.js is local version with empty xdcget_export
so xdcget-lock.json, icons and *.xdc are local too, from /.. (=https://apps.dc.gluek.info/)