Skip to content

menu: use Tails desktop interfaces - #260

Open
BenWestgate wants to merge 1 commit into
masterfrom
252-tails-compatible-menu
Open

BenWestgate wants to merge 1 commit into
masterfrom
252-tails-compatible-menu

Conversation

@BenWestgate

@BenWestgate BenWestgate commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Requested by Ben · project thread

Rebase note: Rebased onto master on 2026-10-07. It conflicted with #294 (merged), which runs both updates in GNOME Console. I kept master's Console update actions and dropped this PR's direct-update helper. That settles the visible and cancellable update question in the Status section below, so that section is out of date. The commit message is updated to match.

Status

Waiting for human direction after two code rounds. Do not merge as-is. The desktop-application coupling is removed, but the direct Bitcoin Core update action can disappear into install-core's unbounded network retry loop with no visible/cancellable UI when Tor/network is unavailable.

What

  • use xdg-open for Help/Report-a-Bug/Donate URLs instead of direct browser commands
  • run update scripts without depending on gnome-terminal
  • return to the menu after Help/Settings actions
  • keep the requested Donate action and project/contribution wording
  • remove the stale unmonitored Slack support link

Why

The #230 Tails 7.13 review found menu actions coupled to desktop applications that are no longer present. The remaining review finding shows the updater still needs a supported visible/cancellable boundary rather than an invisible direct call.

Closes #252
Refs #249, #269

Human decision needed

Choose the smallest upstream-compatible way to keep Bitcoin Core updates visible and cancellable during network failure without hard-coding kgx, gnome-terminal, or another incidental terminal application. The preferred boundary is for install-core itself to surface or bound retry behavior if practical.

No further code round should be started on this PR until that direction is given.

Testing already completed

  • bash -n bails/.local/bin/bails-menu
  • changed menu script contains no gnome-terminal or direct tor-browser launch
  • earlier review feedback about checkout lifetime, About/help text, Donate, and stale support links is addressed

If the PR proceeds, supported-Tails runtime validation should exercise Update Bitcoin Core with working Tor and with Tor/network unavailable, plus Update CipherStick, Donate, Online Help, Report a Bug, About, and menu return behavior.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4e0da7dcb4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread bails/.local/bin/bails-menu Outdated
@BenWestgate

BenWestgate commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner Author

don't remove the empty Donate URI

lets fill it in correctly with a donation address. There are 3+ places in the software that have addresses.

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

lets put our real donation address in the project finally and remove the dead link

Comment thread bails/.local/bin/bails-menu
Comment thread bails/.local/bin/bails-menu
Comment thread bails/.local/bin/bails-menu Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8e77ada570

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread bails/.local/bin/bails-menu Outdated

Copy link
Copy Markdown
Owner Author

Tails 7.13 runtime check at 8e77ada: the main, Settings, and Help dialogs now render wide/compact with the 520px width hint; the earlier tall/narrow layout no longer reproduces.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bbb2b4d9d0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread bails/.local/bin/bails-menu Outdated
"About") zenity --info --icon=bails128 --title="About CipherStick" \
--text="$($XDG_DATA_HOME/bails/b --version)\n\nCopyright © 2023–2026 Ben Westgate\n\nPlease contribute if you find CipherStick useful. Visit <a href='https://github.com/BenWestgate/Bails'>https://github.com/BenWestgate/Bails</a> for further information about the software.\nThe source code is included with CipherStick.\n\nThis is experimental software.\nDistributed under the MIT software license, see the accompanying file COPYING or <a href='https://opensource.org/licenses/MIT'>https://opensource.org/licenses/MIT</a>"; exec "$0" ;;
"Online Help") open_url 'https://t.me/Bails_support'; exec "$0" ;;
"Update Bitcoin Core") install-core; exec "$0" ;;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep the core updater cancellable during network failures

When Tor or the network is unavailable, this direct call runs from the Terminal=false desktop launcher with no visible progress or cancellation UI, while install-core's retry_on_fail loop (lines 96–101, first used at line 116) retries indefinitely and reports only to terminal output. The menu therefore disappears and cannot return until connectivity recovers or the user externally kills the process; replace the removed terminal with a cancellable progress dialog or bound the retries and surface an error.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Valid blocker. #260 has already used its two code rounds (22becc4, ac43ede), so I am leaving this unresolved for human direction. The next fix should preserve a visible/cancellable update boundary without reintroducing a hard-coded terminal application—either make install-core surface/bound network retry itself or wrap it in a supported cancellable desktop interface.

BenWestgate added a commit that referenced this pull request Sep 29, 2026
Stop Bitcoin Core installation immediately when extraction or a required persistent/configuration write fails. Show the failing boundary, avoid global set -e semantics, and do not create the installed marker after a failed write.

Closes #269

Refs #260, #252, #249
BenWestgate added a commit that referenced this pull request Sep 29, 2026
Stop Bitcoin Core installation immediately when extraction or a required persistent/configuration write fails. Show the failing boundary, avoid global set -e semantics, and do not create the installed marker after a failed write.

Closes #269

Refs #260, #252, #249

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

AI-generated review, posted at the maintainer's request.

ACK bbb2b4d code. Keeping the successful update checkout in amnesic /tmp fixes the asynchronous-copy race; supported-Tails menu validation remains the merge gate.

@BenWestgate
BenWestgate force-pushed the 215-python-codex32-restore branch from 03134e7 to fddc710 Compare September 30, 2026 01:31
BenWestgate added a commit that referenced this pull request Sep 30, 2026
Stop when verified Core extraction or required persistence/config/link writes fail, propagate link-dotfiles failures, and avoid marking an incomplete installation successful.

Closes #269
Refs #260, #252, #249
@BenWestgate
BenWestgate force-pushed the 252-tails-compatible-menu branch from bbb2b4d to 91c4121 Compare September 30, 2026 01:48
@chatgpt-codex-connector

This comment has been minimized.

Base automatically changed from 215-python-codex32-restore to master October 1, 2026 04:47

Copy link
Copy Markdown
Owner Author

AI-assisted response: the Donate feedback is still unresolved at 91c4121: the action remains the empty bitcoin: URI, not a donation address. The PR also still documents the uncancellable Core-update retry path as an unresolved blocker, so I’m not issuing a clean current-head review yet.

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Current-head AI re-review: NACK 91c4121 on the existing updater P2. Update Bitcoin Core still calls install-core from the non-terminal menu path while its network retry loop is unbounded and terminal-only, so a Tor/network failure remains invisible and not cancellable. Per CONTRIBUTING, fixing that shared install-core boundary is preferable to hard-coding another terminal app. No additional finding.

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Codex current-head review at 91c4121: one existing P2 remains. Update Bitcoin Core still calls install-core directly from the non-terminal launcher while its network retry loop is unbounded and terminal-only, so an outage leaves no visible/cancellable update boundary.

BenWestgate added a commit that referenced this pull request Oct 6, 2026
Stop when verified Core extraction or required persistence/config/link writes fail, propagate link-dotfiles failures, and avoid marking an incomplete installation successful.

Closes #269
Refs #260, #252, #249
Open links with xdg-open and show the URL if that fails, return to
the menu after Help and Settings actions, use zenity --icon, and
drop the stale Slack and Twitter links.

Updates keep running in GNOME Console as master does since #294,
so a user can watch and cancel them.

Closes #252
Refs #249, #269
@BenWestgate
BenWestgate force-pushed the 252-tails-compatible-menu branch from 91c4121 to 21c7150 Compare October 7, 2026 08:34
@chatgpt-codex-connector

This comment has been minimized.

@BenWestgate BenWestgate left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

AI-assisted current-head review (21c7150): prior hidden-update P2 is addressed by opening a terminal. Remaining P2: kgx hardcodes a desktop terminal, contrary to CONTRIBUTING's dependency policy; use a supported terminal capability adapter and verify update failure/cancellation on Tails. Not ACKing yet.

This branch has not been deployed

No deployments
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.

Menu: use Tails-compatible launchers and keep Help actions usable

1 participant