Files
logos-basecamp/app
Dario Gabriel LipicarandClaude Opus 5 432f6663c0 fix(plugins): read object-form core dependency entries, refuse the rest
The load gate now understands both forms the LGX spec allows, and reports
what it cannot understand instead of walking past it.

Green — 14/14, was 9/14:

  PASS   : object_entry_yields_its_name()
  PASS   : object_entry_without_constraints_yields_its_name()
  PASS   : json_object_entry_yields_its_name()
  PASS   : hash_object_entry_yields_its_name()
  PASS   : a_number_is_unrecognised()
  Totals: 14 passed, 0 failed

Two behaviour changes at PluginLoader::loadCoreDependencies:

* {"name": "wallet_module", "version": "^2.0.0", "signer": "did:…"} now
  loads wallet_module. Before, QVariant::toString() returned a null
  QString for it and the `if (depName.isEmpty()) continue;` skipped the
  dependency with no error and no log line — the ui plugin then mounted
  on top of a core module that was never loaded, and the first symptom
  was a dead endpoint somewhere else entirely.

  Latent today only because the module ABI still sends bare strings
  (package_manager_impl.cpp's toLogosMap flattens the constraint away).
  It arms itself the moment that is widened. Every other reader in the
  fleet already handles both forms — logos-module's module_metadata.cpp,
  logos-standalone-app's mainwindow.cpp, logos-cpp-sdk's
  metadata_dependencies.h, lgpm's manifest scan. Basecamp was the outlier.

* An entry that is neither a name nor an object with a string "name" is
  now a hard, logged load failure rather than a silent skip. Same reason:
  we cannot honour a dependency we cannot name, and mounting anyway hides
  it. This also stops a stray scalar being stringified into a module
  name — QVariant(42).toString() is "42", and the old loop would have
  gone looking for a module called that.

Unreachable from `lgpm install` today: logos-package's Manifest::fromJson
rejects a non-string/non-object entry outright, and lgpm's own scan warns
and drops what gets past it. The branch exists for the manifests that
bypass both — embedded installs written at build time, and anything
edited in place afterwards.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 11:14:46 -03:00
..
2026-05-25 13:03:20 -04:00

Logos Basecamp

Building the Application

Prerequisites

  • Qt 6.x
  • CMake 3.16 or higher
  • C++17 compatible compiler

Build Instructions

  1. Create a build directory:

    mkdir -p app/build
    cd app/build
    
  2. Run CMake:

    cmake ..
    
  3. Build the application:

    make
    
  4. Run the application:

    ./LogosBasecamp