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

IJHack / QtPass / 34832508871
93%

Build:
DEFAULT BRANCH: main
Ran 14 Sep 2026 10:25AM UTC
Jobs 1
Files 88
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

14 Sep 2026 10:18AM UTC coverage: 67.618% (+2.4%) from 65.229%
34832508871

push

github

web-flow
Backport: quit on cancelled first-run wizard, re-ask when invalid (#1709) (#1717)

* fix: quit when the first-run wizard is cancelled (#1682) (#1689)

(cherry picked from commit d49c319ee)

* Follow-up to #1689: re-ask for a first-run config that is still invalid (#1696)

cancelled first-run wizard reaches QtPass::init() and main() exits. That
left the accepted path uncovered: the ConfigDialog's OK button is not
gated on Util::configIsValid(), so a user who declines "Create
password-store?" and presses OK gets an accepted dialog with a store
that has no .gpg-id. config() then cleared the fresh-start flag, init()'s
`freshStart && !configIsValid` guard never fired, init() returned true
and the main window opened on a non-existent store.

Restore the "ask again until valid or cancelled" contract without the
recursion: config() now returns whether the dialog was accepted and only
clears the fresh-start flag once the accepted configuration is valid, so
the wizard runs again on the retry. QtPass::init() loops on
Util::configIsValid() and gives up (returns false) only when config()
reports a cancel, which main() already turns into an exit.

Two MainWindow tests drive the whole first-run flow headlessly with a
modal-dialog poker: accept-then-cancel must leave initSucceeded() false
after two dialogs, and accept-then-fix-then-accept must succeed.

Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

Backport to main (1.8.x): the only conflict was the test's #include block;
the QProgressDialog include belongs to the 2.0-only re-encryption worker
and was dropped, QPushButton was kept. Source hunks applied unchanged.
(cherry picked from commit 70ce5d680)

* Flatpak: overlay the first-run fix sources onto v1.8.0 (#1709)

The Flatpak manifest builds the qtpass module from the v1.8.0 tag and
overlays main/main.cpp from the repositor... (continued)

26 of 28 new or added lines in 2 files covered. (92.86%)

4905 of 7254 relevant lines covered (67.62%)

62.82 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
39.79
4.61% src/mainwindow.cpp
Jobs
ID Job ID Ran Files Coverage
1 34832508871.1 14 Sep 2026 10:25AM UTC 88
67.62
GitHub Action Run
Source Files on build 34832508871
  • Tree
  • List 88
  • Changed 12
  • Source Changed 5
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34832508871
  • c3aaebda on github
  • Prev Build on main (#34832253743)
  • Next Build on main (#34832635679)
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