kubo/test/cli
Hector Sanjuan a673c2ec95
fix: Provide according to Reprovider.Strategy (#10886)
* Provide according to strategy

Updates boxo to a version with the changes from https://github.com/ipfs/boxo/pull/976, which decentralize the providing responsibilities (from a central providing.Exchange to blockstore, pinner, mfs).

The changes consist in initializing the Pinner, MFS and the blockstore with the provider.System, which is created first.

Since the provider.System is created first, the reproviding KeyChanFunc is set
later when we can create it once we have the Pinner, MFS and the blockstore.

Some additional work applies to the Add() workflow. Normally, blocks would get provided at the Blockstore or the Pinner, but when adding blocks AND a "pinned" strategy is used, the blockstore does not provide, and the
pinner does not traverse the DAG (and thus doesn't provide either), so we need to provide directly from the Adder. This is resolved by wrapping the DAGService in a "providingDAGService" which provides every added block, when using the "pinned" strategy.

`ipfs --offline add` when the ONLINE daemon is running will now announce blocks per the chosen strategy, where before it did not announce them. This is documented in the changelog. A couple of releases ago, adding with `ipfs --offline add` was faster, but this is no longer the case so we are not incurring in any penalties by sticking to the fact that the daemon is online and has a providing strategy that we follow.

Co-authored-by: gammazero <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2025-08-08 10:56:44 +02:00
..
fixtures feat(ipns): records with V2-only signatures (#9932) 2023-06-20 14:24:31 +02:00
harness fix: Provide according to Reprovider.Strategy (#10886) 2025-08-08 10:56:44 +02:00
testutils refactor: remove goprocess (#10872) 2025-08-06 00:33:45 +02:00
add_test.go feat(add): add support for naming pinned CIDs (#10877) 2025-08-06 02:16:16 +02:00
backup_bootstrap_test.go feat(bootstrap): save connected peers as backup bootstrap peers (#8856) 2023-05-25 14:39:49 +02:00
basic_commands_test.go Upgrade to go1.24 (#10726) 2025-02-24 14:46:20 -08:00
bitswap_config_test.go feat(fuse): Expose MFS as FUSE mount point (#10781) 2025-05-06 21:55:53 +02:00
cli_https_test.go fix(cli): support HTTPS in ipfs --api (#10659) 2025-01-10 22:34:56 +01:00
completion_test.go feat: add zsh completions (#10040) 2023-08-17 16:43:27 +02:00
content_blocking_test.go test: cleanup content blocking tests (#10360) 2024-03-01 09:58:10 +01:00
content_routing_http_test.go feat: opt-in http retrieval client (#10772) 2025-05-06 19:06:40 +02:00
daemon_test.go refactor: remove goprocess (#10872) 2025-08-06 00:33:45 +02:00
dag_test.go docs: fix some typos (#10377) 2024-03-25 09:59:47 +01:00
delegated_routing_v1_http_client_test.go feat(gateway): expose /routing/v1 server (opt-in) (#9877) 2023-08-25 17:30:04 +02:00
delegated_routing_v1_http_proxy_test.go feat: Better self-service commands for DHT providing (#10677) 2025-01-31 16:33:11 +01:00
delegated_routing_v1_http_server_test.go feat: Better self-service commands for DHT providing (#10677) 2025-01-31 16:33:11 +01:00
dht_autoclient_test.go test: fix autoclient flakiness (#9769) 2023-03-29 11:56:25 -04:00
dht_opt_prov_test.go core: deprecate CoreAPI.Dht, introduce CoreAPI.Routing 2024-02-07 10:47:30 +01:00
files_test.go Nonfunctional (#10753) 2025-03-11 14:04:16 -07:00
fuse_test.go refactor: remove goprocess (#10872) 2025-08-06 00:33:45 +02:00
gateway_range_test.go feat(gateway): update gateway api, no multi-range support 2023-10-02 16:43:52 +02:00
gateway_test.go chore: use go-log/v2 (#10801) 2025-05-19 13:04:05 -07:00
http_gateway_over_libp2p_test.go chore: update dependencies (#10462)(#10466) 2024-07-30 16:42:18 +02:00
http_retrieval_client_test.go feat: opt-in http retrieval client (#10772) 2025-05-06 19:06:40 +02:00
init_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
must.go test: port remote pinning tests to Go (#9720) 2023-03-30 07:46:35 -04:00
name_test.go docs(cli): name inspect --verify (#10308) 2024-01-17 14:59:02 +00:00
peering_test.go feat: add identify option to swarm peers command 2023-03-30 04:34:57 +00:00
ping_test.go chore: update go-libp2p-kad-dht 2023-09-21 20:14:21 +02:00
pinning_remote_test.go test: port remote pinning tests to Go (#9720) 2023-03-30 07:46:35 -04:00
pins_test.go fix(cli): unify --name param in ls and add (#10439) 2024-06-06 22:19:23 +02:00
provider_test.go fix: Provide according to Reprovider.Strategy (#10886) 2025-08-08 10:56:44 +02:00
rcmgr_test.go fix: future proof with > rcmgr.DefaultLimit for new enum rcmgr values 2023-03-16 13:41:24 +01:00
routing_dht_test.go feat: Better self-service commands for DHT providing (#10677) 2025-01-31 16:33:11 +01:00
rpc_auth_test.go feat(rpc): Opt-in HTTP RPC API Authorization (#10218) 2023-11-17 01:29:29 +01:00
rpc_unixsocket_test.go Cleanup commented imports 2024-08-19 19:55:11 -07:00
stats_test.go fix: stats dht command when Routing.Type=auto (#9538) 2023-01-13 00:38:38 +01:00
swarm_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
tracing_test.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
transports_test.go feat(AutoTLS): enabled by default with 1h RegistrationDelay (#10724) 2025-02-25 22:25:58 +01:00