feat: use logos-delivery-module journey#226
Conversation
|
|
Critical issue:
|
|
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. |
7f74791 to
f498d51
Compare
…ce known issue, sha permalinks
51a98e8 to
c85b6bb
Compare
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. |
|
I'm currently dogfooding this doc. Share updates soon |
| // LogosModules* m_logos = nullptr; | ||
|
|
||
| void MyPlugin::initLogos(LogosAPI* api) { | ||
| m_logos = new LogosModules(api); |
There was a problem hiding this comment.
Do we need to store api as suggested here, or safe to not?
There was a problem hiding this comment.
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→ pickdefault→createNode/start/stop) — no surprises. - Step 3 events 1–3 (
messageReceived,connectionStateChanged,subscribe(contentTopic)) — copy-paste intoswap_delivery_adapter.cppworked first try. messageSent/messagePropagated/messageErrorfired 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/unsubscribeidempotency contract. - B3 — macOS
XDG_RUNTIME_DIR104-bytesun_pathbudget; bites any<repo>/.basecamp/<name>/runlayout under/Users/<user>/Developer/…. - B4 —
--user-dirfor multi-instance testing; prefer overLOGOS_DATA_DIRbecause the latter appendsDevin non-portable builds. - C1 — named-module
qmldirover relativeimport "."; the relative form silently producesundefinedsingleton bindings inbin-macos-app. - C2 —
src = ./.in flake.nix only sees git-tracked files; newly createdqmldir/ generated resources have to begit 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 fromgetNodeInfo("Metrics"). - logos-co/logos-delivery-module#34 —
getSubscriptions()orsubscribeIfNot(). Today consumers mirror subscription state in-process. - logos-co/logos-delivery-module#35 — document the
subscribe/unsubscribeidempotency 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:
- logos-co/logos-basecamp#190 — module-proxy logs every
Q_INVOKABLEarg verbatim at INFO; needs opt-in redaction. - logos-co/logos-package-manager#12 + logos-co/logos-basecamp#191 —
LGPM_PORTABLE_BUILDvariant mismatch.lgpm installrejects the<host>variantbin-macos-appactually loads, andbin-macos-appsilently drops the<host>-devvariantlgpm installactually writes. No log line on the silent drop.
Fine to merge as-is.
Closes #145