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

kobotoolbox / kpi / 28599329881 / 6
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions-deps-2d1112a488
DEFAULT BRANCH: master
Ran 02 Jul 2026 02:57PM UTC
Files 890
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

02 Jul 2026 02:50PM UTC coverage: 54.237% (+1.3%) from 52.972%
28599329881.6

push

github

web-flow
refactor(projectSettings): tsify DEV-2214 (#7190)

### đŸ—’ī¸ Checklist

1. [x] run linter locally
2. [x] update developer docs (API, README, inline, etc.), if any
3. [x] for user-facing doc changes create a Zulip thread at `#Support
Docs Updates`, if any
4. [x] draft PR with a title `<type>(<scope>)<!>: <title> DEV-1234`
5. [x] assign yourself, tag PR: at least `Front end` and/or `Back end`
or `workflow`
6. [x] fill in the template below and delete template comments
7. [x] review thyself: read the diff and repro the preview as written
8. [x] open PR & confirm that CI passes & request reviewers, if needed
9. [x] act on any greptile review below a 5/5 score or leave comment
explaining why you won't
10. [ ] delete this checklist section from the final squash commit
before merging

### 💭 Notes

Changes here:
- **projectSettings.tsx**: Migrated from JavaScript to TypeScript
  - Added interfaces
  - Tried to keep type casting minimal (no `any` 👍)
- Dynamic field assignment now uses a switch statement to avoid casting
`as any`
  
- **mixins.tsx**: Added type definitions for the legacy mixins (we're
still using react-mixin for now)
  - Created DmixProps, DmixState, and DmixContext interfaces
- All mixin methods have explicit `this` parameter typing so TypeScript
understands what props/state are available at runtime
  - Both contextRouter and dmix mixins now have full type signatures

No functional changes - everything works the same, just with
compile-time type safety.

### 👀 Preview steps

1. â„šī¸ Have a project
2. Open the project and go to Settings tab
3. Try editing different fields and saving:
   - Project name
   - Description  
   - Sector/Country
4. đŸŸĸ Everything should save normally
5. If you have a deployed project, try archiving and unarchiving it from
settings
6. đŸŸĸ Should work exactly like the main branch

Nothing should break since this is (almost) purely internal TypeScript
changes.

---------

Co-authored-by: James Kiger <68701146+jamesrkiger@users.n... (continued)

5204 of 12465 branches covered (41.75%)

20077 of 37017 relevant lines covered (54.24%)

0.54 hits per line

Source Files on job 28599329881.6
  • Tree
  • List 890
  • Changed 22
  • Source Changed 0
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 28599329881
  • 3ac9386a on github
  • Prev Job for on main (#28597602232.3)
  • Next Job for on main (#28599388330.3)
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