Skip to content

[Cliente] Vazamentos de thread/entidade e toggles dessincronizados #58

Description

@ggfto

Contexto

Auditoria de bugs (ver BUGS_AUDIT.md). Vazamentos de thread/entidade e toggles dessincronizados no cliente.

Problemas

  • C-05 🟠 client/toggle_laser.lua:39-135 — cada toggle cria uma thread while true que nunca sai (inclusive ao desligar); N ciclos → 2N threads imortais mandando NUI a cada 500ms.
  • C-06 🟠 client/players.lua:5-21Blip/Tag são globais únicas sobrescritas por jogador no loop; removeNameAndBlips() remove só o último → blips/gamer tags órfãos.
  • C-07 🟠 client/vehicles.lua:187-220SpawnPersonalVehicle usa targetVehModel após Wait(100) fixo; sob latência >100ms ainda é nil → no-op intermitente.
  • C-08 🟠 client/misc.lua:112-129 e client/vehicles.lua:118-141 — UIs grudam: while show do ... end sai sem mandar show=false final; menu dev também crasha em lib.getVehicleProperties(false) ao sair do veículo (desync).
  • C-09 🟠 client/misc.lua:196-200 — DevMode faz TriggerEvent('...ToggleLaser')/ToggleNearbyScanner (toggles cegos) em vez de forçar on/off → toggles invertidos/dessincronizados.
  • C-10 🟠 client/main.lua:610-624 — GotoWaypoint teleporta para z+0.5 quando o probe de solo falha (quase sempre, terreno não-carregado) → embaixo do mapa.
  • C-11 🟠 client/wall.lua:39,48RegisterNetEvent(GlobalState["mri_wall"]..":toggleWall"): state-bag pode não ter replicado no init após restart ao vivo → concatenate a nil value mata o script.
  • C-12 🟠 client/noclip.lua:91-92SetEveryoneIgnorePlayer/SetPoliceIgnorePlayer recebem ped/veículo em vez de índice de Player (cache.playerId) → ignore não aplica.
  • C-13 🟡 diversos: main.lua:178,511 (getData registrado 2×), main.lua:121-125 (foco NUI sem atualizar MenuVisible), spectate.lua:29-45 (re-trigger sobrescreve oldPos), key_capture.lua:95-131 (race de watchersCount), world.lua:57-61 (setClipboard(nil)), vehicles.lua:18 (GetHashKey de handle), wall.lua:336-337 (health < 101 rotula ferido como morto).

Severidade: 🟠 Médio — IDs: C-05..C-13

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingluaLua (server/client) code

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions