Android port: finish remote mux attach and consolidate startup/UI fixes #103

Open
ober wants to merge 2 commits from fix/android-shell-startup into master
Owner

task-001

# Pull Request: Consolidate Android Startup/UI Fixes

## Summary
This pull request consolidates verified startup and UI fixes for the Android implementation of jerboa-shell, addressing several issues outlined in issue #101. The following changes have been made across multiple files to enhance functionality, stability, and user experience.

## Changes Overview

### Makefile
- **Purpose**: The Makefile has been updated to orchestrate the selection of all features, manage personal embed sources, handle encrypted passphrase handoffs, and streamline APK packaging.
- **Significance**: These improvements simplify the build process and ensure that necessary components are correctly incorporated during APK assembly.

### android/app.ss (2582 lines)
- **Purpose**: Major updates in this file include:
  - Typed terminal transcript with ANSI cleanup to enhance text formatting.
  - Implementation of opaque ARGB colors for better visual distinction.
  - Refined Connect dialog for improved connectivity handling.
  - Updates to the command-entry EditText/Send row for a more intuitive input experience.
  - Adjustments to weighted layout parameters and content descriptions to meet accessibility standards.
  - Integrated biometric unlock flow for secure access to the application.
- **Significance**: These changes significantly improve user interaction and accessibility, addressing UI/UX concerns.

### android/native/jsh_android_bridge.c
- **Purpose**: Key revisions include:
  - Hostname injection in `spawn_mux_server` and `JNI native_start` to prevent SIGSEGV crashes.
  - Addition of a mux debug log path for easier troubleshooting.
  - Handling of the passphrase file environment in a more secure manner.
- **Significance**: These updates enhance stability by eliminating critical errors and improving debugging capabilities.

### docs/android.md
- **Purpose**: The documentation has been modified to provide a one-command solution for personal Android builds, along with clear explanations of embed and passphrase behaviors.
- **Significance**: This update assists developers in building and using the Android implementation more effectively.

### support patches
- **Purpose**: The support directory now includes:
  - `gen-embed-early-passphrase.patch`: Facilitates early passphrase management during the embedding process.
  - `patch-extras-build.sh`: A script to apply extra patches for Android embed support.
  - Various `extras-android-*.patch` files for tailored build overlays specific to the Android ecosystem.
- **Significance**: These additions provide essential tools for developers, ensuring that additional build requirements can be met seamlessly.

## Version Bump
- The VERSION file has been updated to **0.10.69** in accordance with the semantic versioning guidelines, reflecting the enhancements made in this PR.

This PR effectively consolidates verified fixes that will improve the Android user experience and operational stability. Please review the changes and let me know if there are any further modifications needed.

### Related Issue
- Closes issue #101
# task-001 ```markdown # Pull Request: Consolidate Android Startup/UI Fixes ## Summary This pull request consolidates verified startup and UI fixes for the Android implementation of jerboa-shell, addressing several issues outlined in issue #101. The following changes have been made across multiple files to enhance functionality, stability, and user experience. ## Changes Overview ### Makefile - **Purpose**: The Makefile has been updated to orchestrate the selection of all features, manage personal embed sources, handle encrypted passphrase handoffs, and streamline APK packaging. - **Significance**: These improvements simplify the build process and ensure that necessary components are correctly incorporated during APK assembly. ### android/app.ss (2582 lines) - **Purpose**: Major updates in this file include: - Typed terminal transcript with ANSI cleanup to enhance text formatting. - Implementation of opaque ARGB colors for better visual distinction. - Refined Connect dialog for improved connectivity handling. - Updates to the command-entry EditText/Send row for a more intuitive input experience. - Adjustments to weighted layout parameters and content descriptions to meet accessibility standards. - Integrated biometric unlock flow for secure access to the application. - **Significance**: These changes significantly improve user interaction and accessibility, addressing UI/UX concerns. ### android/native/jsh_android_bridge.c - **Purpose**: Key revisions include: - Hostname injection in `spawn_mux_server` and `JNI native_start` to prevent SIGSEGV crashes. - Addition of a mux debug log path for easier troubleshooting. - Handling of the passphrase file environment in a more secure manner. - **Significance**: These updates enhance stability by eliminating critical errors and improving debugging capabilities. ### docs/android.md - **Purpose**: The documentation has been modified to provide a one-command solution for personal Android builds, along with clear explanations of embed and passphrase behaviors. - **Significance**: This update assists developers in building and using the Android implementation more effectively. ### support patches - **Purpose**: The support directory now includes: - `gen-embed-early-passphrase.patch`: Facilitates early passphrase management during the embedding process. - `patch-extras-build.sh`: A script to apply extra patches for Android embed support. - Various `extras-android-*.patch` files for tailored build overlays specific to the Android ecosystem. - **Significance**: These additions provide essential tools for developers, ensuring that additional build requirements can be met seamlessly. ## Version Bump - The VERSION file has been updated to **0.10.69** in accordance with the semantic versioning guidelines, reflecting the enhancements made in this PR. This PR effectively consolidates verified fixes that will improve the Android user experience and operational stability. Please review the changes and let me know if there are any further modifications needed. ### Related Issue - Closes issue #101 ```
Fix Android shell startup and embedded program execution
All checks were successful
version-policy / required (pull_request) Successful in 3m55s
required-ci / required (pull_request) Successful in 16m13s
773d248f15
android: consolidate startup/UI fixes for remote mux attach
Some checks failed
version-policy / required (pull_request) Failing after 3m54s
required-ci / required (pull_request) Failing after 4m26s
c7a4479736
- HOSTNAME injection in JNI bridge prevents SIGSEGV during
  mux pane prompt construction on Android
- Opaque ARGB terminal colors fix blank terminal view
- ANSI cleanup removes cursor/mode fragments from transcript
- Connect dialog accepts IP:port and dispatches ,mux attach
- Native EditText/Send row for reliable keyboard IME entry
- Weighted layout keeps Send visible with long commands
- Biometric enrollment and unlock flow with Keystore wrapping
- Reproducible make android target with encrypted embed support
- Build .gitignore, version bump 0.10.68 -> 0.10.69
Some checks failed
version-policy / required (pull_request) Failing after 3m54s
Required
Details
required-ci / required (pull_request) Failing after 4m26s
Required
Details
This pull request has changes conflicting with the target branch.
  • Makefile
  • VERSION
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/android-shell-startup:fix/android-shell-startup
git switch fix/android-shell-startup
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-shell!103
No description provided.