Statusline location/weather fetches are undisclosed and use plaintext; two small install/lock hygiene items
Three items from a fresh v7.40.4 install on Linux. Grouped because they are all small; happy to split if you prefer one issue each.
1. Statusline sends the host's public IP to ip-api.com over plaintext, with no disclosure at setup
install/LIFEOS/LIFEOS_StatusLine.sh:826 fetches http://ip-api.com/json/... whenever the location cache is stale, then :836 calls api.open-meteo.com with the resulting coordinates. Nothing in /LifeOS setup or the statusline opt-in mentions either endpoint. The user only finds out by reading the script or watching traffic.
The .location setting (PR #1309) already skips ip-api.com when set, which is good, but it is an opt-out that a new user does not know exists.
Asks:
- Disclose the two endpoints where the statusline is enabled, and mention
.locationas the way to avoid the IP lookup. - Make the location/weather segment opt-in, or at least give it a single documented off switch. Locally I added
LIFEOS_STATUSLINE_WEATHER(default 0) gating the block at:792; something like that in settings.json would do. - ip-api.com's free tier is http only. Either accept that and say so in the disclosure, or switch to a provider that serves https for anonymous use.
2. install.sh dry-run prints bun (, v) when bun is absent
With DRY_RUN=1 and no bun installed, the install step returns early at install/install.sh:169, then :190 still runs success "bun ($(command -v bun), v$(bun --version 2>/dev/null))" and prints bun (, v). Cosmetic. Guarding the success line on command -v bun fixes it.
3. Statusline refresh lock uses a fixed shared /tmp name
install/LIFEOS/LIFEOS_StatusLine.sh:794 uses /tmp/pai-locwx-refresh.lock. With two users running LifeOS on one host, the second user's refresh either fails (mkdir on a dir owned by the other user) or is skipped as a held lock. USAGE_LOCK at :102 already appends ${USER:-anon}; the locwx lock should do the same.
Happy to send a PR for 2 and 3, and for the off switch in 1, if that helps.
Source: danielmiessler/LifeOS