Make something like Discord Rich Presence

(#927) Feature Planned profiles
Currently, Fluxer feels a bit "lonely" for a basic user. When I’m using the app, I can’t see what other people are up to, and they can’t see what I’m doing. On platforms like Discord, the "Rich Presence" feature makes everything feel more alive because you can see statuses and current activities at a glance. I think Fluxer is missing that social spark that tells you: "Hey, the community is active right now!" I’d love to see something like RPC feature built directly into the platform. It would be cool if our profiles showed things like:
  • Current Activity: e.g., "Browsing assets", "Editing a project", or just "Idle".
  • Session Timer: Showing how long someone has been active.
  • Custom Status: A simple text line where we can write what’s on our mind.
Just a reminder: I know the team is currently swamped with much more important core features and bug fixes. I’m posting this as a "future request" – something to think about for the long term when the platform is ready for more social features. No rush at all!

16 comments

Sign in with Fluxer to comment and vote.
Comment by Rex
RexSystem 1 vote
Status changed from Shipped to Planned
Reopened as planned because staff said rich presence was being worked on and nothing shows it shipped.
Comment by @Dontknow09
RexSystem 1 vote originally by @Dontknow09 on GitHub
I think we could just like shadow the normal discord rpc calls and react to them so most apps and games should work out of the box?
Comment by @Wdboyes13
RexSystem 1 vote originally by @Wdboyes13 on GitHub
This would be good, since it opens up the possibility of things like Spotify integration similar to discords.
Comment by @PhrolovaMoe
RexSystem 1 vote originally by @PhrolovaMoe on GitHub 4 replies
Discord just opens a unix domain socket (or multiple, 0-9) at $XDG_RUNTIME_DIR, which apps that have RPC support hook into. each message is a header (opcode as uint32LE + length as uint32LE) followed by a JSON payload. on top of this, Discord on Linux periodically scans /proc for processes and matches them against a database for automatic matching the opcodes are: 0 for handshake, 1 for frame (for setting activity, etc.), 2 for close, 3 for ping, and 4 for pong for maximum compatibility, we probably want to mimic what Discord does with its unix sockets, but this would prevent you from using Fluxer and Discord at the same time here's an example:
$ eza $XDG_RUNTIME_DIR | grep -i discord-ipc

discord-ipc-0
if this is a desired feature, I can try implementing it
Comment by @az-z31
RexSystem 1 vote originally by @az-z31 on GitHub
Why would mimicking Discord’s IPC necessarily prevent simultaneous usage? Couldn’t you namespace the socket instead of reusing discord-ipc-0?
Comment by @PhrolovaMoe
RexSystem 1 vote originally by @PhrolovaMoe on GitHub
you can have 10 sockets at once, but apps hook into the first free socket. if an app hooks into Discord's socket first, we can't do anything about it. if the user disabled RPC in Discord though, it could work Fluxer could have it's own sockets as well (fluxer-ipc-{0..9}), it's just that most apps won't implement RPC for Fluxer
Comment by @Dontknow09
RexSystem 1 vote originally by @Dontknow09 on GitHub
Why would mimicking Discord’s IPC necessarily prevent simultaneous usage? Couldn’t you namespace the socket instead of reusing discord-ipc-0?
Because using the same sockets as discord can ensure backwards compatibility with older games that will never add fluxer specific rpc.
for maximum compatibility, we probably want to mimic what Discord does with its unix sockets, but this would prevent you from using Fluxer and Discord at the same time
sorry if I know little about this but, can't we just intercept or read from the same socket as discord?
Comment by @Wdboyes13
RexSystem 1 vote originally by @Wdboyes13 on GitHub
yeah i was thinking that intercepting socket traffic targetted for discord and if discord is not open, creating that socket from fluxer, so that apps that support discord rpc automatically support fluxer.
Comment by @ZackMercury
RexSystem 1 vote originally by @ZackMercury on GitHub 5 replies
I don't want to see that in Fluxer. How do I downvote a feature? What I suggest instead is Activity Overlay
Comment by @Jackenmen
RexSystem 1 vote originally by @Jackenmen on GitHub
How do I downvote a feature?
Like this: image image
  • 557205084-1d0195f2-abcc-4cc8-b4c5-a9ba3ecdec0f.png

    557205084-1d0195f2-abcc-4cc8-b4c5-a9ba3ecdec0f.png

    529×119 | 16 kB

  • 557204645-13ca5cea-91ed-491b-98bf-7481f695d274.png

    557204645-13ca5cea-91ed-491b-98bf-7481f695d274.png

    413×123 | 23 kB

Comment by @Dontknow09
RexSystem 1 vote originally by @Dontknow09 on GitHub
Such negativity...
What I suggest instead is Activity Overlay
what does that mean?
Comment by @ZackMercury
RexSystem 1 vote originally by @ZackMercury on GitHub
what does that mean?
image
  • 557782793-28009f74-f4f6-46e8-a8cf-40949bdcf2e4.png

    557782793-28009f74-f4f6-46e8-a8cf-40949bdcf2e4.png

    282×256 | 25 kB

Comment by @Dontknow09
RexSystem 1 vote originally by @Dontknow09 on GitHub
afaik that's exactly what we were talking about lol
Comment by @NellowTCS
RexSystem 1 vote originally by @NellowTCS on GitHub
I haven’t seen clarification on whether server‑side or serverless‑originated activity updates are intended to be supported. My use case is: a web app (HTMLPlayer (beta)) sends some state to a backend (or serverless function), and that updates my Fluxer activity. Will this be supported? I’m mainly asking because Discord explicitly forbids RPC from external servers unless you have special permission, and I would love it if Fluxer supported it via server.