IsPlayerFreeAiming not working for non-local permanent ped

Client build: 2372 (Canary)
Server build: 5562
Category: Weapon / player natives

Expectation

I expect IsPlayerFreeAiming to tell me if another player is aiming when I pass their player ID

Reality

IsPlayerFreeAiming always returns false when another player’s ID is passed

Repro Steps

  1. Run the following code:
Citizen.CreateThread(function()
  while true do
    Citizen.Wait(0)

    for _, player_id in pairs(GetActivePlayers()) do
      if player_id ~= PlayerId() then
        print('Player ID is free aiming?', player_id, IsPlayerFreeAiming(player_id))
      end
    end
  end
end)
  1. Have a trusty side kick take out a gun and aim
  2. Cry when you read console and you don’t get the expected results: https://i.imgur.com/WXtRI8O.png

I did read this topic prior to posting, and confirmed we do not use SetPlayerLockon* natives anywhere in our code base.

Was it ever fixed? Perhaps post on the cfx repo as well?

Not a bug report, this seems to be intended R* game behavior: the flag used here is only updated for the local player and is not synchronized.

To the person above suggesting the following:

Be careful what you wish for. Posting the same thing in two places (IsPlayerFreeAiming not working as intended · Issue #1844 · citizenfx/fivem · GitHub) is not only wrong - the GitHub issues section is only for confirmed actionable work items, not feature requests - but it is also extremely annoying.

If something isn’t acted upon, it’s likely not acted upon because it’s relatively unimportant compared to risk/complexity or otherwise nobody had time or felt the need to do it.

Feature request, not a bug report. Not an important one, either.