Commit Graph
208 Commits
Author SHA1 Message Date
ДмитрийandClaude Opus 5.5 9f48cfc8d5 preview 0.9.10: bare modular core for new servers, modular copy of classic servers
- A new server goes on to the preview core without compiling any module
  (recommended modules are declined once; modules come from the Modules page).
- Choosing a server with the classic core makes a modular copy next to it:
  every acore_* database (read from the running database, or from a private
  copy of the stopped data files opened by the new server's own mysqld),
  module configs and realm profiles, ports and console login. The old server
  is only read. The copy then takes the preview core with the modules the old
  server had switched on.
- Installs and the preview update run on unused ports, so a server running on
  the shipped ports (the old one, or any other) no longer stops them; the
  schema check after "Preparing database" used the shipped port before.
- Dungeon Clear is part of SQUID's Playerbots: no card of its own (it said
  "Always on" while SQUID was off), switched with SQUID, settings on the SQUID card.

E2E (examples/preview_bare_and_copy_e2e, disposable servers, another server
running on the shipped ports): fresh install committed with no plugins and a
clean boot report; copy of a stopped and of a running classic server: data
identical, old server's files byte-for-byte unchanged, Content Scaling and
Companions built on the copy, preview core committed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:49:03 +05:00
ДмитрийandClaude Opus 5.5 3866e219ce preview: a new server goes straight on to the modular core
The install used the stable image and left the preview core for a later
update, so a fresh Modules Preview server showed every module as built in
and no Plugin SDK. install_new now applies the preview update right after
the base install (same signed update and module build every server takes);
a failure leaves the classic core and the done screen says so, and modules
that did not build are listed. A hand-picked package and Docker keep the
old behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:10:03 +05:00
ДмитрийandClaude Opus 5.5 6723a7eda1 preview: remove developer test-realm shortcuts before the first public preview
The Modules page had a 'Register test-realm-v03' button and the app registered a hardcoded local
folder into an empty server list at startup. Both pointed at a developer's machine. The startup
registration now happens only when COA_TEST_REALM_DIR is set. test_detect_toolchain skips when the
local spike realm is absent (CI runners).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:48:00 +05:00
ДмитрийandClaude Opus 5.5 2bec907fa7 Merge Manager 0.9.9 (master) into the Modules Preview
Stable packages from 0.261104.94 need Manager 0.9.8; the preview was 0.9.7.
Conflicts kept the preview's module screen and plugin-aware module logic, took
master's requires-squid compatibility value and version 0.9.9 under the
preview's own product name and identifier.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 16:23:05 +05:00
ДмитрийandClaude Opus 5.5 9153e3ece5 Install the modules a plugin-host core recommends before its first start
A core that loads Content Scaling, Companions and SQUID as plugins ships
Core/plugins/recommended.json with the module repositories and commits. During
the update (the move from a monolithic stable server) the Manager downloads
each module as GitHub's archive of that commit (no git needed), builds it with
its bundled trees, installs and enables it, before the trial start. Rules keep
the bot choice: SQUID only if it was switched on in playerbots.conf, otherwise
Companions. Handled modules are remembered so a removed module is not
reinstalled; a failed one is retried at the next core change.

Verified on a CI core: Content Scaling (+packs) and Companions downloaded,
built, installed and written to the plugin lock in 225 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 15:48:23 +05:00
Дмитрий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 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
Дмитрий 173248efbe Prepare Manager 0.9.9 with isolated login validation and translated release notes 2026-11-03 19:44:03 +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
Дмитрий 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
Дмитрий 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
Дмитрий 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
Дмитрий 3dbfffba76 fix(preview): separate app updater manifest, enable preview self-update, add qualification evidence 2026-11-03 08:06:10 +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
Дмитрий d5ae38440d fix(preview): resolve Tauri updater plugin config deserialization panic on launch 2026-11-02 20:10:29 +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
Дмитрий 0f0f9e6fe2 feat(sdk): SDK v0.3.2 hardening, artifact provenance, and realm-bound GitHub analyzer 2026-11-01 16:00:05 +05:00
Дмитрий 076fba185c Remove duplicate Dungeon Clear dependency translation key 2026-11-01 14:23:37 +05:00
Дмитрий 23cbb108ad Prepare Manager 0.9.8 with isolated validation and SQUID module controls 2026-10-31 20:00:11 +05:00
Дмитрий b2572d4f7c wip(realms): checkpoint work-in-progress files on branch for clean build provenance 2026-10-31 11:47:51 +05:00
Дмитрий 90f93074c2 feat(plugins): implement CoA Dynamic Plugin Architecture (FV1) in CSM 2026-10-31 09:23:10 +05:00
Дмитрий 56faaa3a2a Qualify translations against the exact upcoming server notes including SQUID 2.8.2 2026-10-30 20:32:31 +05:00
Дмитрий 7e7216979a Refresh release notes for the offered update instead of reusing incomplete history 2026-10-30 15:08:29 +05:00
Дмитрий 30d2f56997 Stabilize server lifecycle, client settings and release qualification 2026-10-30 14:04:18 +05:00
Дмитрий c004b90c54 Translate reviewed server candidate notes for Manager 0.9.4 2026-10-29 16:29:04 +05:00
Дмитрий dad10d8a5d Integrate settings and release history for Manager 0.9.4 2026-10-29 16:10:43 +05:00
Дмитрий e7b76137d1 Prepare Manager 0.9.3 and verify platform-specific realm restriction 2026-10-29 10:07:33 +05:00
Дмитрий 2d9c6a65bb Recover safely when rollback restores a legacy world launcher 2026-10-28 22:57:00 +05:00
Дмитрий ce83f04d9d Prepare Manager 0.9.2 with database startup and configuration fixes 2026-10-28 22:17:26 +05:00
Дмитрий 8bbf16ed4f Prepare Manager 0.9.1 hotfix without settings redesign 2026-10-28 17:46:38 +05:00
Дмитрий 324e9810cc Compare character start gaps against a saved pre-update baseline 2026-10-28 17:40:42 +05:00
Дмитрий 733d73ef76 Keep window density stable and group update and launch actions 2026-10-28 15:42:47 +05:00
Дмитрий 5525325160 Group Manager settings and add translated release history 2026-10-28 15:26:01 +05:00
Дмитрий dc97095bd6 Prepare Manager 0.9.0 candidate and translate integrated realm controls 2026-10-28 08:25:41 +05:00
Дмитрий c6d8e5554d Integrate Manager features and preserve portable controls in the realm dialog 2026-10-28 08:23:35 +05:00
Дмитрий 0900a4a143 Merge remote-tracking branch 'origin/feat/publish-realms-dialog' into prepare/manager-20261028 2026-10-28 08:22:09 +05:00