René's URL Explorer Experiment


Title: SettingActivity: add 'note' field for inline informational text by bitcoin3us · Pull Request #155 · MicroPythonOS/MicroPythonOS · GitHub

Open Graph Title: SettingActivity: add 'note' field for inline informational text by bitcoin3us · Pull Request #155 · MicroPythonOS/MicroPythonOS

X Title: SettingActivity: add 'note' field for inline informational text by bitcoin3us · Pull Request #155 · MicroPythonOS/MicroPythonOS

Description: Summary Adds an optional `note` field to settings dicts. When present, `SettingActivity` renders it as a wrapping, muted-grey, 12 pt label between the input widget and the Cancel / Save row. ```python self.settings = [ {"title": "Wallet Type", "ui": "radiobuttons", "ui_options": [("On-chain (xpub or Bitcoin address)", "onchain")], "note": "Tip: an xpub is more private than reusing a single address. " "With an xpub, the wallet derives a fresh receive address per " "payment so the people paying you can't see your full balance " "or each other's amounts; with a single address, every payment " "shares the same on-chain record."}, ... ] ``` Optional — settings without a `note` field render exactly as before. Use case Lightning Piggy's on-chain wallet (in 0.5.0) is gaining a single-address mode as an alternative to xpub: see LightningPiggy/LightningPiggyApp#45. Picking the single-address shape works but trades away on-chain privacy. Surfacing that trade-off on the same page as the choice helps users make an informed call without burying it in docs. Generalising to a first-class `note` field rather than baking the wording into LP keeps the convention reusable — any setting elsewhere with a similar "why would I pick this" gotcha can opt in by adding a single dict key. Implementation Fifteen lines in `internal_filesystem/lib/mpos/ui/setting_activity.py`, right after the input-widget branches and before the Cancel/Save button container: Plain `lv.label` parented on the existing `settings_screen_detail`. `LONG_MODE.WRAP` so multi-line notes flow naturally to the screen width. `set_width(lv.pct(95))` to match the textarea / radio container width and stay clear of the scroll bar. `font_montserrat_12` + grey `0x999999` so it reads as supporting text without competing with the title above or the value below. `DisplayMetrics.pct_of_width(3)` top padding so it sits a comfortable distance below the input. Compatibility Apps: pure additive change. Existing settings dicts behave identically. Themes: uses `lv.color_hex(0x999999)` directly rather than a theme-aware token, matching the style of the existing slider value label (`font_montserrat_24`) and Cancel button opacity (`OPA._70`). If the project gains a theme-aware muted-text token in the future, this label is a one-line swap. Test plan Setting WITH `note` field renders the wrapped grey label below the input on the desktop build Setting WITHOUT `note` field is byte-identical to pre-PR layout Long notes wrap across multiple lines without overlapping the Cancel/Save buttons (the buttons sit in their own flex container below) On-device verification pending a firmware build (will follow up in this PR once tested on Waveshare ESP32-S3-Touch-LCD-2)

Open Graph Description: Summary Adds an optional `note` field to settings dicts. When present, `SettingActivity` renders it as a wrapping, muted-grey, 12 pt label between the input widget and the Cancel / Save row. ```pyt...

X Description: Summary Adds an optional `note` field to settings dicts. When present, `SettingActivity` renders it as a wrapping, muted-grey, 12 pt label between the input widget and the Cancel / Save row. ```pyt...

