Skip to content

Resolve "Enhancement: improve "use another instance menu""

jovuit requested to merge jovuit/funkwhale_OLD:715-set-instance into develop

Fix #715 (closed)

I started to work on this issue, and it starts to look good. Here is the TODO:

  • Move the form to switch the instance to a dedicated file (front/src/components/SetInstanceModal.vue)
  • Handle the case where the modal appears when there is no current instance
  • Replaced the bulleted list of suggested instances by buttons
  • Enhance the buttons (stand: not nice :/)
  • Add a link to the current instance
  • Remove deprecated code in App.vue and Footer.vue
  • Perform a check whether the given url is a running funkwhale server
  • Perform a check whether the suggested instances are running funkwhale servers or not, and adapt the color (?) of the button accordingly
  • Added i18n <translate> tags including translation context (#662 (closed))
  • Add a changelog fragment

I would need your help though on how to check the status of a given url. The function fetchDistantNodeInfo(givenurl.audio) should reach https://givenurl.audio/api/v1/instance/nodeinfo/2.0/. Depending on the response, it should be quite easy to check if the server is a running funkwhale server or not.

I wanted to perform those requests with axios, as it seems the dedicated tool to do so, however, the requested url is always currentinstance.audio/givenurl.audio/api/v1/instance/nodeinfo/2.0/, I can't get it to work outside of the current instance. Even if I use a dedicated instance (see https://github.com/axios/axios#custom-instance-defaults), I still get a request inside the current instance.

How would you perform to make such a request? Is it a good practice to hard code /api/v1/instance/nodeinfo/2.0/ here (is it really maintainable?)

Sorry for those beginners questions, but I think I could go further if I get some help at this point! Thanks a lot!

Edited by jovuit

Merge request reports