Commit Graph
521 Commits
Author SHA1 Message Date
ДмитрийandClaude Opus 5.5 3be5fe9609 Install the pinned MSVC toolset from the Manager
Modules must be compiled by the core's exact compiler. The Toolchain tab now
offers Microsoft's stable-channel Build Tools bootstrapper (VS 18) with the
14.44 toolset, core build tools, Windows SDK 26100 and CMake preselected:
downloaded from aka.ms, Authenticode-checked for Microsoft, run in its own UI
(modify mode for an existing Build Tools 18). Shows the required and selected
cl.exe versions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:38:58 +05:00
ДмитрийandClaude Opus 5.5 da94fb49a4 Rebuild installed modules for the new core during an update
The core changes almost daily and a plugin loads only into the core it was
built for. update::apply now brings every enabled plugin to the new core
before the trial start: a build already in the store is reused, otherwise it
is rebuilt from the sources recorded at its last build (build recipe). A
plugin that cannot be rebuilt is switched off with the reason (and plugins
that depend on it); the core update always goes ahead. A rollback puts the
builds for the restored core back. The update result lists rebuilt and
switched-off modules.

Also: plugin.json records the real compiler instead of a fixed string.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:36:16 +05:00
ДмитрийandClaude Opus 5.5 76be1d3238 Module builds: skip unbuilt dirs for the loader, compile bundled packs once
- The loader is chosen only from directories the build compiles: Companions
  has a reference pilot/ whose loader was picked and never compiled (LNK2019).
- A bundled tree inside the primary one (Content Scaling's content-packs/)
  is compiled only as the bundle (was LNK2005 on every pack symbol).
- Env-driven test builds the preview modules against a CI core pair and
  requires the realm's host fingerprint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 11:38:33 +05:00
ДмитрийandClaude Opus 5.5 46fcc780bd Build modules with the exact MSVC the core's SDK names
Finds every Visual Studio / Build Tools install with vswhere, reads each toolset's cl.exe
version, and calls vcvars64 (or VsDevCmd in a minimal Build Tools install) with -vcvars_ver
for the one the SDK's compiler= input names. A missing toolset is reported with the version
needed and the ones installed. CMake/Ninja come from any install, not only VS 18 Insiders.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 08:47:41 +05:00
ДмитрийandClaude Opus 5.5 c29945095b Unpack the SDK a core package ships (Core/plugin-sdk.zip) for its own host only
A core update or rollback then always brings the matching SDK; an archive of
another core is ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 20:14:18 +05:00
ДмитрийandClaude Opus 5.5 e8ac3151a3 Plugin SDK per realm core, Dungeon Clear bundle, reliable incremental builds
- The host records its own ABI fingerprint (.coapl); the manager reads it from
  worldserver.exe instead of hardcoded fingerprints (solver, provenance, analyzer).
- SDK store per realm: <realm>/.manager/sdk/<16 hex of fingerprint>/, chosen by
  the host fingerprint; install_realm_sdk refuses an SDK of another core.
- Dungeon Clear is built into the SQUID DLL (bundle); persistent build cache.
- Refuse layouts whose header paths exceed Ninja's Windows path limit (such
  headers counted as changed and every build became a full rebuild).
- Compile jobs limited by free RAM; full build log kept in build.log; failures
  without an MSVC diagnostic report the failed step and the log tail.

