Skip to content

refactor: prepare ArchiveService for LogosStorage extension#7312

Merged
marcinczenko merged 15 commits into
developfrom
refactor/extract-archive-service
Apr 13, 2026
Merged

refactor: prepare ArchiveService for LogosStorage extension#7312
marcinczenko merged 15 commits into
developfrom
refactor/extract-archive-service

Conversation

@marcinczenko
Copy link
Copy Markdown
Contributor

@marcinczenko marcinczenko commented Jan 29, 2026

status-app PR: status-im/status-app#20208

This PR brings new ArchiveService architecture. The new ArchiveService interface includes (by composition) the ArchiveServiceBackend interface (defined in the same file), which defines operations specific to the given archive storage technology (e.g. BitTorrent or LogosStorage). ArchiveService also defines its own technology independent operations.

ArchiveService is implemented by ArchiveManager. On the construction using the factory function NewArchiveManager it instantiates either:

  1. A concrete backend, e.g. for BitTorrent it is ArchiveManagerTorrent,
  2. A NOP implementation. There is a NOP factory function.

Which concrete backend implementation will be instantiated depends on the content of the amc *archivetypes.ArchiveManagerConfig argument to the NewArchiveManager factory function. If no appropriate configuration is found or none is Enabled, the factory returns a NOP implementation. This allows us to simplify the code in various places by removing a number of defensive checks. The NOP implementation will also be used when disable_history_archives build flag is defined (replaces previous disable_torrent flag serving the same purpose).

The lifecycle is also simplified. There is one intended way of instantiating ArchiveManager (the above mentioned NewArchiveManager factory function) and the ArchiveService interface communicates clearly the intended public API hiding the backend and other implementation details. Still, to support the legacy tests (relevant test improvements may be considered in the future, but kept our of scope of this PR), both ArchiveManager and the relevant backend implementations can provide additional methods accessible by bypassing the ArchiveService interface.

All relevant sources are distributed across a number of packages under protocol/communities/archive to make decoupling from the protocol/communities package possible.

For large majority of the code, the original functionality is preserved, with subtle interface adjustments to accommodate incoming LogosStorage extension (which basically means providing a new backend implementation and archive technology-specific sources).

@marcinczenko marcinczenko self-assigned this Jan 29, 2026
@status-im-auto
Copy link
Copy Markdown
Member

status-im-auto commented Jan 29, 2026

Jenkins Builds

