feat: Activity Detection (RPC) - #1150
Conversation
Specifically, this implementation only allows for UGC in text form correct, or can users also upload image assets? |
Yes, UGC in text form |
Would you be open to extending this to show your currently active activity in admin, specifically under the account information setting under "Pronouns". We would then also want a button under the account page under "Clear Profile Fields" for Activity |
thumbs up! |
|
Documenting; no action needed - things needed for merge:
|
Does this address the PWA or the Flutter client? |
|
To that end, how does this implementation handle if you have multiple running pieces of software that could be detected? Also, want to check in, have any privacy controls been implemented? We should make this opt-in instead of opt-out. These were not defined in the activity detection bounty, so they do not need to be implemented to claim the bounty - but for mass rollout, we should do it. That's on me, apologies. |
I did manage to integrate MPRIS in earlier development of this PR but it deemed useless to me and removed it later on while cleaning the code. |
It should hold up fine with multiple pieces of software running in the background, I'll showcase this later on with some screenshots and videos when I'm close to finishing this PR. |
At this time, we don't wish to act as a proxy gateway for selfhosted instances (we want to be air-gapped). So I don't think this structure is viable. We may consider it as part of some follow-up work, but for now, we should go with a system that each instance can manage independently. |
the self-hosted instances will be their own proxies. |
Ok, didn't write a spec originally so here is what is needed for rollout:
|
Ah, I misunderstood, I don't know if it's worth going that far right now, vs just MPRIs and accepting a mobile deficit. Is there a similar API layer on mobile apps to utilize 🤔 |
everything sounds fine to me, though I'd like to get small directions for 2. |
welp, I'm not sure myself.. I'm not a mobile dev at the very least (even though I'm looking forward to learning swift). |
looks good, the heading of the radio group could probably be renamed "Who can see your detected activity" for consistency – though I wonder if perhaps having a toggle under it for explicitly enabling and disabling detection entirely would make sense, and making "no one" then act as nobody but yourself being able to see it – then you could test your activity detection out fully locally, and it also becomes clear what to do if you don't want Fluxer to do any detection, not even visible only to yourself, with that split |
|
Looks awesome to me! |
Right that's a flaw I missed. flip. |
|
@vesaber - agree with @hampus-fluxer's design recommendation. @hampus-fluxer if you have insight, would anti-cheat detection be more forgiving of it then? My understanding of most client-side anticheats is that they detect at time of hooking, not by just presence of hooking code. |
|
@vesaber for 2. what direction were you looking for? |
I don't think any anti-cheat engine will care about an application probing the system for running processes – that's more or less just what any task manager would do – to my knowledge, detecting your activity should not require injecting a DLL into a running application like how fullscreen game capture works when screen sharing, there's nothing violating the integrity of other applications on your system in order to detect what's running 👀 |
none. You already gave me the right direction. Just needed small feedback for refinement. |
Sounds good - just let me know if you need anything :) |
|
@hampus-fluxer is this fine? |
|
@vesaber The two pictures are meant to convey the toggle on/off state correct? Some feedback: I think the line "Who can see your detected activity" should be below the enable toggle and its description. Enabling it is the top-level, and then once it's enabled, the visibility settings follow. |
|
I think it might make sense if activity detection as a whole is separated from profile privacy, perhaps, such that it would be:
|
thats totally fine and it definitely sounds better to do so. may i wait for the new sfu to release so i dont have any major issues with merging? |
|
sure, you can wait until I land my enormous PR if you'd like |
|
I built fluxer with this branch but I still can't get it to detect games or anything. Should I wait? |
did u also build the desktop app? |
Yes, I guess. I just used a PKGBUILD like this: Detailspkgname=fluxer-git _pkgname=fluxer pkgver=r285.1f044a4 pkgrel=1 pkgdesc="A free and open source instant messaging and VoIP platform built for friends, groups, and communities." arch=('x86_64' 'aarch64') url="https://fluxer.app/" license=('AGPL-3.0-or-later') options=('!lto') provides=('fluxer') conflicts=('fluxer') _electronver=39 _nodever=20 makedepends=( 'git' "nodejs>=$_nodever" "electron$_electronver" 'npm' 'pnpm' 'python' 'rust' 'clang' 'libfido2' ) source=( "$_pkgname::git+https://github.com/vesaber/fluxer.git#branch=feature/activity-detection" ) sha256sums=( 'SKIP' )pkgver() { prepare() { build() { package() { |



Summary
Verification
fluxer_desktop/src/main/__tests__in this PRChecklist
LLM Disclosure
No I did not use LLM in any of my additions but I can confidently say I vibecoded to JPEGMAFIA, Nirvana, Queens of the Stone Age and Jane Remover