• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 27556345635
83%

Build:
DEFAULT BRANCH: master
Ran 15 Jun 2026 03:18PM UTC
Jobs 3
Files 1018
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Jun 2026 03:14PM UTC coverage: 82.893% (-0.03%) from 82.92%
27556345635

push

github

web-flow
feature(web): split dock for Terminal (#3622)

> [!NOTE]
>
> This is a proof-of-concept for where the terminal should live in the
web UI, following up on the discussion in #3617. It docks the terminal
as a resizable panel at the bottom of the app, opened from the installer
menu, with show/hide, minimize/restore, and a "needs more space" state
on smaller screens. The terminal content is a mockup for now: the real
xterm.js session and its backend transport are out of scope here, the
focus is placement, layout, and interaction.
> 
> Find below the  reasoning, including why not a tab, popup, or drawer.

---

## Reconsidering my own comment

In my own comment at
https://github.com/agama-project/agama/pull/3617#issuecomment-4692789565
I argued to start simple: offer the terminal as a modal/popup the way
other tools do, doubted there would be much back-and-forth between the
terminal and the UI, and floated a "minimize" mechanism or an
always-available drawer only as possible later enhancements. Having
thought it through, I've changed my mind, both on the popup and on the
drawer, for the reasons I lay out below.

On the drawer specifically: it is a legitimate option ([PatternFly's own
Drawer
guidelines](https://www.patternfly.org/components/drawer/design-guidelines)
even list a terminal as a sample use case), but Agama doesn't use
drawers today, and if the UI evolves in that direction I can see them
being valuable for workflows closer to the web UI's core purpose
(details, previews, edit views beside the main content). That makes the
drawer a space worth keeping free, especially since drawers could not
compose well when several features want one at once. Spending it on
terminal access now would likely be a shot in the foot tomorrow, when a
workflow better suited to it comes along. So I'd rather find the
terminal a home that doesn't take that space.

## The case for a split

@lslezak makes a good point in #3617: when users use the terminal they
could switch be... (continued)

4771 of 6682 branches covered (71.4%)

Branch coverage included in aggregate %.

121 of 148 new or added lines in 9 files covered. (81.76%)

28 existing lines in 3 files now uncovered.

25069 of 29316 relevant lines covered (85.51%)

124.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
18
27.78
web/src/components/core/ResizeHandle.tsx
5
82.54
web/src/components/core/TerminalDock.tsx
3
95.0
web/src/components/core/TerminalPane.tsx
1
33.33
1.52% web/src/App.tsx

Coverage Regressions

Lines Coverage ∆ File
14
35.71
1.57% web/web/src/App.tsx
13
87.23
0.09% web/web/src/test-utils.tsx
1
92.86
0.55% web/web/src/context/app.tsx
Subprojects
ID Flag name Job ID Ran Files Coverage
3 web 27556345635.3 15 Jun 2026 03:18PM UTC 701
79.65
GitHub Action Run
3 service 27473160971.3 13 Jun 2026 05:00PM UTC 317
92.39
GitHub Action Run
1 rust 19474749743.1 18 Nov 2025 05:18PM UTC 185
22.45
GitHub Action Run
Source Files on build 27556345635
  • Tree
  • List 1018
  • Changed 14
  • Source Changed 10
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27556345635
  • 686a2dca on github
  • Prev Build on master (#27555587323)
  • Next Build on master (#27556495558)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc