Skip to content

docs(audit): comprehensive client, upstream and issue review - #25

Merged
blakinio merged 15 commits into
mainfrom
docs/OTC-20260725-comprehensive-options-audit
Jul 26, 2026
Merged

docs(audit): comprehensive client, upstream and issue review#25
blakinio merged 15 commits into
mainfrom
docs/OTC-20260725-comprehensive-options-audit

Conversation

@blakinio

@blakinio blakinio commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Purpose

Provide the final source-grounded audit of OTClient capabilities, Tibia Global-like option parity, the exact 16-commit upstream synchronization, current deterministic defects and the dependency-gated delivery roadmap.

Verified synchronization result

Audit conclusions

  • accepted upstream effects and three deferred effects are recorded one by one
  • Oteryn Identity, no-password fallback, one-shot Game Session handling, shell-safe URL launch and strict asset gates remain preservation boundaries
  • deterministic lifecycle/options repairs are separated from modern protocol and Taskboard work
  • Taskboard and protocol 15.24/15.25 remain gated on exact Canary contracts and provenance-safe assets
  • dormant non-Windows platform compatibility is not inferred from Windows CI

Current execution order

  1. character-list lifecycle repair — draft PR fix(entergame): recreate character list after relog #31
  2. action-bar cooldown lifecycle
  3. Wheel, Forge and deterministic options fixes
  4. Oteryn presentation reconciliation after manual Windows visual review
  5. modern protocol and Taskboard only with exact cross-repository evidence

Scope and safety

  • documentation only
  • external repositories remained read-only
  • current-base diff contains only the task record and comprehensive report
  • no runtime, protocol, authentication or asset changes

Task: OTC-20260725-comprehensive-options-upstream-audit

blakinio and others added 12 commits July 25, 2026 15:06
Add the normative Oteryn OTClient architecture, workstream/file ownership map, copy-ready new-agent prompt, updated read order, and archived task record.
* chore(ci): claim Windows-only validation task

* ci: run required builds only on Windows

* docs(ci): record temporary Windows-only build policy

* docs(changelog): note Windows-only CI policy

* docs(task): record Windows-only CI implementation

