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

safe-global / safe-client-gateway / 25036580642
90%

Build:
DEFAULT BRANCH: main
Ran 28 Apr 2026 06:02AM UTC
Jobs 2
Files 1164
Run time 3min
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

28 Apr 2026 05:58AM UTC coverage: 89.338% (-0.6%) from 89.963%
25036580642

push

github

web-flow
feat: private address book contacts and request-to-add workflow (#3026)

* feat: add private address book contacts and request-to-add workflow

Allow non-admin Space members to create private contacts visible only
to them, and request to add those contacts to the shared space address
book. Admins can approve or reject pending requests.

New tables:
- user_address_book_items: per-user private contacts scoped to a space
- address_book_requests: pending approval requests with status enum

New endpoints:
- GET/PUT/DELETE /v1/spaces/:spaceId/address-book/private
- GET/POST /v1/spaces/:spaceId/address-book/requests
- PUT /v1/spaces/:spaceId/address-book/requests/:id/approve
- PUT /v1/spaces/:spaceId/address-book/requests/:id/reject

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: preserve original author when approving address book requests

Add createdByOverride to upsertMany so approved contacts keep the
requester's wallet address as createdBy instead of the admin's.
The approve flow looks up the private contact to get the original
author's wallet address.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: load requestedBy.wallets relation for Requested by column

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: resolve requestedBy wallet via IWalletsRepository instead of nested relation

The requestedBy.wallets nested relation caused a TypeORM joinColumns error
because the Wallet entity wasn't registered in SpacesModule. Instead,
resolve the wallet address via IWalletsRepository.findByUser() in the
service layer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: fix CI lint, prettier and license-headers

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: persist requester wallet on address-book requests

Stores the requester's wallet on `address_book_requests` at creation, so
attribution is stable across private-cont... (continued)

3312 of 4157 branches covered (79.67%)

Branch coverage included in aggregate %.

169 of 304 new or added lines in 17 files covered. (55.59%)

1 existing line in 1 file now uncovered.

15835 of 17275 relevant lines covered (91.66%)

589.79 hits per line

Uncovered Changes

Lines Coverage ∆ File
36
21.54
src/modules/spaces/routes/address-book-requests.service.ts
31
21.28
src/modules/spaces/domain/address-books/user-address-book-items.repository.ts
28
15.22
src/modules/spaces/domain/address-books/address-book-requests.repository.ts
17
27.59
src/modules/spaces/routes/user-address-book.service.ts
10
0.0
src/modules/spaces/domain/address-books/entities/user-address-book-item.entity.ts
4
78.95
src/modules/spaces/routes/address-book-requests.controller.ts
3
84.21
src/modules/spaces/routes/user-address-book.controller.ts
2
91.67
src/modules/spaces/datasources/entities/address-book-request.entity.db.ts
2
89.47
src/modules/spaces/datasources/entities/user-address-book-item.entity.db.ts
2
88.89
src/modules/spaces/domain/address-books/entities/address-book-request.entity.ts

Coverage Regressions

Lines Coverage ∆ File
1
84.48
-0.86% src/modules/relay/domain/relayers/no-fee-campaign.relayer.ts
Jobs
ID Job ID Ran Files Coverage
1 run-integration-tests - 25036580642.1 28 Apr 2026 06:04AM UTC 2241
78.76
GitHub Action Run
2 run-unit-tests - 25036580642.2 28 Apr 2026 06:02AM UTC 2044
55.98
GitHub Action Run
Source Files on build 25036580642
  • Tree
  • List 1164
  • Changed 323
  • Source Changed 5
  • Coverage Changed 323
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25036580642
  • 8465f19f on github
  • Prev Build on main (#24999258699)
  • Next Build on main (#25101828287)
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