Opengraph URL: https://github.com/MicroPythonOS/MicroPythonOS/pull/155

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c0544297-3822-eeb7-eb65-b570b38b1af5
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDA3E:F7EDB:303898:419175:6A514196
html-safe-nonce538bb4c34d1bf05a34cbf80aa6b5eaceffa6019673457e37f97933dd0eb49ef0
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQTNFOkY3RURCOjMwMzg5ODo0MTkxNzU6NkE1MTQxOTYiLCJ2aXNpdG9yX2lkIjoiNTkwOTk0NDQwMzQ1NjI0NjE2NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacbf25390d081f44bfea8a599af7b5f79222825967d59a08956526d166d2455be5
hovercard-subject-tagpull_request:3797939492
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
twitter:imagehttps://avatars.githubusercontent.com/u/115934595?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/115934595?s=400&v=4
og:image:altSummary Adds an optional `note` field to settings dicts. When present, `SettingActivity` renders it as a wrapping, muted-grey, 12 pt label between the input widget and the Cancel / Save row. ```pyt...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonee840f405b2718e8f2d55aafa9ff27dbce17e29d0c253011d05ea0fea3c78baff
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/MicroPythonOS/MicroPythonOS git https://github.com/MicroPythonOS/MicroPythonOS.git
octolytics-dimension-user_id213598128
octolytics-dimension-user_loginMicroPythonOS
octolytics-dimension-repository_id975472483
octolytics-dimension-repository_nwoMicroPythonOS/MicroPythonOS
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id975472483
octolytics-dimension-repository_network_root_nwoMicroPythonOS/MicroPythonOS
turbo-body-classeslogged-out env-production page-responsive
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasee876f00c5723f6080b9d294e4958fd4d506e6faf
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMicroPythonOS%2FMicroPythonOS%2Fpull%2F155%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMicroPythonOS%2FMicroPythonOS%2Fpull%2F155%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=MicroPythonOS%2FMicroPythonOS
Reloadhttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
Reloadhttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
Reloadhttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
Please reload this pagehttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
MicroPythonOS https://github.com/MicroPythonOS
MicroPythonOShttps://github.com/MicroPythonOS/MicroPythonOS
Notifications https://github.com/login?return_to=%2FMicroPythonOS%2FMicroPythonOS
Fork 82 https://github.com/login?return_to=%2FMicroPythonOS%2FMicroPythonOS
Star 737 https://github.com/login?return_to=%2FMicroPythonOS%2FMicroPythonOS
Code https://github.com/MicroPythonOS/MicroPythonOS
Issues 23 https://github.com/MicroPythonOS/MicroPythonOS/issues
Pull requests 7 https://github.com/MicroPythonOS/MicroPythonOS/pulls
Discussions https://github.com/MicroPythonOS/MicroPythonOS/discussions
Actions https://github.com/MicroPythonOS/MicroPythonOS/actions
Projects https://github.com/MicroPythonOS/MicroPythonOS/projects
Security and quality 0 https://github.com/MicroPythonOS/MicroPythonOS/security
Insights https://github.com/MicroPythonOS/MicroPythonOS/pulse
Code https://github.com/MicroPythonOS/MicroPythonOS
Issues https://github.com/MicroPythonOS/MicroPythonOS/issues
Pull requests https://github.com/MicroPythonOS/MicroPythonOS/pulls
Discussions https://github.com/MicroPythonOS/MicroPythonOS/discussions
Actions https://github.com/MicroPythonOS/MicroPythonOS/actions
Projects https://github.com/MicroPythonOS/MicroPythonOS/projects
Security and quality https://github.com/MicroPythonOS/MicroPythonOS/security
Insights https://github.com/MicroPythonOS/MicroPythonOS/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FMicroPythonOS%2FMicroPythonOS%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FMicroPythonOS%2FMicroPythonOS%2Fissues%2Fnew%2Fchoose
ThomasFarstrikehttps://github.com/ThomasFarstrike
MicroPythonOS:mainhttps://github.com/MicroPythonOS/MicroPythonOS/tree/main
bitcoin3us:fix/setting-note-fieldhttps://github.com/bitcoin3us/MicroPythonOS/tree/fix/setting-note-field
Conversation 1 https://github.com/MicroPythonOS/MicroPythonOS/pull/155
Commits 1 https://github.com/MicroPythonOS/MicroPythonOS/pull/155/commits
Checks 5 https://github.com/MicroPythonOS/MicroPythonOS/pull/155/checks
Files changed 1 https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
SettingActivity: add 'note' field for inline informational text https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files#top
Show all changes 1 commit https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
36681d4 Add `note` field to SettingActivity for inline informational text bitcoin3us Jun 3, 2026 https://github.com/MicroPythonOS/MicroPythonOS/pull/155/commits/36681d4e18784828c55b90ca12887126f7fbcd8d
Clear filters https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
Please reload this pagehttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
Please reload this pagehttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
internal_filesystem/lib/mpos/ui/setting_activity.pyhttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files#diff-5c5a8c5e2cdbf86fd8d092f7c21b360b8dcb1206945d84dc51c8b3dc930dafbc
View file https://github.com/bitcoin3us/MicroPythonOS/blob/36681d4e18784828c55b90ca12887126f7fbcd8d/internal_filesystem/lib/mpos/ui/setting_activity.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/MicroPythonOS/MicroPythonOS/pull/155/{{ revealButtonHref }}
https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files#diff-5c5a8c5e2cdbf86fd8d092f7c21b360b8dcb1206945d84dc51c8b3dc930dafbc
https://github.com/MicroPythonOS/MicroPythonOS/pull/155/files#diff-5c5a8c5e2cdbf86fd8d092f7c21b360b8dcb1206945d84dc51c8b3dc930dafbc
Please reload this pagehttps://github.com/MicroPythonOS/MicroPythonOS/pull/155/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.