* docs(architecture): define Oteryn client agent blueprint (#28)

Add the normative Oteryn OTClient architecture, workstream/file ownership map, copy-ready new-agent prompt, updated read order, and archived task record.

* docs(task): record Windows-only CI validation
* docs(task): archive Windows-only CI task

* docs(task): remove archived Windows-only task
Record the verified PR #28 squash merge SHA in the archived OTC-20260725-agent-architecture task and replace the stale pending-merge marker.
* fix(platform): compute mouseMoved delta in Cocoa mouse move events (opentibiabr#1747)

Bug Fixes:
- Mouse movement input now reports the correct movement delta when the cursor moves, improving responsiveness and accuracy for pointer-based interactions.

* fix(rewardwall): send the daily reward source byte Canary expects (opentibiabr#1748)

Bug Fixes:
- Improved daily reward collection behavior so shrine rewards are handled correctly.
- Shrine-based rewards now collect immediately for free and return users to the reward wall UI.
- Non-shrine reward confirmations now send the proper reward flag, preventing incorrect reward requests.

* fix: few modules that fail to load on the browser/wasm build (opentibiabr#1749)

Bug Fixes:
- Improved stability and consistency in wheel, gem, workshop, and action selection flows.
- Fixed UI behavior so graph-related controls are now available in all supported builds.
- Updated glow rendering to work reliably across more graphics environments.

* fix: allow ground-border items as use-with targets in Tile::getTopMultiUseThing (opentibiabr#1750)

Bug Fixes:
- Adjusted tile interaction behavior so certain items on a tile can now be selected more consistently.
- Improved the fallback selection logic to better recognize eligible multi-use objects, including some items that were previously skipped.

* fix: webgl crash on chrome 149+ (growable memory = resizable sharedarraybuffer) (opentibiabr#1751)

Bug Fixes:
- Updated the browser/WebAssembly build to use a fixed heap size instead of growable memory.
- Improves compatibility with newer Chrome versions and helps prevent WebGL upload failures and related runtime issues.

* fix: stop busy loop / OOM on unknown opcodes in parseMessage (opentibiabr#1752)

Bug Fixes:
- Fixed client message parsing when encountering unknown or unsupported opcodes, so the client correctly stops at the end of the current message instead of continuing to read.
- Prevented cases where malformed/unknown data could cause the client to loop indefinitely and degrade performance or memory usage.

* fix: expose TargetBot.Danger() in cavebot_1.3 for cave scripts (opentibiabr#1754)

New Features:
- Added a new target danger readout, making the current danger value available during gameplay.
- Danger information now tracks consistently with each macro cycle, improving real-time visibility into risk level.

* fix: useInventoryItemWith source stackpos on pre-780 protocols (7.6 usewith) (opentibiabr#1755)

Bug Fixes:
- Improved compatibility when using inventory items on older client versions, reducing silent failures.
- The game now correctly identifies the matching inventory item and uses accurate slot/stack information for the action.
- If the item isn’t found in the player’s inventory, the game will check nearby containers and proceed when available.

* fix: add --user-dir flag to isolate configs and profiles (opentibiabr#1756)

* fix: restore modules.game_interface.lastManualWalk for game_bot (opentibiabr#1757)

* fix: center NPC trade window and fix chat console/toggle overlap (opentibiabr#1759)

Style:
- Updated the NPC trade and chat window layout for improved positioning.
- Adjusted console sizing and spacing for a more balanced appearance.
- Centered the trade window and refined chat mode toggle placement.

* fix: outfit animation speed ignoring Animator when always animated (opentibiabr#1761)

Bug Fixes:
- Improved animation timing for creatures with attached animators.
- Ensured animator-driven phases are used when available, while preserving existing behavior for other creatures.

* fix: call draw preLoad before rendering foreground (opentibiabr#1763)

Bug Fixes:
- Improved rendering sequencing so preload work runs before any foreground interface draw tasks, reducing timing-related inconsistencies.
- Refined foreground UI rendering logic: it now renders immediately only when appropriate for offline play, and otherwise enqueues foreground UI updates when map rendering is available—removing the prior fallback that could render at the wrong time.

* feat: add 'resume' and 'pause' functions to Stats class (opentibiabr#1764)

New Features:
- Added the ability to pause and resume statistics collection.
- While paused, new statistics are no longer recorded; previously gathered statistics remain intact.
- Lua scripts can now control statistics collection using new pause and resume commands.

* fix: NPC trade greys out sellable items when an imbued copy is equipped (opentibiabr#1765)

Bug Fixes:
- Improved NPC trading quantity calculations for items with active imbuements.
- Prevented equipped imbuement items from being counted twice when determining sellable quantities.
- Ensured sellable item quantities never display as negative.
- Improved tracking cleanup when closing NPC trade windows.

* fix: select client asset archives by version (opentibiabr#1766)

Bug Fixes:
- Improved release archive selection by scoring candidate assets against the client version for more accurate matches.
- Added macOS-archive-path detection to exclude incompatible .app.zip/macos-variant archives from selection.
- Refined the no-match behavior so the system cleanly falls back to the standard zip download when no best archive is available.

* docs(architecture): define Oteryn client agent blueprint (#28)

Add the normative Oteryn OTClient architecture, workstream/file ownership map, copy-ready new-agent prompt, updated read order, and archived task record.

* fix(sync): preserve architecture and protocol gates

* fix(sync): defer unverified asset archive selection

* fix(npctrade): stop imbuement tracking on lifecycle end

* revert: restore complete NPC trader module

* fix(npctrade): stop imbuement tracking on lifecycle end

* test(protocol): cover skipping unread framed message bytes

* test(protocol): reuse existing InputMessage coverage

* docs(agents): catalogue runtime Stats controls

* ci: limit required builds to Windows (#27)

* chore(ci): claim Windows-only validation task

* ci: run required builds only on Windows

* docs(ci): record temporary Windows-only build policy

* docs(changelog): note Windows-only CI policy

* docs(task): record Windows-only CI implementation

* docs(architecture): define Oteryn client agent blueprint (#28)

Add the normative Oteryn OTClient architecture, workstream/file ownership map, copy-ready new-agent prompt, updated read order, and archived task record.

* docs(task): record Windows-only CI validation

* docs(agents): catalogue upstream public interfaces

* docs(task): archive Windows-only CI work (#29)

* docs(task): archive Windows-only CI task

* docs(task): remove archived Windows-only task

* docs(changelog): record reviewed upstream synchronization

* docs(task): finalize architecture merge metadata (#30)

Record the verified PR #28 squash merge SHA in the archived OTC-20260725-agent-architecture task and replace the stale pending-merge marker.

* docs(task): claim upstream synchronization

---------

Co-authored-by: mimus-assa <73607556+mimus-assa@users.noreply.github.com>
Co-authored-by: Kizuno18 <110933270+Kizuno18@users.noreply.github.com>
Co-authored-by: Eduardo Gallifa <eduardogallifao@gmail.com>
Co-authored-by: scarneiromarcelo-pixel <s.carneiro.marcelo@icloud.com>
Co-authored-by: Sherrat <85650362+gilfernandes234@users.noreply.github.com>
Co-authored-by: karlo <55144452+kiletic@users.noreply.github.com>
Co-authored-by: Eduardo Dantas <eduardo.dantas@hotmail.com.br>
Archive OTC-20260725-upstream-sync-16 after PR #26 merged as 38ef140 and exact-head CI run 30176493622 passed.

Move the task from active to archive and mark the merged Stats, user-directory and bot/manual-walk interfaces as maintained.
@blakinio
blakinio marked this pull request as ready for review July 25, 2026 23:07
@blakinio
blakinio enabled auto-merge (squash) July 25, 2026 23:48
@blakinio
blakinio merged commit 6e30c34 into main Jul 26, 2026
18 of 21 checks passed
@blakinio
blakinio deleted the docs/OTC-20260725-comprehensive-options-audit branch July 26, 2026 00:23
blakinio added a commit that referenced this pull request Jul 26, 2026
Archive OTC-20260725-comprehensive-options-upstream-audit after PR #25 passed CI and merged.
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