Click to see older builds (225)
Commit #️⃣ Finished (UTC) Duration Platform Result
✖️ 6f8008f 1 2026-01-29 15:41:43 ~4 min tests 📄log
✔️ 6f8008f 1 2026-01-29 15:41:43 ~4 min linux/status-go 📦zip
✔️ 6f8008f 1 2026-01-29 15:42:35 ~5 min macos/status-go 📦zip
6f8008f 1 2026-01-29 15:44:36 ~7 min windows/nwaku 📄log
✔️ 6f8008f 1 2026-01-29 15:45:27 ~7 min windows/status-go 📦zip
✖️ 6f8008f 1 2026-01-29 15:45:30 ~8 min tests 📄log
✔️ 6f8008f 1 2026-01-29 15:45:59 ~8 min linux/nwaku 📦zip
6f8008f 1 2026-01-29 15:46:47 ~9 min macos/nwaku 📄log
✔️ 6f8008f 1 2026-01-29 15:58:12 ~20 min tests-rpc 📄log
✔️ 6f8008f 1 2026-01-29 15:59:04 ~21 min tests-rpc 📄log
✖️ d085990 2 2026-02-02 01:00:55 ~2 min tests 📄log
d085990 2 2026-02-02 01:01:05 ~3 min macos/nwaku 📄log
d085990 2 2026-02-02 01:01:28 ~3 min macos/status-go 📄log
✔️ d085990 2 2026-02-02 01:01:42 ~3 min linux/status-go 📦zip
d085990 2 2026-02-02 01:03:30 ~5 min windows/nwaku 📄log
✔️ d085990 2 2026-02-02 01:05:05 ~7 min windows/status-go 📦zip
✔️ d085990 2 2026-02-02 01:05:43 ~7 min linux/nwaku 📦zip
✔️ d085990 2 2026-02-02 01:14:16 ~16 min tests-rpc 📄log
✔️ d085990 2 2026-02-02 01:14:43 ~16 min tests-rpc 📄log
✔️ d085990 2 2026-02-02 01:33:11 ~35 min tests 📄log
✖️ 1144c71 3 2026-02-09 16:51:43 ~2 min tests 📄log
✔️ 1144c71 3 2026-02-09 16:52:42 ~3 min linux/status-go 📦zip
✔️ 1144c71 3 2026-02-09 16:54:11 ~5 min macos/status-go 📦zip
1144c71 3 2026-02-09 16:58:18 ~9 min macos/nwaku 📄log
✔️ 1144c71 3 2026-02-09 17:05:21 ~16 min tests-rpc 📄log
1144c71 3 2026-02-09 17:06:25 ~17 min windows/nwaku 📄log
✔️ 1144c71 3 2026-02-09 17:25:40 ~36 min tests 📄log
✖️ eb1981b 4 2026-02-17 03:43:07 ~1 min tests 📄log
✖️ eb1981b 4 2026-02-17 03:44:35 ~2 min tests 📄log
✔️ eb1981b 4 2026-02-17 03:45:44 ~4 min linux/status-go 📦zip
✔️ eb1981b 4 2026-02-17 03:46:02 ~4 min macos/status-go 📦zip
✔️ eb1981b 4 2026-02-17 03:49:36 ~8 min linux/nwaku 📦zip
✔️ eb1981b 4 2026-02-17 03:50:03 ~8 min windows/status-go 📦zip
eb1981b 4 2026-02-17 03:50:06 ~8 min macos/nwaku 📄log
✔️ eb1981b 4 2026-02-17 03:57:21 ~15 min windows/nwaku 📦zip
✔️ eb1981b 4 2026-02-17 03:58:43 ~17 min tests-rpc 📄log
✔️ eb1981b 4 2026-02-17 03:59:21 ~17 min tests-rpc 📄log
✖️ 7d2d909 5 2026-02-17 16:55:28 ~2 min tests 📄log
✔️ 7d2d909 5 2026-02-17 16:56:52 ~4 min linux/status-go 📦zip
✔️ 7d2d909 5 2026-02-17 16:57:02 ~4 min macos/status-go 📦zip
✔️ 7d2d909 5 2026-02-17 17:00:32 ~8 min linux/nwaku 📦zip
✔️ 7d2d909 5 2026-02-17 17:01:20 ~8 min windows/status-go 📦zip
7d2d909 5 2026-02-17 17:01:42 ~9 min macos/nwaku 📄log
✔️ 7d2d909 5 2026-02-17 17:08:26 ~15 min windows/nwaku 📦zip
✔️ 7d2d909 5 2026-02-17 17:10:37 ~17 min tests-rpc 📄log
✔️ 7d2d909 5 2026-02-17 17:10:37 ~17 min tests-rpc 📄log
✔️ 7d2d909 5 2026-02-17 17:27:58 ~35 min tests 📄log
✖️ 9188470 6 2026-02-18 02:48:32 ~2 min tests 📄log
✔️ 9188470 6 2026-02-18 02:50:03 ~4 min linux/status-go 📦zip
✔️ 9188470 6 2026-02-18 02:52:14 ~6 min macos/status-go 📦zip
✔️ 9188470 6 2026-02-18 02:53:52 ~8 min linux/nwaku 📦zip
9188470 6 2026-02-18 02:53:59 ~8 min macos/nwaku 📄log
✔️ 9188470 6 2026-02-18 02:55:47 ~10 min windows/status-go 📦zip
✔️ 9188470 6 2026-02-18 03:00:57 ~15 min windows/nwaku 📦zip
✔️ 9188470 6 2026-02-18 03:03:22 ~17 min tests-rpc 📄log
✔️ 9188470 6 2026-02-18 03:04:20 ~18 min tests-rpc 📄log
✔️ 9188470 6 2026-02-18 03:21:26 ~35 min tests 📄log
✖️ d9c5e4c 7 2026-02-18 02:57:53 ~3 min tests 📄log
✔️ d9c5e4c 7 2026-02-18 02:58:24 ~3 min linux/status-go 📦zip
✔️ d9c5e4c 7 2026-02-18 03:01:12 ~6 min macos/status-go 📦zip
✔️ d9c5e4c 7 2026-02-18 03:02:22 ~7 min linux/nwaku 📦zip
d9c5e4c 7 2026-02-18 03:03:42 ~8 min macos/nwaku 📄log
✔️ d9c5e4c 7 2026-02-18 03:03:56 ~7 min windows/status-go 📦zip
✔️ d9c5e4c 7 2026-02-18 03:16:44 ~15 min windows/nwaku 📦zip
✔️ d9c5e4c 7 2026-02-18 03:20:36 ~17 min tests-rpc 📄log
✔️ d9c5e4c 7 2026-02-18 03:20:44 ~16 min tests-rpc 📄log
✖️ d9c5e4c 7 2026-02-18 03:22:52 ~1 min tests 📄log
✖️ 7707454 8 2026-02-19 04:22:43 ~2 min tests 📄log
✔️ 7707454 8 2026-02-19 04:24:38 ~4 min linux/status-go 📦zip
✔️ 7707454 8 2026-02-19 04:24:44 ~4 min macos/status-go 📦zip
✔️ 7707454 8 2026-02-19 04:27:49 ~7 min linux/nwaku 📦zip
7707454 8 2026-02-19 04:28:38 ~8 min macos/nwaku 📄log
✔️ 7707454 8 2026-02-19 04:29:23 ~9 min windows/status-go 📦zip
✔️ 7707454 8 2026-02-19 04:35:24 ~15 min windows/nwaku 📦zip
✔️ 7707454 8 2026-02-19 04:37:46 ~17 min tests-rpc 📄log
✔️ 7707454 8 2026-02-19 04:37:46 ~17 min tests-rpc 📄log
✔️ 7707454 8 2026-02-19 04:55:39 ~35 min tests 📄log
✖️ 271d36e 9 2026-02-19 13:14:44 ~1 min tests 📄log
✔️ 271d36e 9 2026-02-19 13:16:45 ~4 min linux/status-go 📦zip
✔️ 271d36e 9 2026-02-19 13:17:29 ~4 min macos/status-go 📦zip
✔️ 271d36e 9 2026-02-19 13:20:37 ~7 min linux/nwaku 📦zip
✔️ 271d36e 9 2026-02-19 13:21:28 ~8 min windows/status-go 📦zip
271d36e 9 2026-02-19 13:21:36 ~8 min macos/nwaku 📄log
✔️ 271d36e 9 2026-02-19 13:28:14 ~15 min windows/nwaku 📦zip
✔️ 271d36e 9 2026-02-19 13:30:06 ~17 min tests-rpc 📄log
✔️ 271d36e 9 2026-02-19 13:30:06 ~17 min tests-rpc 📄log
✔️ 271d36e 9 2026-02-19 13:50:02 ~37 min tests 📄log
✔️ 44b799d 10 2026-02-19 13:43:04 ~4 min macos/status-go 📦zip
✖️ 44b799d 10 2026-02-19 13:44:43 ~6 min tests 📄log
✔️ 44b799d 10 2026-02-19 13:45:04 ~7 min linux/status-go 📦zip
✔️ 44b799d 10 2026-02-19 13:46:26 ~8 min windows/status-go 📦zip
44b799d 10 2026-02-19 13:47:30 ~9 min macos/nwaku 📄log
✔️ 44b799d 10 2026-02-19 13:49:52 ~11 min linux/nwaku 📦zip
✖️ 44b799d 10 2026-02-19 14:04:16 ~26 min tests-rpc 📄log
✔️ 44b799d 10 2026-02-19 14:04:51 ~26 min tests-rpc 📄log
✔️ 44b799d 10 2026-02-19 14:05:16 ~26 min windows/nwaku 📦zip
✔️ 44b799d 10 2026-02-19 14:33:12 ~42 min tests 📄log
✔️ b187d1e 11 2026-02-23 09:44:17 ~4 min macos/status-go 📦zip
✔️ b187d1e 11 2026-02-23 09:45:40 ~6 min linux/status-go 📦zip
✖️ b187d1e 11 2026-02-23 09:47:21 ~7 min tests 📄log
b187d1e 11 2026-02-23 09:47:59 ~8 min macos/nwaku 📄log
✔️ b187d1e 11 2026-02-23 09:50:05 ~10 min linux/nwaku 📦zip
✔️ b187d1e 11 2026-02-23 09:50:14 ~10 min windows/status-go 📦zip
✔️ b187d1e 11 2026-02-23 10:01:03 ~21 min tests-rpc 📄log
✔️ b187d1e 11 2026-02-23 10:04:00 ~24 min tests-rpc 📄log
✔️ b187d1e 11 2026-02-23 10:06:42 ~27 min windows/nwaku 📦zip
✔️ b187d1e 11 2026-02-23 10:22:11 ~42 min tests 📄log
✔️ b521c40 12 2026-02-23 09:55:38 ~4 min linux/status-go 📦zip
✔️ b521c40 12 2026-02-23 09:55:44 ~4 min macos/status-go 📦zip
✖️ b521c40 12 2026-02-23 09:56:47 ~5 min tests 📄log
b521c40 12 2026-02-23 09:59:13 ~7 min macos/nwaku 📄log
✔️ b521c40 12 2026-02-23 09:59:19 ~8 min linux/nwaku 📦zip
✔️ b521c40 12 2026-02-23 10:00:35 ~9 min windows/status-go 📦zip
✔️ b521c40 12 2026-02-23 10:17:43 ~16 min tests-rpc 📄log
✔️ b521c40 12 2026-02-23 10:20:47 ~16 min tests-rpc 📄log
✔️ b521c40 12 2026-02-23 10:22:14 ~15 min windows/nwaku 📦zip
✔️ b521c40 12 2026-02-23 10:59:41 ~37 min tests 📄log
✖️ 03d8daf 13 2026-02-23 10:49:30 ~2 min tests 📄log
✔️ 03d8daf 13 2026-02-23 10:50:39 ~4 min linux/status-go 📦zip
✔️ 03d8daf 13 2026-02-23 10:51:08 ~4 min macos/status-go 📦zip
✔️ 03d8daf 13 2026-02-23 10:53:56 ~7 min windows/status-go 📦zip
03d8daf 13 2026-02-23 10:54:18 ~7 min macos/nwaku 📄log
✔️ 03d8daf 13 2026-02-23 10:54:40 ~8 min linux/nwaku 📦zip
✔️ 03d8daf 13 2026-02-23 11:02:16 ~15 min windows/nwaku 📦zip
✔️ 03d8daf 13 2026-02-23 11:05:49 ~19 min tests-rpc 📄log
✔️ 03d8daf 13 2026-02-23 11:06:41 ~20 min tests-rpc 📄log
✔️ 03d8daf 13 2026-02-23 11:34:53 ~35 min tests 📄log
✖️ 4d82e65 14 2026-02-23 14:19:42 ~2 min tests 📄log
✔️ 4d82e65 14 2026-02-23 14:21:12 ~4 min linux/status-go 📦zip
✔️ 4d82e65 14 2026-02-23 14:21:31 ~4 min macos/status-go 📦zip
✔️ 4d82e65 14 2026-02-23 14:24:28 ~7 min linux/nwaku 📦zip
✔️ 4d82e65 14 2026-02-23 14:24:49 ~7 min windows/status-go 📦zip
4d82e65 14 2026-02-23 14:25:11 ~8 min macos/nwaku 📄log
✔️ 4d82e65 14 2026-02-23 14:33:53 ~16 min windows/nwaku 📦zip
✔️ 4d82e65 14 2026-02-23 14:35:15 ~18 min tests-rpc 📄log
✔️ 4d82e65 14 2026-02-23 14:35:22 ~18 min tests-rpc 📄log
✔️ 4d82e65 14 2026-02-23 14:56:56 ~39 min tests 📄log
✖️ 9e57c28 15 2026-02-24 01:01:32 ~1 min tests 📄log
✖️ 9e57c28 15 2026-02-24 01:02:44 ~2 min tests 📄log
✔️ 9e57c28 15 2026-02-24 01:03:35 ~3 min linux/status-go 📦zip
✔️ 9e57c28 15 2026-02-24 01:04:17 ~4 min macos/status-go 📦zip
✔️ 9e57c28 15 2026-02-24 01:06:42 ~6 min windows/status-go 📦zip
✔️ 9e57c28 15 2026-02-24 01:07:37 ~7 min linux/nwaku 📦zip
9e57c28 15 2026-02-24 01:08:19 ~8 min macos/nwaku 📄log
✔️ 9e57c28 15 2026-02-24 01:16:27 ~16 min tests-rpc 📄log
✔️ 9e57c28 15 2026-02-24 01:16:43 ~16 min tests-rpc 📄log
✔️ 9e57c28 15 2026-02-24 01:18:05 ~18 min windows/nwaku 📦zip
✖️ dee7073 16 2026-02-25 06:55:28 ~1 min tests 📄log
✔️ dee7073 16 2026-02-25 06:58:37 ~4 min linux/status-go 📦zip
✔️ dee7073 16 2026-02-25 06:59:23 ~5 min macos/status-go 📦zip
✔️ dee7073 16 2026-02-25 07:02:32 ~8 min linux/nwaku 📦zip
dee7073 16 2026-02-25 07:04:47 ~10 min macos/nwaku 📄log
✔️ dee7073 16 2026-02-25 07:04:47 ~10 min windows/status-go 📦zip
✔️ dee7073 16 2026-02-25 07:09:10 ~15 min tests-rpc 📄log
✔️ dee7073 16 2026-02-25 07:10:45 ~16 min tests-rpc 📄log
✔️ dee7073 16 2026-02-25 07:14:56 ~20 min windows/nwaku 📦zip
✔️ dee7073 16 2026-02-25 07:29:26 ~35 min tests 📄log
✖️ 634657a 17 2026-02-27 03:24:00 ~2 min tests 📄log
✔️ 634657a 17 2026-02-27 03:25:22 ~4 min linux/status-go 📦zip
✔️ 634657a 17 2026-02-27 03:25:32 ~4 min macos/status-go 📦zip
✔️ 634657a 17 2026-02-27 03:28:36 ~7 min linux/nwaku 📦zip
634657a 17 2026-02-27 03:29:42 ~8 min macos/nwaku 📄log
✔️ 634657a 17 2026-02-27 03:35:41 ~14 min tests-rpc 📄log
✔️ 634657a 17 2026-02-27 03:36:03 ~15 min tests-rpc 📄log
✔️ 634657a 17 2026-02-27 03:39:21 ~18 min windows/nwaku 📦zip
✔️ 634657a 17 2026-02-27 03:56:34 ~35 min tests 📄log
✖️ 673e345 18 2026-03-03 09:57:40 ~3 min tests 📄log
✔️ 673e345 18 2026-03-03 09:58:41 ~4 min linux/status-go 📦zip
✔️ 673e345 18 2026-03-03 09:59:20 ~4 min macos/status-go 📦zip
673e345 18 2026-03-03 10:02:04 ~7 min macos/nwaku 📄log
✔️ 673e345 18 2026-03-03 10:02:49 ~8 min linux/nwaku 📦zip
✔️ 673e345 18 2026-03-03 10:03:18 ~8 min windows/status-go 📦zip
✔️ 673e345 18 2026-03-03 10:06:47 ~12 min windows/nwaku 📦zip
✔️ 673e345 18 2026-03-03 10:09:06 ~14 min tests-rpc 📄log
✔️ 673e345 18 2026-03-03 10:09:22 ~14 min tests-rpc 📄log
✔️ 673e345 18 2026-03-03 10:30:14 ~35 min tests 📄log
✖️ ff12faa 19 2026-03-04 01:57:43 ~4 min tests 📄log
✔️ ff12faa 19 2026-03-04 01:59:08 ~5 min windows/status-go 📦zip
✔️ ff12faa 19 2026-03-04 02:00:54 ~7 min macos/status-go 📦zip
ff12faa 19 2026-03-04 02:04:36 ~11 min macos/nwaku 📄log
✔️ ff12faa 19 2026-03-04 02:09:35 ~16 min tests-rpc 📄log
✔️ ff12faa 19 2026-03-04 02:11:08 ~17 min tests-rpc 📄log
✔️ ff12faa 19 2026-03-04 02:12:42 ~19 min windows/nwaku 📦zip
✔️ ff12faa 19 2026-03-04 02:32:10 ~38 min tests 📄log
✔️ 5d1f1c4 20 2026-03-17 16:55:44 ~4 min macos/status-go 📦zip
✔️ 5d1f1c4 20 2026-03-17 17:01:01 ~9 min windows/status-go 📦zip
✔️ 5d1f1c4 20 2026-03-17 17:05:33 ~13 min windows/nwaku 📦zip
✔️ 5d1f1c4 20 2026-03-17 17:08:42 ~17 min macos/nwaku 📦zip
✔️ 5d1f1c4 20 2026-03-17 17:12:19 ~20 min linux/status-go 📦zip
✖️ 5d1f1c4 20 2026-03-17 17:13:38 ~21 min tests 📄log
✔️ 5d1f1c4 20 2026-03-17 17:14:43 ~23 min linux/nwaku 📦zip
✔️ 5d1f1c4 20 2026-03-17 17:29:27 ~37 min tests-rpc 📄log
✖️ 5d1f1c4 20 2026-03-17 17:29:57 ~38 min tests-rpc 📄log
✔️ 5d1f1c4 20 2026-03-17 17:49:35 ~57 min tests 📄log
✔️ 5d1f1c4 21 2026-03-17 18:07:28 ~35 min tests-rpc 📄log
✔️ 9ef169f 21 2026-03-30 05:32:32 ~3 min linux/status-go 📦zip
✔️ 9ef169f 21 2026-03-30 05:33:09 ~4 min macos/status-go 📦zip
✖️ 9ef169f 21 2026-03-30 05:33:17 ~4 min tests 📄log
✔️ 9ef169f 21 2026-03-30 05:37:42 ~8 min windows/status-go 📦zip
✔️ 9ef169f 22 2026-03-30 05:44:29 ~15 min tests-rpc 📄log
✔️ 8aaa3dd 22 2026-03-31 00:27:20 ~4 min linux/status-go 📦zip
✔️ 8aaa3dd 22 2026-03-31 00:27:36 ~4 min macos/status-go 📦zip
✔️ 8aaa3dd 22 2026-03-31 00:32:03 ~8 min windows/status-go 📦zip
✔️ 8aaa3dd 23 2026-03-31 00:38:51 ~15 min tests-rpc 📄log
✔️ 8aaa3dd 22 2026-03-31 00:58:29 ~35 min tests 📄log
5eed255 23 2026-04-09 11:01:33 ~2 min linux/status-go 📄log
5eed255 23 2026-04-09 11:01:34 ~2 min macos/status-go 📄log
5eed255 23 2026-04-09 11:04:10 ~5 min windows/status-go 📄log
✖️ 5eed255 24 2026-04-09 11:04:58 ~6 min tests-rpc 📄log
✖️ 5eed255 23 2026-04-09 11:06:25 ~7 min tests 📄log
3049356 24 2026-04-09 11:09:39 ~3 min windows/status-go 📄log
3049356 24 2026-04-09 11:11:09 ~5 min macos/status-go 📄log
✖️ 3049356 25 2026-04-09 11:19:27 ~13 min tests-rpc 📄log
3049356 24 2026-04-09 11:19:42 ~13 min linux/status-go 📄log
✖️ 3049356 24 2026-04-09 11:21:04 ~14 min tests 📄log
✔️ f354a68 25 2026-04-09 13:48:16 ~3 min linux/status-go 📦zip
✔️ f354a68 25 2026-04-09 13:49:36 ~5 min macos/status-go 📦zip
✔️ f354a68 25 2026-04-09 13:53:58 ~9 min windows/status-go 📦zip
✔️ f354a68 26 2026-04-09 14:01:37 ~16 min tests-rpc 📄log
✔️ f354a68 25 2026-04-09 14:24:14 ~39 min tests 📄log
✔️ f65df05 26 2026-04-09 14:10:26 ~4 min macos/status-go 📦zip
✔️ f65df05 26 2026-04-09 14:12:03 ~5 min windows/status-go 📦zip
✔️ f65df05 26 2026-04-09 14:16:51 ~10 min linux/status-go 📦zip
✔️ f65df05 27 2026-04-09 14:29:27 ~23 min tests-rpc 📄log
✔️ f65df05 26 2026-04-09 14:59:52 ~35 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 2a97883 27 2026-04-13 14:26:07 ~3 min linux/status-go 📦zip
✔️ 2a97883 27 2026-04-13 14:26:39 ~4 min macos/status-go 📦zip
✔️ 2a97883 27 2026-04-13 14:27:52 ~5 min windows/status-go 📦zip
✔️ 2a97883 28 2026-04-13 14:38:12 ~15 min tests-rpc 📄log
✔️ 2a97883 27 2026-04-13 14:57:36 ~35 min tests 📄log
✔️ 3bf31bb 28 2026-04-13 14:55:10 ~4 min linux/status-go 📦zip
✔️ 3bf31bb 28 2026-04-13 14:55:14 ~4 min macos/status-go 📦zip
✔️ 3bf31bb 28 2026-04-13 14:58:53 ~7 min windows/status-go 📦zip
✔️ 3bf31bb 29 2026-04-13 15:06:53 ~15 min tests-rpc 📄log
✔️ 3bf31bb 28 2026-04-13 15:34:27 ~36 min tests 📄log

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 29, 2026

