Desktop client cannot connect to self-hosted instances

(#641) Feature Under consideration desktop self-hosting
Caution
Note from moderator: This conversation is now locked because it became too heated. If your comment fell victim as collateral damage, don't fret – this is a very sensitive subject where people have lots of opinions and entitlement and want things happening now or else, and as such it has sparked a lot of interest and comments, drowning out my actual status updates. Now it should be easier to find those. See this comment from Hampus for what's to come!

What needs fixing?

I've setup a fluxer server at home on a custom domain. I can access it via the web browser. However when I load the desktop app it has a login screen immediately without any way that I can see to connect to a self hosted server. How am I supposed to use the desktop client with a self hosted server?

Suggested change

In the getting started docs it should have a section on how to connect to your server using the desktop client.
  1. Rex changed the status from Needs triage to Under consideration

5 comments

Sign in with Fluxer to comment and vote.
Comment by Hampus
HampusStaff 1 vote originally by @hampus-fluxer on GitHub
any progress on this yet?
Yes, there's quite some progress on my local dev build. It's possible to switch between accounts in real-time (it maintains an open WebSocket connection in the background across all accounts across any backend, making switching instant, you can receive push notifications across instances seamlessly, and it won't keep caches for an account that's not currently active in live RAM, but batch writes against a SQLite DB file on disk for each account when receiving events in the background, and load this into RAM only as needed, or query the disk cache as needed when another account is in focus to power rendering of unread channels in the Quick Switcher across instances, and more). This will be quite the upgrade! It also defaults to asking you which instance to use during initial setup now too of the desktop client. I'm working on finalising this and the voice update (most recently, I've managed to remove WebRTC entirely in favour of QUIC – see https://doc.moq.dev/ for reference, so while I'm not using MoQ directly, I'm simplifying my new entirely custom voice SFU, which is written to be largely API-compatible with that of Discord to make migrating bots and integrations easier, but now with a significant reduction in complexity and boost in performance since I'm switching entirely to QUIC across all platforms, removing the need for the overhead that WebRTC brings – so I'm finalising my testing on this across web, Windows, Linux, and macOS before calling it usable), and then when it's fully tested out locally, I'll land it in here, and deploy a separate staging environment for early testing amongst the people who are currently in the Canary Testers community on Fluxer.app. And when that's all done, I'll be able to schedule maintenance to do the backend upgrade needed for the new voice architecture, as well as synchronising the Canary and Stable clients to the very latest code here on Git. After that, we'll be able to move much faster without delays. Thanks for your patience with me. image image image image
  • 620559356-c9bb2851-2155-4a42-b8d7-9aa70c19aa29.png

    620559356-c9bb2851-2155-4a42-b8d7-9aa70c19aa29.png

    3740×2818 | 1.6 MB

  • 620559376-ef2dce5f-7aec-4dff-9b4d-61150ccd447b.png

    620559376-ef2dce5f-7aec-4dff-9b4d-61150ccd447b.png

    3742×2792 | 1.3 MB

  • 620559384-c8be49ff-a1b7-4570-94bb-0b4256d36f45.png

    620559384-c8be49ff-a1b7-4570-94bb-0b4256d36f45.png

    3748×2818 | 1.3 MB

  • 620559401-91b4acd8-5335-46e3-916d-9bbe2578d99d.png

    620559401-91b4acd8-5335-46e3-916d-9bbe2578d99d.png

    1176×552 | 85 kB

Comment by Hampus
HampusStaff 1 vote originally by @hampus-fluxer on GitHub
just a reminder that things are still happening on this front – currently working on fixing some web client bugs now that the canary client has been synced (and code-signed on Windows at last) with the latest code (as of two days ago), and has been made the default option on the website for both installing and the web app (see https://fluxer.app/download), so there are some notorious bug fixes that I've spent the day on backporting from my local work already. should be available in a bit, along with a new look of the landing page that I've also backported. then, I can resume my work towards a staging build with the new voice system and the new desktop client that supports multiple accounts across instances very well.
Comment by Hampus
HampusStaff 1 vote originally by @hampus-fluxer on GitHub
This conversation is now locked because it became too heated. If your comment fell victim as collateral damage, don't fret – this is a very sensitive subject where people have lots of opinions and entitlement and want things happening now or else, and as such it has sparked a lot of interest and comments, drowning out my actual status updates. Now it should be easier to find those.
Comment by Hampus
HampusStaff 1 vote originally by @hampus-fluxer on GitHub
image There is now also a disclaimer about this on the docs.
  • 636522497-64b15587-930f-4c9b-9ec2-c7352dfb921c.png

    636522497-64b15587-930f-4c9b-9ec2-c7352dfb921c.png

    1556×288 | 70 kB

Comment by Hampus
HampusStaff 1 vote edited by moderator originally by @hampus-fluxer on GitHub
Since some people still haven't got the memo: if you think I'm lacking openness and transparency because I deliberately avoid Reddit, come join Fluxer HQ (https://fluxer.gg/fluxer-hq) or Fluxer Developers (https://fluxer.gg/fluxer-developers). I post updates there almost daily, and HQ even has a channel called "What is Hampus crafting?" listing what I'm working on and in what order. As for this feature: I can't just let you mount a web URL in the desktop app. That would give arbitrary websites access to Electron APIs on your computer. Plus, fetching the app's own assets from a dozen random remotes is wildly inefficient too (and causes compatibility issues). So it's unperformant, insecure, and a Pretty Bad Idea™. That approach only really works for a centralised setup, and that's what prompted the new client architecture, which, as I've mentioned, is largely complete, however... The new desktop client architecture is taking a while because we've gained over 100,000 new users in the past few weeks. First Discord had to shut down screen sharing in Brazil. On top of that came several actual DDoS attacks. Someone paid real money for a 42M request DDoS peaking at around 83,000 RPS over a few minutes. We're holding up fine, and the platform is as stable as ever. Neither cybercriminals nor the common Reddit troll will stop me from delivering what people want. I've posted in a few Reddit threads and, naturally, met the trolls. Some even came onto the platform to call us slurs. I do wonder how "the desktop client can't connect to self-hosted instances yet" became worth that much emotion. I know full well that most people asking for this feature are perfectly decent, but it's popular enough that the other lot make up a large enough subset to cause problems, forcing me not to engage with people on Reddit or even on our GitHub issues. So here's my message: the grass is greener, and updates flow almost daily in HQ and Developers. Join there if you actually want to follow this. If Reddit is your primary source of Fluxer news, you'll end up in a hate bubble of galactic proportions with no bearing on reality, and if you bring that attitude onto the platform, you'll be banned. PS: Fresh docs for self-hosters are now live at https://fluxer.dev/, along with actual API docs. The new self-hosting docs include a script for installing and updating your instance. See #817 before upgrading to this version: just bumping the image tags will make the gateway container complain, because it needs a new environment variable, which the update script handles for you.