‹ Reports
The Dispatch

OSS Report: termux/termux-app


Termux Development Faces Challenges with Android 14 Compatibility and User Interface Enhancements

Termux, a terminal emulator for Android providing a Linux environment, is experiencing significant user-reported issues related to compatibility with Android 14, alongside ongoing efforts to enhance user interface and accessibility features.

Recent Activity

Recent issues and pull requests (PRs) indicate a strong focus on addressing compatibility problems with newer Android versions, particularly Android 14. Notable issues include #4120, which requests automated updates via F-Droid to streamline software management, and #4103, highlighting stability concerns when the Termux window is closed unexpectedly. These issues suggest a trajectory focused on ensuring Termux remains functional and user-friendly on evolving Android platforms.

The development team has been actively contributing to these efforts. Key recent activities include:

These contributions reflect a concerted effort to enhance the terminal's usability and visual consistency.

Of Note

  1. Android 14 Compatibility Issues: Multiple issues highlight challenges with maintaining functionality on the latest Android version, indicating a critical area for future development focus.

  2. Keyboard Input Anomalies: Reports of inconsistent behavior with hardware keyboards suggest a need for improved input handling across devices.

  3. Accessibility Enhancements: PR #4104 focuses on improving terminal view accessibility, demonstrating a commitment to inclusivity for users with disabilities.

  4. Localization Efforts: PRs #4086 and #4087 aim to add Chinese language support, broadening Termux's appeal to non-English speaking users.

  5. Stagnation in PR Merging: Several PRs remain open for extended periods without resolution, suggesting potential resource constraints or prioritization challenges within the development team.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 6 6 22 3 1
30 Days 29 20 70 12 1
90 Days 66 56 204 30 1
1 Year 241 194 890 99 1
All Time 2631 2305 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Fredrik Fornwall 1 1/2/0 1 3 37
Josh Triplett 1 1/1/0 1 1 2
Richard (rigrig) 0 1/0/0 0 0 0
None (Aaalish) 0 2/0/2 0 0 0
Vlad Meșco (alzwded) 0 1/0/0 0 0 0
None (Sssdisigh) 0 1/0/1 0 0 0
None (congyuluo) 0 1/0/1 0 0 0
None (liuzhongyi2) 0 2/0/0 0 0 0
** John Sebastian Peterson (john-peterson)** 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Termux GitHub repository has seen a significant amount of activity, with 326 open issues currently logged. Recent discussions highlight a mix of feature requests and bug reports, indicating an engaged user base actively seeking enhancements and reporting problems. Notably, several issues revolve around compatibility with newer Android versions, particularly Android 14, which has introduced challenges related to app updates and functionality.

A recurring theme in the issues is the interaction between Termux and various keyboard inputs, especially with hardware keyboards. Users report inconsistencies in key mappings and unexpected behavior when using modifier keys in conjunction with arrow keys and other commands. This suggests a need for improved handling of keyboard input across different devices and configurations.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #4120: [Feature]: Automatically update Termux on Android 14 with F-Droid

    • Priority: Feature
    • Status: Open
    • Created: 2 days ago
    • Updated: N/A
  2. Issue #4103: [Bug]: Closing termux android window just kills termux

    • Priority: Bug Report
    • Status: Open
    • Created: 11 days ago
    • Updated: N/A
  3. Issue #4096: [Feature]: Refreshing repo and upgrading after unpacking a bootstrap.

    • Priority: Feature
    • Status: Open
    • Created: 13 days ago
    • Updated: N/A
  4. Issue #4095: [Feature]: termux-about.log should be termux-about.md.

    • Priority: Feature
    • Status: Open
    • Created: 14 days ago
    • Updated: N/A
  5. Issue #4094: [Feature]: A developer-signed, non-debuggable variant of Termux on GitHub Releases.

    • Priority: Enhancement
    • Status: Open
    • Created: 14 days ago
    • Updated: 6 days ago
  6. Issue #4082: [Bug]: Unable to install Parsl.

    • Priority: Bug Report
    • Status: Open
    • Created: 20 days ago
    • Updated: 6 days ago
  7. Issue #3909: [Bug]: Password Autofill Provider shows on termux.

    • Priority: Bug Report
    • Status: Open
    • Created: 141 days ago
    • Updated: 5 days ago

Analysis of Notable Issues

Several issues stand out due to their implications for user experience:

  • The request for automated updates via F-Droid (#4120) highlights a critical need for seamless software management as Android evolves, particularly for security purposes.

  • The bug concerning the closing of the Termux window (#4103) raises concerns about application stability and user data integrity during unexpected closures.

  • The enhancement request for a developer-signed variant (#4094) reflects ongoing discussions about distribution methods and user trust in app updates.

  • The persistent issue with password autofill (#3909) indicates broader compatibility problems with Android's evolving input methods, which could hinder usability for many users relying on password managers.

Overall, these issues reflect a dynamic development environment where user feedback is crucial in shaping future updates and features. The community's active participation suggests a strong commitment to improving the Termux experience across diverse Android devices and configurations.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the Termux app reveals a total of 55 open PRs, with a focus on enhancing accessibility, user interface improvements, and bug fixes. The recent activity indicates ongoing development efforts to improve user experience and functionality.

Summary of Pull Requests

  1. PR #4108: add horisontal swipes

    • State: Open
    • Created: 8 days ago
    • Introduces horizontal swipe functionality in the terminal emulator, aiming to enhance user interaction. Notable issues include crashes in certain contexts.
  2. PR #4104: Improve accessibility of the Terminal View

    • State: Open
    • Created: 10 days ago
    • Enhances navigation and accessibility features within the terminal view, making it more intuitive for users with disabilities. The PR addresses significant usability concerns.
  3. PR #4086 & PR #4087: Add Chinese xml

    • State: Open
    • Created: 17 days ago
    • Both PRs aim to add Chinese language support through XML translations, reflecting an effort to localize the application for a broader audience.
  4. PR #4083: Added: Advanced Mouse Mode setting

    • State: Open
    • Created: 18 days ago
    • Introduces a setting for users to choose between mouse move events and scroll wheel actions, enhancing user control over touch interactions.
  5. PR #4064: Update latest version in README.md to v0.118.1

    • State: Open
    • Created: 31 days ago
    • A minor update correcting version information in the documentation.
  6. PR #3989: bug-report-template update

    • State: Open
    • Created: 82 days ago
    • Modifies the bug report template to clarify where users should report package-related issues, aiming to reduce confusion.
  7. PR #3908: Adds immersive mode for Samsung Dex

    • State: Open
    • Created: 143 days ago
    • Implements an immersive mode for better usability in Samsung Dex environments, enhancing the terminal's adaptability to different display setups.
  8. PR #3821: Add ACTION_SERVICE_STOP intent

    • State: Open
    • Created: 204 days ago
    • Introduces functionality to stop individual AppShell instances, contributing to improved process management within the app.
  9. PR #3804: Added java.io export to gradle.properties

    • State: Open
    • Created: 212 days ago
    • Addresses compilation issues with newer Gradle versions by modifying project properties.
  10. PR #3779: fix cursor color issue in dark mode

    • State: Open
    • Created: 230 days ago
    • Fixes a visual bug where the cursor color appeared incorrectly when dark mode was enabled.

Analysis of Pull Requests

The current landscape of open pull requests for the Termux app illustrates several key themes and areas of focus:

Accessibility Improvements

A notable trend is the emphasis on improving accessibility features, particularly highlighted by PRs like #4104 and #4083. These changes are crucial as they enhance usability for visually impaired users and those relying on assistive technologies. The complexity of implementing such features is evident, as developers must navigate both technical challenges and ensure compliance with accessibility standards.

User Interface Enhancements

Several PRs focus on refining user interactions within the app, such as horizontal swipes (#4108) and advanced mouse settings (#4083). These enhancements aim to make Termux more intuitive and responsive to user needs, reflecting a commitment to continuous improvement in user experience.

Localization Efforts

The addition of Chinese language support through PRs #4086 and #4087 signifies an important step towards making Termux accessible to non-English speaking users. This localization effort not only broadens the user base but also demonstrates responsiveness to community feedback regarding language inclusivity.

Bug Fixes and Minor Updates

Routine maintenance is evident in PRs like #4064 and #3989, which address documentation updates and minor bug fixes. These contributions are essential for maintaining project integrity and ensuring that users have access to accurate information about software versions and reporting processes.

Community Engagement

The presence of discussions around PRs indicates active community engagement, with contributors providing feedback and suggestions for improvements. However, there are also instances of spammy or irrelevant submissions (e.g., PRs related to "Q bot"), which detract from productive contributions and highlight the need for better moderation practices.

Stagnation in Merging Activity

While there is a healthy number of open pull requests, some have been open for extended periods without merging or clear resolutions (e.g., PRs over 200 days old). This stagnation could indicate resource constraints or prioritization challenges within the development team, potentially leading to frustration among contributors eager to see their work integrated into the main branch.

In conclusion, while the Termux app continues to evolve through various enhancements and community contributions, addressing issues related to merging delays and spam submissions will be vital for sustaining momentum and fostering a collaborative development environment.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  • Josh Triplett

    • Recent Activity: Made a commit 10 days ago to modify the behavior of Shift-PgUp and Shift-PgDn keys to scroll by pages rather than lines in the terminal.
    • Files Changed: TerminalView.java (+1, -1).
  • Fredrik Fornwall

    • Recent Activity:
    • Committed a fix 12 days ago to use the current background color when scrolling with horizontal margins, addressing an issue reported on GitHub.
    • Made another commit 63 days ago to improve handling of empty SGR sequences, aligning Termux's behavior with other terminal emulators.
    • Files Changed:
    • TerminalEmulator.java (+3, -2)
    • ScrollRegionTest.java (+27, -0)
    • TerminalTestCase.java (+5, -0).

Summary of Recent Activities

  • The recent activity indicates focused efforts on improving user experience in the terminal emulator. Josh Triplett's change enhances keyboard navigation, while Fredrik Fornwall's contributions address visual consistency and performance issues.
  • Both developers have been active in fixing bugs and enhancing features, with Fredrik contributing more extensively in terms of lines changed and files affected.

Patterns and Themes

  • Collaboration: There appears to be collaboration between Josh and Fredrik, as they both contribute to similar areas of the codebase related to terminal functionality.
  • Focus on Usability: Recent commits reflect a strong emphasis on improving usability and performance within the terminal emulator, which is critical for user satisfaction.
  • Active Maintenance: The frequency of commits suggests that the team is actively maintaining the project, addressing both feature enhancements and bug fixes.

Conclusions

The development team is currently engaged in refining the Termux app's functionality, particularly around terminal interactions. Their recent contributions highlight a commitment to enhancing user experience through thoughtful improvements and fixes.