-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
feat: allow the user to replace maps integration #5678
base: main
Are you sure you want to change the base?
Conversation
4c4841e
to
91dfe46
Compare
b25e11f
to
1ae8e9a
Compare
eaaeb05
to
802b821
Compare
i renamed the manifest entry to nb: i just realised that in a subsequent PR, we can restrict |
NO, just make it use the core http call that does not bypass socks5 proxy / tor. Adding user agent / header support to that method (https request over core) is not as hard as you seem to pretend. Also the better and MUCH easier solution to the "china blocks OSM" problem would be to add a menu to the map xdc that offers you 3 different endpoints to choose from and just add those domains to the DNS whitelist in desktop. CC @missytake |
can one route the normal js http-get calls through core? that'd be great! in general, we have as said above - we even aim to restrict note, this all is not about china, it is about china currently. surely we will add an option to the map, there are already quite some suggestions for that. but the gist is to enable js-developers and power-users to adapt, eg. to try out which things are working, making parts extensible. while dogfooding .xdc outselfes - also for us it's much easier to be able to test a map variation eg. on iOS without build things |
It is possible to use |
DNS exfiltration(prefetch?) issue was found and fixed by restricting DNS, this broke the experimental |
i see :/ how does html-message-view work with DNS restricted that way? but anyways, this discussion can be continued when 1.46 is out. i do not wanted to shift things apart from that (but i also did not expect these issues) |
it uses the core http api |
k, thanks a lot for insights. so, options so far:
both options would be good enough for now (and would be needed also if we do not allow replacement of .xdc but adapt the shipped xdc and add a selector). again: when 1.46 is out :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed by reading
Successful tested with Desktop
68800d2
to
4ee66b4
Compare
4ee66b4
to
8a73194
Compare
8a73194
to
1d4adf6
Compare
with this PR, when an
.xdc
withrequest_integration = map
in the manifest is added to the "Saved Messages" chat, it is used locally as an replacement for the shipped maps.xdc (other devices will see the.xdc
but not use it)this allows easy development and adapting the map to use services that work better in some area.
there are lots of known discussions and ideas about adding more barriers of safety. however, after internal discussions, we decided to move forward and also to allow internet, if requested by an integration (as discussed at #3516).
the gist is to ease development and to make users who want to adapt, actionable now, without making things too hard and adding too high barriers or stressing our own resources/power too much.
note, that things are still experimental and will be the next time - without the corresponding switch being enabled, nothing will work at all, so we can be quite relaxed here :)
for android/ios, things will work directly. for desktop, allow_internet needs to be accepted unconditionally from core. for the future, we might add a question before using an integration and/or add signing. or sth. completely different - but for now, the thing is to get started.
nb: "integration" field in the webxdc-info is experimental as well and should not be used in UIs at all currently, it may vanish again and is there mainly for simplicity of the code; therefore, no need to document that.
successor of #5461
this is how it looks like currently - again, please note that all that is an experiment!
... when going out of experimental, there are loots of ideas, eg. changing "Start" to "integrate"