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

IJHack / QtPass / 35228389606
93%

Build:
DEFAULT BRANCH: main
Ran 17 Sep 2026 01:45PM UTC
Jobs 1
Files 103
Run time 1min
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

17 Sep 2026 01:38PM UTC coverage: 75.806% (+0.3%) from 75.517%
35228389606

push

github

web-flow
QtPass stops reaching into MainWindow (#1813)

* QtPass stops reaching into MainWindow

QtPass called eighteen MainWindow methods (flashText, setUiElementsEnabled,
showStatusMessage, onPush, on_treeView_clicked, config, restoreWindow, ...)
and wired the backends' signals to the window's slots, while the window held
the QtPass pointer for the clipboard, the QR popup and init(). The cycle
meant neither side could be built or tested without the other.

QtPass now knows only the backends: it turns their completion signals into
outputReady (formatted HTML), operationFinished, statusMessage,
pushRequested and entryInserted, and MainWindow connects to those. The
Pass -> window connections (decrypt results, errors, status text, grep,
re-encryption progress) are made by the window itself, for both backends.
The first-run configuration loop and the fresh-start flag move into the
window, next to config(); QtPass::init() keeps the store/executable
resolution and the settings migrations. showInTextBrowser() becomes the
static formatOutput(), so the window formats its own decrypt output
instead of round-tripping it through a signal, and processFinished()
re-enables the interface once rather than twice.

tst_qtpass covers the signal surface and both migrations (fresh-install
defaults, the one-time native-OTP switch); the tests/auto/qtpass directory
needed the anchored /qtpass and /main/qtpass ignore rules instead of the
bare "qtpass" that ignored it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* tst_mainwindow: a backend completion reaches the window through QtPass

The window's half of the new signal contract: pull output and stderr
chatter land in the text browser, the interface is enabled again, the
key-generation message reaches the status bar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* QtPass:... (continued)

74 of 77 new or added lines in 2 files covered. (96.1%)

50 existing lines in 4 files now uncovered.

5881 of 7758 relevant lines covered (75.81%)

75.26 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
84.38
4.38% src/qtpass.cpp
1
47.64
2.1% src/mainwindow.cpp

Coverage Regressions

Lines Coverage ∆ File
23
54.1
47.85% src/moc_qtpass.cpp
17
30.26
-5.45% src/moc_mainwindow.cpp
9
0.0
0.0% src/qrc_qmake_qmake_qm_files.cpp
1
47.64
2.1% src/mainwindow.cpp
Jobs
ID Job ID Ran Files Coverage
1 35228389606.1 17 Sep 2026 01:45PM UTC 103
75.81
GitHub Action Run
Source Files on build 35228389606
  • Tree
  • List 103
  • Changed 8
  • Source Changed 7
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35228389606
  • e486ddef on github
  • Prev Build on main (#35214751654)
  • Next Build on main (#35231775420)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc