Skip to content

docs: sync with opx_infinity #58–#87 (doorlock, loading, shared animations, staff, audits) - #11

Merged
dop42 merged 7 commits into
mainfrom
docs/sync-oct
Oct 4, 2026
Merged

dop42 merged 7 commits into
mainfrom
docs/sync-oct

Conversation

@dop42

@dop42 dop42 commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Syncs the docs with opx_infinity main from PR #58 to #87. The last sync was #57, in docs PR #9. Everything was checked against the code on main.

New pages

  • doorlock (opx_infinity/doorlock/): the ox_doorlock port (#70, #80, #86).
    • Covers using a door as a player, who may turn a door, commands and ACL, a staff panel walkthrough, backends (networked vs local), migration from the first table, every config key, and refusal codes.
    • The bypass is now the plain right opx.doorlock.bypass. STAFF_BYPASS is off by default, and staff holding the save grant can see the door's code.
    • Server and client contract, plus every opx:net:doorlock:* event and opx:on:doorlock:changed.
  • Door exports (creators/server/): GetDoor, GetDoorFromName, GetAllDoors, SetDoorState, SetDoorLocked, CreateDoor, EditDoor, RemoveDoor. A Doors group was added to the index and sidebar, and opx:on:doorlock:changed was added to creators/events. Nothing else under creators/ was touched.
  • loading (opx_infinity/loading/), from #62: the native loading cover, config/loading.lua, State, opx:on:loading:state, page-loading-ready, and the note that it needs an updated client.
  • animations/catalogue (#87): all 104 platform animations by family.

Updated pages

  • animations (#87):
    • categories, /e, /e with …, and the duo flow (paired kinds, any-two pairs, shortcuts, accept/decline/expire)
    • the PLATFORM, SHARED and DISABLED config keys, and what the platform cannot do
    • five new events, the parted offer, and new codes
  • admin (#67, #79, #82, #83):
    • redraws run on their own thread, builders yield, and staff lists are paged
    • staff immunity: opx.admin.immune and opx.admin.override
    • narrower grants: weapon.* for weapon items, an observe time limit when the operator lacks noclip, opx.admin.vehicle.anywhere and VEHICLES.REACH
    • busy and the per-operator quota, the announce cooldown, and kill_not_granted
  • core:
    • the shared OPX.Export gate (#58, #72)
    • OPX.Spots.* from lib/client/spots.lua, OPX.UI.ReleaseAllFocus, OPX.Locale.CatalogueSliced
    • Modules.Stop now yields, toast position and size limits, and gate retries
    • removed OPX.UI.Serve and OPX.Surface.HasFocus
  • WebUI concepts (#73): the records() and own() payload helpers, and the bundle size.
  • Guides: the per-resume instruction budget for module authors (keep handlers cheap, yield in loops), and the test budget meter in Contributing.
  • menu reopen-Enter grace (#61); target row motion with no stagger (#59, #60); panel, prompts, chat and hud audit changes.
  • inventory:
    • the open key no longer takes piles (#65)
    • item props: MODEL aliases and the decorative-weapon note (#68)
    • the fix for saving more than 12 stacks
    • in_use and holstering, piles filtered by bucket, and opx:net:inventory:bucket
  • appearance and shops: join and reset lifecycle fixes (#64, #66), fitting-room billing on the server (#75), and the floor and dedupe on present (#77).
  • calls: contacts only, with a cooldown on contact offers.
  • dealership (the withdrawn event, the hand-over spot), garages (passengers are refused), hauling (only your own or a keyed truck, via vehiclekeys.Holds), vehicles (condition saved on stop), elevators (the key stays silent away from a lift, and lifts are reclaimed), teleports, weather (SetTime returns a Result), downed, crafting, gunsmith, character, spawn.
  • Release notes: one table per PR group, worded for players, plus an Upgrading from PR #57 table for renamed, removed and new config keys and removed APIs.
  • Troubleshooting: the loading cover needs an updated client or screen.read; doorlock fallback to the local backend and why that backend is weaker; door rows refused; admins being asked for the code; opx.admin.immune must be granted explicitly; duo emotes unavailable; notContact.
  • migration/from-opx77: the chat:commandSubmitted row is updated, because opx:on:chat:submitted was removed in #82.
  • scripts/dump-surface.lua no longer wraps OPX.UI.Serve, which #71 removed, so the coverage check stops asking for it.

Not covered: opx_infinity #88 (menu wording, merged after #87), and the new creator APIs that will come in docs/api-power.

Checks

  • npm ci && npm run build: OK
  • node scripts/check-content.mjs: 233 pages, 0 problems
  • npm run check:api against a local opx_infinity main checkout: 1715 names checked, every published name documented
  • npm run types:check: OK

🤖 Generated with Claude Code

sh104 and others added 7 commits October 5, 2026 01:06
…uirement (opx_infinity #62)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ate retries, payload helpers, client budget (#58, #63, #71–#73, #84, #85)

dump-surface.lua no longer wraps OPX.UI.Serve, which #71 removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cooldowns; menu grace, eye motion (#59–#61, #67, #79, #82, #83)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…exports and changed event (#70, #80, #86)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…D config, new events (#87)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…held slots, calls contacts-only, vehicles/places fixes (#64–#69, #74–#78, #81, #84, #85)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…leshooting

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dop42
dop42 merged commit 4b6870f into main Oct 4, 2026
2 checks passed
@dop42
dop42 deleted the docs/sync-oct branch October 4, 2026 23:10
dop42 pushed a commit that referenced this pull request Oct 4, 2026
Merge #11: its doorlock export pages and its doorlock event are kept, the
duplicate Doors section of the server index dropped, and the crafting and
progress events kept beside them.

The review fixes on opx_infinity#89: a runtime item's use.status holds at most
8 needs and items travel four per event; OpenStash makes a configured stash at
its configured size; the stop cleanup leaves a caller that is running or
starting again.

Creator notes: a use handler slower than USE_HANDLER_MS is refused after its
effect may have applied, so answer fast and stay idempotent; GetInventory is a
read export and carries item metadata; public events are advisory, since any
server resource can raise them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant