Skip to content

Modern Java 21 terminal UI library with 29 AWT-like widgets, ncurses backend, Virtual Threads, and interactive mouse/keyboard support.

active 2026-05-282026-07-16 (UTC)

Complete coverage26,365 / 26,365 hourly files (100%) · 2 absent upstream2023-08-152026-08-17 (UTC)
Events
95
Pushes
14
Pull requests
0
Issues
61
Stars
0
Forks
0

Activity over time

Daily event counts in the loaded window

Line chart, 50 days from 2026-05-28 to 2026-07-16. Pushes: 14 total, peak 5 in a day. Pull requests: 0 total, peak 0 in a day. Issues: 61 total, peak 59 in a day. Comments: 9 total, peak 5 in a day. Stars: 0 total, peak 0 in a day.

  • Pushes
  • Pull requests
  • Issues
  • Comments
  • Stars

Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.

Top contributors

Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity

ContributorContributionsPushesPRsComments
sfloess771105
dependabot[bot]7304

Recent activity

Latest issues, pull requests and releases

  • Issue#227sfloess2026-06-11 00:13
    ScrollPane.updateScrollBars() is a no-op stub
  • Issue#225sfloess2026-06-11 00:13
    Choice.java has unnecessary import of java.lang.Math
  • Issue comment#44dependabot[bot]2026-06-07 01:32
    ci(deps): bump actions/upload-artifact from 4 to 7
  • Issue comment#48dependabot[bot]2026-06-07 01:32
    deps(dev)(deps-dev): bump mockito.version from 5.14.2 to 5.23.0
  • Issue comment#32dependabot[bot]2026-06-07 01:32
    deps(dev)(deps-dev): bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.15.0
  • Issue comment#38dependabot[bot]2026-06-07 01:32
    deps(dev)(deps-dev): bump org.codehaus.mojo:versions-maven-plugin from 2.16.0 to 2.21.0
  • Issue#208sfloess2026-06-06 22:04
    InteractiveDemo catches generic Exception, masks OutOfMemoryError and code bugs
  • Issue comment#208sfloess2026-06-06 21:53
    InteractiveDemo catches generic Exception, masks OutOfMemoryError and code bugs
  • Issue#209sfloess2026-06-06 21:50
    ComboBox.paint() stream filtering causes 3x GC pressure vs ArrayList copy
  • Issue#206sfloess2026-06-06 21:50
    ComboBox selectedIndex out of bounds after null filtering in paint()
  • Issue#75sfloess2026-06-06 21:42
    Thread safety: Component getters access position/size fields without synchronization
  • Issue#88sfloess2026-06-06 21:39
    Bounds checking: Container.getComponentAt - Array access without bounds check
  • Issue#88sfloess2026-06-06 21:39
    Bounds checking: Container.getComponentAt - Array access without bounds check
  • Issue#89sfloess2026-06-06 21:39
    Thread safety: ScrollPane - multiple unsafe accesses
  • Issue comment#86sfloess2026-06-06 21:39
    Bounds checking: BorderLayout.doLayout - Negative remainingWidth possible
  • Issue#95sfloess2026-06-06 21:39
    Null safety: Button constructor should validate null label parameter
  • Issue#92sfloess2026-06-06 21:39
    Bounds checking: DiffEngine.computeDiff - Potential ArrayIndexOutOfBoundsException
  • Issue#90sfloess2026-06-06 21:39
    Null safety: Container.add() should validate null child parameter
  • Issue#64sfloess2026-06-06 21:23
    App crashes with ArrayIndexOutOfBoundsException when widget exceeds terminal bounds
  • Issue#79sfloess2026-06-06 21:23
    Thread safety: ProgressBar.getPercent - unsafe read
  • Issue#86sfloess2026-06-06 21:23
    Bounds checking: BorderLayout.doLayout - Negative remainingWidth possible
  • Issue#87sfloess2026-06-06 21:23
    Thread safety: CheckboxGroup fields accessed without synchronization
  • Issue#90sfloess2026-06-06 21:23
    Null safety: Container.add() should validate null child parameter
  • Issue#96sfloess2026-06-06 21:23
    Bounds checking: FileDialog.render - No bounds check on files.get(i)
  • Issue#97sfloess2026-06-06 21:23
    Null safety: Button.setLabel() should validate null label parameter

Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 0 stars here means stars gained during the window, not the repo's star count.