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

kiva / ui / 30570407209
84%

Build:
DEFAULT BRANCH: main
Ran 30 Jul 2026 06:32PM UTC
Jobs 1
Files 502
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

30 Jul 2026 06:26PM UTC coverage: 84.093% (+0.009%) from 84.084%
30570407209

push

github

web-flow
fix(logFormatter): stop losing caught errors, and fix 17 wrong-level calls (#7118)

* fix(logFormatter): unwrap Errors so failures are not lost

An Error's message and stack are non-enumerable, so JSON.stringify reduced a
caught Error to `{}` and the failure was unrecoverable from the log. Reduce
Errors to their message, in the message slot and inside meta.

This brings kiva/ui in line with cms-page-server, whose logFormatter already
does the same (`message.message ?? message`), so `logFormatter(e, 'error')`
behaves identically in both repos.

Level handling is unchanged: an unrecognised type still logs as a plain log
rather than being escalated. All 15 existing tests pass untouched.

* fix(logFormatter): pass a level, not a description, at 17 call sites

These calls put the failure description in the level slot, so it matched no case
in the switch and fell through to console.log. The errors went to stdout at log
level and never reached error alerting.

    - logFormatter(error, 'Failed to fetch loan stats by year');
    + logFormatter('Failed to fetch loan stats by year', 'error', { error, year });

Two ThanksPage calls passed 'warning', which is not a level either; 'warn' is.

This is a bug rather than a call format: cms-page-server cannot have it because
its LogLevel is a typed union, so nothing here diverges from that repo.

Descriptions in useGoalData were already prose and are unchanged. The eight in
KvAtbModalContainer, BailoutChips and useMyKivaHome named a query or a composable
rather than the failure, so they now say what failed.

* fix(logFormatter): log a fallback message when only meta is present

A call with no message returned early, discarding the level and any meta with
it. That is the same information loss this change set exists to fix, so fall
back to '(no message)' when meta has content and bail only when there would be
nothing at all to record.

A call with neither a message nor meta still returns false, so the three
existing guar... (continued)

6444 of 7207 branches covered (89.41%)

Branch coverage included in aggregate %.

46 of 51 new or added lines in 6 files covered. (90.2%)

53827 of 64465 relevant lines covered (83.5%)

28.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
93.51
0.0% src/composables/useGoalData.js
2
56.35
0.0% src/pages/Thanks/ThanksPage.vue
Jobs
ID Job ID Ran Files Coverage
1 30570407209.1 30 Jul 2026 06:32PM UTC 502
84.09
GitHub Action Run
Source Files on build 30570407209
  • Tree
  • List 502
  • Changed 6
  • Source Changed 6
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30570407209
  • ea1e758a on github
  • Prev Build on main (#30568577891)
  • Next Build on main (#30581971273)
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