Bundle test: full build 1425 s, after a one-file change 9.7 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 19:26:09 +05:00
ДмитрийandClaude Opus 5.5 0a56bc7cf2 fix(builder): build Companions whole, against real host exports; verify the DLL's ABI fingerprint
- Removed COMPANIONS_SHIMS_CPP: it redefined core functions inside the plugin as
  stubs (Unit::CalculateSpellDamage/SpellDamageBonusDone/Taken -> 0,
  AuraEffect::GetMiscValue -> 0, LFGMgr::GetDungeon/GetOptions/GetLockedDungeons,
  Player::HasQuestForItem -> false, ...) and replaced the whole training arena
  with empty functions. The DLL linked, but bots silently lost real damage, LFG
  and quest logic. The core now exports those symbols (spike/plugin-host 9575b8d8e,
  plus SQUID's in the next commit there).
- Stopped dropping training/ and world/encounters/ sources and the string
  rewriting of BotMgr.cpp (upstream already uses the public guild API).
- Qualification reads the fingerprint from the DLL's .coapl section and compares
  it with the SDK's sdk.json instead of a hard-coded constant.
- Real-build tests take turns (the engine allows one build at a time).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 12:16:17 +05:00
Дмитрий c0260247ba feat: integrate Dungeon Clear with strict SQUID dependency and mutual exclusion in modules-v2 2026-11-04 10:28:58 +05:00
Дмитрий 3597b196e3 catalog: add Zyth45/mod-dungeon-clear as recommended SQUID companion module 2026-11-03 20:40:49 +05:00
Дмитрий 03722a1d9d fix: automated verified builds for all recommended modules mutual bot exclusion and UX fixes 2026-11-03 19:22:00 +05:00
Дмитрий fb55eb97a9 fix(builder): force ninja response files for win32 cmdline limits, fix git cache repo name detection 2026-11-03 17:50:44 +05:00
Дмитрий 4ebf86d222 fix(builder): preserve module tree structure, sanitize cmake include paths, and suppress console windows 2026-11-03 17:00:18 +05:00
Дмитрий c2bf8ecbb6 fix(modules-preview): isolate dll detection, deduplicate plugins, fix toggle exclusivity and metadata resolution 2026-11-03 16:26:37 +05:00
Дмитрий 221f4a93d3 fix(modules-preview): fix bot builds, scaling recognition, and add live build progress bar 2026-11-03 16:02:41 +05:00
Дмитрий be644f8c54 fix(modules-preview): chain build on card click, fix MSVC definitions & include shadowing, humanize errors 2026-11-03 14:40:14 +05:00
Дмитрий 6334402542 fix(builder): resolve build target url correctly and normalize custom-races catalog card 2026-11-03 13:57:58 +05:00
Дмитрий 508ebb6ad1 fix(analyzer): raise repository and file size limits for data-heavy modules 2026-11-03 13:25:18 +05:00
Дмитрий 4b16157d10 fix(catalog): enforce DLL presence for installed status and improve recommended UI 2026-11-03 13:16:04 +05:00
Дмитрий 86482fe278 fix(build): embed frontend dist into preview binary without devUrl 2026-11-03 12:31:46 +05:00
Дмитрий 7d062faa1a merge: bring preview/modules-v2 up to date with master (base 0.9.7) 2026-11-03 12:01:47 +05:00
Дмитрий 223dc56c7d fix(modules): show tbc-content and wotlk-content only when content-scaling is installed 2026-11-03 11:50:29 +05:00
Дмитрий d736bc0c47 fix(ui): format build and analysis errors with human-readable messages 2026-11-03 11:45:48 +05:00
Дмитрий e5386d6133 fix(catalog): remove Solocraft from recommended, exclude vanilla playerbots and dungeon-clear 2026-11-03 11:38:28 +05:00
Дмитрий cba8ea3a87 fix(ui): align PublicCatalogueItem fields and prevent TypeError on item.id 2026-11-03 11:20:36 +05:00
Дмитрий d9f9d0f0c2 docs: add module catalogue implementation report 2026-11-03 10:50:11 +05:00
Дмитрий d0c57f9b75 feat(ui): integrate dual-group public AzerothCore catalogue into ModulesPage 2026-11-03 10:49:20 +05:00
Дмитрий c53fc64d8b feat(ipc): expose public module catalogue Tauri command and API client 2026-11-03 10:49:10 +05:00
Дмитрий 6bbdef1989 feat(analyzer): enforce CoA module blocklist in analyzer and build engine 2026-11-03 10:49:04 +05:00
Дмитрий 4e661e6986 feat(core): implement AzerothCore module catalogue engine, overlay and caching 2026-11-03 10:48:56 +05:00
Дмитрий 3dbfffba76 fix(preview): separate app updater manifest, enable preview self-update, add qualification evidence 2026-11-03 08:06:10 +05:00
Дмитрий c3664b881d docs(preview): add architecture, qualification, matrix, migration, tester guide, and handoff runbook 2026-11-03 01:22:06 +05:00
Дмитрий 3b06b75a66 feat(preview): authoritative module inventory, contract solver, server migration center, isolated preview updater 2026-11-03 01:19:27 +05:00
Дмитрий 4fbcc4d29b feat(preview): full modules UX redesign, custom races per-race toggles, time-is-time settings, clean names, and official protection 2026-11-03 00:28:38 +05:00
Дмитрий 3e44ca7455 feat(ui): unified installed modules, supported-only catalog, inline github bar, dynamic conf parsing 2026-11-02 23:51:19 +05:00
Дмитрий 2c37c4e29a feat(preview): implement SDK v0.3.2 capability integration, honest verified catalog, official modules settings, and clean module identity 2026-11-02 23:01:07 +05:00
Дмитрий f8312976a7 fix(preview): embed production frontend assets and remove devUrl from build config 2026-11-02 20:47:14 +05:00
Дмитрий d5ae38440d fix(preview): resolve Tauri updater plugin config deserialization panic on launch 2026-11-02 20:10:29 +05:00
Дмитрий 3367be2e99 chore(preview): add automated qualification runner script 2026-11-01 16:31:58 +05:00
Дмитрий bd98d3eb73 feat(preview): implement CSM Modules Preview standalone edition with Controlled Build Engine, SQL review gate, and test realm integration 2026-11-01 16:29:35 +05:00
github-actions[bot] bc62ae206f Update published Manager changelog 2026-11-01 11:00:31 +00:00
Дмитрий 0f0f9e6fe2 feat(sdk): SDK v0.3.2 hardening, artifact provenance, and realm-bound GitHub analyzer 2026-11-01 16:00:05 +05:00
Дмитрий e97fe52ab3 feat(analyzer): implement Analyzer v0.2.1 and Adapter Generator v0.1 2026-10-31 15:45:43 +05:00
Дмитрий 4e73c28f7b feat(analyzer): implement Module Analyzer v0.2 with evidence-driven rules 2026-10-31 12:53:31 +05:00
Дмитрий 28af9e2907 feat(analyzer): implement Module Compatibility Analyzer v0.1 in coa-core 2026-10-31 12:16:42 +05:00
Дмитрий 68e9d7d0cf fix(csm_plugins): handle password and env_remove properly in reconcile_squid 2026-10-31 11:56:06 +05:00
Дмитрий 873db420c0 feat(csm_plugins): support live mysql query in reconcile_squid command 2026-10-31 11:49:59 +05:00
Дмитрий b2572d4f7c wip(realms): checkpoint work-in-progress files on branch for clean build provenance 2026-10-31 11:47:51 +05:00
Дмитрий aff7659625 fix(plugins): trigger after_config_edit crash injection regardless of enable_key presence 2026-10-31 10:42:11 +05:00
Дмитрий 49d1ae75ab feat(plugins): implement durable transaction journal, crash recovery, and multiworld reference safety 2026-10-31 10:34:37 +05:00
Дмитрий cf94868fd9 feat(plugins): harden FV1 RC with dual-source SQL reconciliation, TxGuard rollback, and multiworld isolation 2026-10-31 09:53:34 +05:00