Codecov Report

❌ Patch coverage is 44.37182% with 766 lines in your changes missing coverage. Please review.
✅ Project coverage is 61.08%. Comparing base (0cb811f) to head (3bf31bb).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
...unities/archive/torrent/archive_manager_torrent.go 51.63% 318 Missing and 52 partials ⚠️
protocol/communities/archive/archive_manager.go 47.72% 128 Missing and 10 partials ⚠️
protocol/messenger_communities.go 3.75% 73 Missing and 4 partials ⚠️
protocol/messenger_handler.go 1.81% 53 Missing and 1 partial ⚠️
...ol/communities/archive/archive_manager_nop_type.go 17.02% 39 Missing ⚠️
protocol/communities/persistence.go 57.62% 23 Missing and 2 partials ⚠️
protocol/messenger_communities_import_discord.go 0.00% 24 Missing ⚠️
protocol/communities/manager.go 45.16% 16 Missing and 1 partial ⚠️
protocol/communities/archive/archive_service.go 0.00% 9 Missing ⚠️
...rotocol/communities/archive/types/archive_types.go 0.00% 9 Missing ⚠️
... and 1 more

❌ Your patch status has failed because the patch coverage (44.37%) is below the target coverage (50.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #7312      +/-   ##
===========================================
- Coverage    61.23%   61.08%   -0.15%     
===========================================
  Files          832      836       +4     
  Lines       116660   117158     +498     
===========================================
+ Hits         71431    71562     +131     
- Misses       37862    38214     +352     
- Partials      7367     7382      +15     
Flag Coverage Δ
functional 39.77% <3.52%> (-0.19%) ⬇️
unit 55.25% <44.22%> (-0.11%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...rotocol/communities/archive/utils/archive_utils.go 100.00% <100.00%> (ø)
protocol/messenger.go 61.90% <84.61%> (+0.17%) ⬆️
protocol/communities/archive/archive_service.go 0.00% <0.00%> (ø)
...rotocol/communities/archive/types/archive_types.go 0.00% <0.00%> (ø)
protocol/communities/manager.go 62.53% <45.16%> (+2.32%) ⬆️
protocol/messenger_communities_import_discord.go 4.09% <0.00%> (-0.03%) ⬇️
protocol/communities/persistence.go 67.77% <57.62%> (+0.20%) ⬆️
...ol/communities/archive/archive_manager_nop_type.go 17.02% <17.02%> (ø)
protocol/messenger_handler.go 54.34% <1.81%> (-0.55%) ⬇️
protocol/messenger_communities.go 51.78% <3.75%> (-0.60%) ⬇️
... and 2 more

... and 12 files with indirect coverage changes

@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from 6f8008f to d085990 Compare February 2, 2026 00:57
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from d085990 to 1144c71 Compare February 9, 2026 16:48
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from 1144c71 to eb1981b Compare February 17, 2026 03:41
@marcinczenko marcinczenko marked this pull request as ready for review February 17, 2026 04:09
@marcinczenko marcinczenko requested a review from a team as a code owner February 17, 2026 04:09
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch 2 times, most recently from 9188470 to d9c5e4c Compare February 18, 2026 02:54
Copy link
Copy Markdown
Collaborator

@igor-sirotin igor-sirotin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, much cleaner now, thank you!

Comment thread protocol/communities/archive/torrent/archive_manager_torrent.go
Comment thread scripts/set-test-env.sh Outdated
@igor-sirotin
Copy link
Copy Markdown
Collaborator

I think 44% patch is ok for this refactor
@jrainville @osmaczko please take a look, we need one more approval here

@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from 44b799d to b187d1e Compare February 23, 2026 09:39
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 23, 2026

⚠️ Companion PR Needs Update

#20208 is not using the latest status-go commit (3bf31bbe71cfd0f25c145272f5023e0bacc3d5f2).

Update vendor/status-go in the companion PR.

Copy link
Copy Markdown
Member

@jrainville jrainville left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Very nice job

// CommunityExists checks if a community with the given ID exists in the database.
// This is a lightweight alternative to GetByID when only existence checking is needed.
func (p *Persistence) CommunityExists(memberIdentity *ecdsa.PublicKey, id []byte) (bool, error) {
r, err := p.getByID(id, memberIdentity)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a truly lightweight version, we could do a SELECT COUNT(1) FROM communities WHERE ID=id

@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch 2 times, most recently from 634657a to 673e345 Compare March 3, 2026 09:54
@jrainville jrainville force-pushed the refactor/extract-archive-service branch from ff12faa to 5d1f1c4 Compare March 17, 2026 16:51
@jrainville
Copy link
Copy Markdown
Member

I rebased this branch and also created the companion PR: status-im/status-app#20208

@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch 2 times, most recently from 9ef169f to 8aaa3dd Compare March 31, 2026 00:23
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch 3 times, most recently from f354a68 to f65df05 Compare April 9, 2026 14:05
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from f65df05 to 2a97883 Compare April 13, 2026 14:22
@marcinczenko marcinczenko force-pushed the refactor/extract-archive-service branch from 2a97883 to 3bf31bb Compare April 13, 2026 14:50
@marcinczenko marcinczenko merged commit 94e1ae5 into develop Apr 13, 2026
19 of 21 checks passed
@marcinczenko marcinczenko deleted the refactor/extract-archive-service branch April 13, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants