Skip to content

Config Updates - Remove MapMods and Pantheons, Update Elemental Resistance Penalty#2

Merged
LocalIdentity merged 2 commits into
PathOfBuildingCommunity:devfrom
Peechey:feature/config_changes
Jan 4, 2025
Merged

Config Updates - Remove MapMods and Pantheons, Update Elemental Resistance Penalty#2
LocalIdentity merged 2 commits into
PathOfBuildingCommunity:devfrom
Peechey:feature/config_changes

Conversation

@Peechey
Copy link
Copy Markdown
Contributor

@Peechey Peechey commented Dec 3, 2024

Description of the problem being solved:

Remove pantheons, Map Section, MapMods, extraneous bandit code
Update resistance penalties

After screenshot:

image

@Peechey Peechey added the enhancement New feature, calculation, or mod label Dec 3, 2024
@Peechey Peechey force-pushed the feature/config_changes branch from 6c28811 to 9e5c990 Compare December 21, 2024 14:12
@Peechey Peechey force-pushed the feature/config_changes branch from 958e71e to 3e24b34 Compare January 4, 2025 03:48
@Peechey Peechey changed the title Config Updates Config Updates - Remove MapMods and Pantheons, Update Elemental Resistance Penalty Jan 4, 2025
@LocalIdentity LocalIdentity merged commit 9d35fbd into PathOfBuildingCommunity:dev Jan 4, 2025
@Peechey Peechey deleted the feature/config_changes branch January 12, 2025 15:12
Wires77 pushed a commit that referenced this pull request Jan 19, 2025
…ats-with-ATD

Fix resistance bug and Against the Darkness displayStats
LocalIdentity pushed a commit to Nightblade/PathOfBuilding-PoE2 that referenced this pull request Sep 9, 2025
LocalIdentity pushed a commit that referenced this pull request Sep 9, 2025
* fix:  update quest rewards for 0.3

* fix caps and "act" numbers

* use interlude+num instead of difficulty types

* update area levels

* add quest names/targets as comments,
minor fixes:  case, order, rm space

* move multi-line mods to comments

* Add support for multi mod quest rewards

* Fix Tests

* Fix tests attempt #2

---------

Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Soroand pushed a commit to rocky-soft/PathOfBuilding-PoE2 that referenced this pull request May 15, 2026
Six fixes against the bootstrap JSON-RPC server, all flagged Important by
the code reviewer; PathOfBuildingCommunity#4 is a real crash bug.

PathOfBuildingCommunity#1 Batch requests (JSON-RPC 2.0 §6): dispatcher.handle now detects array
   shape at the top and returns -32600 with a clear scope-out message
   ("batch requests not supported in this server (Phase 1.3a scope)").
   Phase 1.3b decides whether to implement batch. Documented in
   PORT_PLAN.md §4.2.

PathOfBuildingCommunity#2 Startup banner moved from stdout to stderr. Emitting a synthetic
   JSON-RPC response with id=null on stdout violated §5 (id=null is
   reserved for parse/invalid-request errors). stdout is now reserved
   for RPC traffic exclusively; the readiness signal joins normal
   diagnostic logging on stderr. Documented in PORT_PLAN.md §4.1.

PathOfBuildingCommunity#3 Dispatcher error-envelope shape: defensive coercion when a handler
   returns (nil, "bare string") or (nil, nil). Both now produce a
   spec-conformant {code, message} object instead of a bare string on
   the wire.

PathOfBuildingCommunity#4 (crash bug) rpc/tree.lua:54 nil-deref on ensure_build failure. The
   convention was inconsistent: ensure_build returned (false, app_error())
   but app_error itself already returned (nil, err_table), so the outer
   tuple was (false, nil) and `err.error` nil-dereffed. Refactored
   ensure_build to return nil on success / err_table on failure;
   callers now do `local err = ensure_build(); if err then return nil, err end`.
   New failing-path test in headless_spec.lua verifies the dispatcher
   surfaces this as a well-formed JSON-RPC error envelope, not a crash.

PathOfBuildingCommunity#5 Removed dead `if os.getenv("CI") == nil then ... end` block from
   entrypoint.lua — that's Phase 1.3b's Dockerfile concern.

PathOfBuildingCommunity#6 Changed `arg = {}` to `_G.arg = arg or {}` in entrypoint.lua —
   preserves a real arg if the orchestrator ever passes flags, and
   makes the global-write explicit (matches the file's otherwise-
   scrupulous use of locals).

Plus housekeeping:
- tests/README.md: documented stat-value regression, batch/notifications,
  and ImportFromNodeList allocation-assertion as Phase 1.3b TODOs.
- PORT_PLAN.md §1.2: pinned PR #9505 head SHA (948baf20...) so the
  design-reference doesn't go stale if upstream force-pushes.
- PORT_PLAN.md §2.3: clarified the 8 ms / 14 ms numbers are calc-only;
  full RPC round-trip latency is pending Phase 1.4 measurement.

10/10 busted specs pass under Alpine 3.20 + LuaJIT 2.1 + luautf8 0.1.6-1.
Soroand pushed a commit to rocky-soft/PathOfBuilding-PoE2 that referenced this pull request May 15, 2026
PR PathOfBuildingCommunity#2 fuzz-lite null-id probe surfaced that the upstream PoB engine bootstrap
(Launch.lua, tree loader, item loader) emits status messages via Lua's default
print() — "Loading main script...", "missing node N", "Startup time: 0 ms".
print() writes to io.stdout, which violates PORT_PLAN.md §4.1 (stdout is
reserved for JSON-RPC envelopes, one per line). The orchestrator's parser would
treat the bootstrap noise as garbage JSON the moment a real worker boots; the
null-id-as-notification probe captured this verbatim.

Fix is a single redirect installed BEFORE dofile'ing HeadlessWrapper.lua:
headless/io_channels.lua exports install_print_redirect() which replaces
_G.print with a function that formats arguments the same way Lua's reference
print does (tab-separated, newline-terminated, tostring-coerced) and writes
them to io.stderr instead. The redirect stays in place for the entire process
lifetime so any subsequent print() call by upstream code is also captured.

The dispatcher and server emit RPC responses via io.stdout:write directly
(verified via grep -- zero print() call sites under headless/), so this change
is invisible to the RPC path. Bootstrap output now lands on stderr where
PORT_PLAN.md §4.1 specifies it belongs.

Regression test pair added in headless_spec.lua:
  1. Stub io.stdout and io.stderr with recording streams, install the
     redirect, call print(...), assert the marker appeared on stderr exactly
     once and stdout received zero writes.
  2. Assert install_print_redirect() returns the previous print so callers
     that need to restore it can.

Headless safety lint passes (no blocked APIs); all 76 busted cases pass
(was 74) inside the calc-worker container.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants