Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/fanout-singledomain-hotfix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
---

fix(crawler): also fan publisher_properties[].publisher_domains[] from crawlSingleDomain + crawlSingleDomainForCatalog

#4840 wired the fan-out helper into the two periodic-crawl loops (L457 registered publishers, L542 sales-agent claimed publishers) but missed the on-demand `crawlSingleDomain` path (called by `POST /api/registry/crawl-request`) and `crawlSingleDomainForCatalog` (called by the manager revalidation queue worker). Both iterate `authorized_agents[]` independently and need the same fan-out call.

Symptom: admin-triggered crawl of cafemedia.com refreshed the manifest cache (`last_verified_at` updated) but didn't synthesize the 6,800 child rows — the directory inverse-lookup kept returning a single `cafemedia.com` row with `properties_total: 0`.

Fix: add `await this.fanOutPublisherPropertiesAuthorizations(authorizedAgent, domain)` inside both per-agent loops (`crawlSingleDomain` at line ~1346 and `crawlSingleDomainForCatalog` at line ~1620), mirroring the periodic-crawl paths.
4 changes: 4 additions & 0 deletions server/src/crawler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1343,6 +1343,8 @@ export class CrawlerService {
authorizedAgent.authorized_for,
authorizedAgent.property_ids
);

await this.fanOutPublisherPropertiesAuthorizations(authorizedAgent, domain);
}
await this.reconcileLegacyAdagentsAgents(domain, validation.raw_data as AdagentsManifest);

Expand Down Expand Up @@ -1618,6 +1620,8 @@ export class CrawlerService {
authorizedAgent.authorized_for,
authorizedAgent.property_ids
);

await this.fanOutPublisherPropertiesAuthorizations(authorizedAgent, domain);
}
await this.reconcileLegacyAdagentsAgents(domain, validation.raw_data as AdagentsManifest);

Expand Down
Loading