Skip to content

feat: use logos-delivery-module journey#226

Open
igor-sirotin wants to merge 7 commits into
mainfrom
feat/use-delivery-journey
Open

feat: use logos-delivery-module journey#226
igor-sirotin wants to merge 7 commits into
mainfrom
feat/use-delivery-journey

Conversation

@igor-sirotin
Copy link
Copy Markdown

Closes #145

@fryorcraken
Copy link
Copy Markdown
Contributor

  • returned values are not checked
  • no version of delivery module is provided (so doc would break with a breaking change).

@fryorcraken
Copy link
Copy Markdown
Contributor

Critical issue:

  1. docs only reference to master HEAD
  2. the "released" module in basecamp is not tagged in github
  3. API is different between master HEAD and what was released in basecamp (LogosResult vs Bool return value)

@danisharora099
Copy link
Copy Markdown

danisharora099 commented May 11, 2026

Hi team, are there any updates on the docs? I'm considering a pre-dogfooding but since this PR is in progress, I can hold off until there is an update on docs here and perhaps do a dogfooding instead.
@igor-sirotin

@igor-sirotin
Copy link
Copy Markdown
Author

Hi team, are there any updates on the docs? I'm considering a pre-dogfooding but since this PR is in progress, I can hold off until there is an update on docs here and perhaps do a dogfooding instead.

Hey @danisharora099! Thanks for looking into it.

I was busy with some stuff and also waiting for some fixes to land into delivery module.
Let me update the doc and dogfood it myself, should be ready in a few days then. I'll ping you

@igor-sirotin igor-sirotin force-pushed the feat/use-delivery-journey branch from 7f74791 to f498d51 Compare May 11, 2026 14:38
@igor-sirotin igor-sirotin force-pushed the feat/use-delivery-journey branch from 51a98e8 to c85b6bb Compare May 11, 2026 22:44
@igor-sirotin
Copy link
Copy Markdown
Author

@danisharora099 @fryorcraken

  1. I've updated the doc
  2. I've implemented https://github.com/logos-co/logos-delivery-demo according to the doc. Works.

Issues to be resolved

I think the docpacket is good to go as is anyway, workarounds are mentioned. As soon as fixes are ready, I'll update the doc. So I'm opening the PR for review now.

@igor-sirotin igor-sirotin marked this pull request as ready for review May 11, 2026 22:49
@danisharora099
Copy link
Copy Markdown

I'm currently dogfooding this doc. Share updates soon

// LogosModules* m_logos = nullptr;

void MyPlugin::initLogos(LogosAPI* api) {
m_logos = new LogosModules(api);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to store api as suggested here, or safe to not?

Copy link
Copy Markdown

@danisharora099 danisharora099 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking review — used this journey end-to-end while wiring logos-delivery-module v0.1.1 into logos-co/eth-lez-atomic-swaps. Got us from zero to a working downstream module + UI pair on bin-macos-app Basecamp. Feedback below is tracked as separate issues so this PR doesn't need to carry it.

Things that worked straight off the doc:

  • Step 2 config flow (getAvailableConfigs → pick defaultcreateNode / start / stop) — no surprises.
  • Step 3 events 1–3 (messageReceived, connectionStateChanged, subscribe(contentTopic)) — copy-paste into swap_delivery_adapter.cpp worked first try.
  • messageSent / messagePropagated / messageError fired with the documented payload shape on every send path we exercised.

Doc-side follow-ups, consolidated into #270:

  • A5 — late-subscriber drain pattern for topic-per-session content topics.
  • A7 — subscribe / unsubscribe idempotency contract.
  • B3 — macOS XDG_RUNTIME_DIR 104-byte sun_path budget; bites any <repo>/.basecamp/<name>/run layout under /Users/<user>/Developer/….
  • B4 — --user-dir for multi-instance testing; prefer over LOGOS_DATA_DIR because the latter appends Dev in non-portable builds.
  • C1 — named-module qmldir over relative import "."; the relative form silently produces undefined singleton bindings in bin-macos-app.
  • C2 — src = ./. in flake.nix only sees git-tracked files; newly created qmldir / generated resources have to be git add-ed or they silently omit from the LGX.
  • C3 — rebuild → reinstall LGX into every --user-dir → restart Basecamp; source rebuild alone isn't enough.

API-side, separate from this PR:

  • logos-co/logos-delivery-module#36 — first-class peer count / structured getStatus(). Today we parse the Prometheus text from getNodeInfo("Metrics").
  • logos-co/logos-delivery-module#34getSubscriptions() or subscribeIfNot(). Today consumers mirror subscription state in-process.
  • logos-co/logos-delivery-module#35 — document the subscribe / unsubscribe idempotency contract. Small Doxygen note; also covered doc-side in #270.
  • logos-co/logos-delivery-module#37 — publish binary-cache substitutes for zerokit-*, liblogosdelivery-dev, logos-delivery_module-module-lib* on Logos Cachix. Currently 404 for aarch64-darwin + x86_64-linux + x86_64-darwin, so new contributors take the cold-build hit.

Packaging / host side, separate repos:

Fine to merge as-is.

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.

Use the Logos Delivery module API from an app

4 participants