') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Expose list peers and channels by jurvis · Pull Request #3 · tnull/ldk-node · GitHub
Skip to content

Expose list peers and channels - #3

Closed
jurvis wants to merge 3 commits into
tnull:2022-09-start-uniffifrom
jurvis:jurvis/2022-09-start-uniffi/expose-list-peers-and-channels
Closed

Expose list peers and channels#3
jurvis wants to merge 3 commits into
tnull:2022-09-start-uniffifrom
jurvis:jurvis/2022-09-start-uniffi/expose-list-peers-and-channels

Conversation

@jurvis

@jurvisjurvis commented Mar 27, 2023

Copy link
Copy Markdown

Let me know if we want to expose a shorter list of fields to users/anything in documentation needs tweaking here. I copied/rephrased mostly from rust-lightning to be more relevant to an LdkNode user.

@jurvis
jurvisforce-pushed the jurvis/2022-09-start-uniffi/expose-list-peers-and-channels branch 2 times, most recently from 5f70206 to 95f3789CompareMarch 30, 2023 02:39
@tnull
tnullforce-pushed the 2022-09-start-uniffi branch 4 times, most recently from a06c67e to a491edeCompareMarch 30, 2023 12:21
@jurvis
jurvisforce-pushed the jurvis/2022-09-start-uniffi/expose-list-peers-and-channels branch 3 times, most recently from cd804b2 to d51de5cCompareMarch 30, 2023 19:53

@tnulltnull left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Awesome, thanks for taking this on!

As discussed offline, this approach is fine for ChannelDetails, but for list_peers we probably want to add a new struct that also exposes the information from PeerManager to include whether we're actually connected to them.

As this will grow a tiny bit more, do you mind closing this and reopening the PR against upstream, based on lightningdevkit#25?

@tnull
tnullforce-pushed the 2022-09-start-uniffi branch from 38aac93 to c04f28fCompareMarch 31, 2023 08:32
@jurvis

Copy link
Copy Markdown
Author

Yep! Sounds good to me -- will make the updates and change the PR's base branch 😄

@jurvis
jurvisforce-pushed the jurvis/2022-09-start-uniffi/expose-list-peers-and-channels branch from d51de5c to 542f71fCompareMarch 31, 2023 18:23
@jurvis

Copy link
Copy Markdown
Author

closing in favor of lightningdevkit#56

@jurvisjurvis closed this Mar 31, 2023
Sign up for freeto 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.

2 participants

@jurvis@tnull