Skip to content

Lazy-evaluate ENSDb modules in ENSApi#2174

Open
tk-o wants to merge 3 commits into
mainfrom
feat/2029-di-for-ensdb-modules
Open

Lazy-evaluate ENSDb modules in ENSApi#2174
tk-o wants to merge 3 commits into
mainfrom
feat/2029-di-for-ensdb-modules

Conversation

@tk-o
Copy link
Copy Markdown
Member

@tk-o tk-o commented May 21, 2026

Lite PR

Tip: Review docs on the ENSNode PR process

Summary

  • Replaces all eagerly-evaluated imports from @/lib/ensdb/singleton with the lazily-evaluated counterparts from @/di.

Why

  • We want to phase out the use of lazy/lazyProxy primitives from ENSNode codebase.

Testing

  • Ran static code checks, testing suite and ENSApi locally while testing it in the local ENSAdmin UI.

Notes for Reviewer (Optional)

  • This is a follow up PR to DI container for ENSApi #2159
  • Review commit-by-commit (one commit updates the ENSDb modules creation, the other covers mechanical updates).

Pre-Review Checklist (Blocking)

  • This PR does not introduce significant changes and is low-risk to review quickly.
  • Relevant changesets are included (or are not required)

@tk-o tk-o requested a review from a team as a code owner May 21, 2026 19:43
Copilot AI review requested due to automatic review settings May 21, 2026 19:43
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

⚠️ No Changeset found

Latest commit: 3fa3adb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
enskit-react-example.ensnode.io Ready Ready Preview, Comment May 21, 2026 7:49pm
3 Skipped Deployments
Project Deployment Actions Updated (UTC)
admin.ensnode.io Skipped Skipped May 21, 2026 7:49pm
ensnode.io Skipped Skipped May 21, 2026 7:49pm
ensrainbow.io Skipped Skipped May 21, 2026 7:49pm

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

Review Change Stack

Warning

Rate limit exceeded

@tk-o has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 51 minutes and 22 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 19bb31bf-1934-4364-877b-004e57bde7f6

📥 Commits

Reviewing files that changed from the base of the PR and between d943075 and 3fa3adb.

📒 Files selected for processing (34)
  • apps/ensapi/src/cache/indexing-status.cache.ts
  • apps/ensapi/src/cache/stack-info.cache.ts
  • apps/ensapi/src/config/config.schema.test.ts
  • apps/ensapi/src/config/config.singleton.test.ts
  • apps/ensapi/src/config/ensdb-config.ts
  • apps/ensapi/src/di.ts
  • apps/ensapi/src/handlers/ensapi-probes/ensapi-probes-api.ts
  • apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database.ts
  • apps/ensapi/src/lib/ensdb/singleton.ts
  • apps/ensapi/src/lib/name-tokens/find-name-tokens-for-domain.ts
  • apps/ensapi/src/lib/protocol-acceleration/find-resolver.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-primary-name-from-index.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-records-from-index.ts
  • apps/ensapi/src/lib/registrar-actions/find-registrar-actions.ts
  • apps/ensapi/src/omnigraph-api/context.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver-helpers.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts
  • apps/ensapi/src/omnigraph-api/schema/account.ts
  • apps/ensapi/src/omnigraph-api/schema/domain.ts
  • apps/ensapi/src/omnigraph-api/schema/event.ts
  • apps/ensapi/src/omnigraph-api/schema/label.ts
  • apps/ensapi/src/omnigraph-api/schema/permissions.ts
  • apps/ensapi/src/omnigraph-api/schema/query.ts
  • apps/ensapi/src/omnigraph-api/schema/registration.ts
  • apps/ensapi/src/omnigraph-api/schema/registry-permissions-user.ts
  • apps/ensapi/src/omnigraph-api/schema/registry.ts
  • apps/ensapi/src/omnigraph-api/schema/renewal.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver-permissions-user.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver-records.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver.ts
📝 Walkthrough

Walkthrough

This PR removes the ENS DB singleton pattern and migrates all database/schema dependencies across the ensapi application to use a centralized dependency-injection container. Module-level imports of ensDbClient, ensDb, and ensIndexerSchema are replaced with runtime reads from di.context, eliminating circular dependency constraints during module initialization and enabling per-request context management for GraphQL resolvers.

Changes

Singleton Dependency Injection Refactor

Layer / File(s) Summary
DI Infrastructure & Configuration
apps/ensapi/src/config/ensdb-config.ts, apps/ensapi/src/di.ts
buildEnsDbConfigFromEnvironment now accepts EnsDbEnvironment type. The DI container's ensDbConfig getter lazily builds configuration from EnsApiEnvironment, and ensDbClient getter instantiates a new EnsDbReader instead of returning a module-level singleton.
Test Updates & Singleton Removal
apps/ensapi/src/config/config.schema.test.ts, apps/ensapi/src/config/config.singleton.test.ts
Config tests no longer mock singleton modules. Environment validation tests now use di.init()/di.destroy() and assert that missing env vars cause failures when accessing di.context.ensDbClient. Logger mock now includes makeLogger factory.
Cache Loaders
apps/ensapi/src/cache/indexing-status.cache.ts, apps/ensapi/src/cache/stack-info.cache.ts
Cache loaders dynamically import @/di within async functions and read ensDbClient from di.context, avoiding import-time dependencies and supporting initialization timing constraints.
Probe Handlers
apps/ensapi/src/handlers/ensapi-probes/ensapi-probes-api.ts
Health and readiness check handlers obtain ensDbClient from di.context before executing readiness checks.
Library Database Access
apps/ensapi/src/lib/protocol-acceleration/*, apps/ensapi/src/lib/registrar-actions/*, apps/ensapi/src/lib/ensanalytics/*, apps/ensapi/src/lib/name-tokens/*
Database queries in resolver, index lookup, analytics, and token-finding functions now destructure ensDb/ensIndexerSchema from di.context within their execution paths instead of importing singletons.
GraphQL Query Helpers & Utilities
apps/ensapi/src/omnigraph-api/context.ts, apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver-helpers.ts, apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts, apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts, apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts
Query helper functions and per-request data loaders read ensDb and ensIndexerSchema from di.context for SQL construction and batch loading.
Domain & Event Query Resolvers
apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver.ts, apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts
Resolver implementations destructure ensDb and ensIndexerSchema from di.context within query-building code paths to construct filter conditions, counts, and paginated connections.
GraphQL Schema Type Definitions & Data Loaders
apps/ensapi/src/omnigraph-api/schema/account.ts, apps/ensapi/src/omnigraph-api/schema/domain.ts, apps/ensapi/src/omnigraph-api/schema/event.ts, apps/ensapi/src/omnigraph-api/schema/label.ts, apps/ensapi/src/omnigraph-api/schema/permissions.ts, apps/ensapi/src/omnigraph-api/schema/registration.ts, apps/ensapi/src/omnigraph-api/schema/registry-permissions-user.ts, apps/ensapi/src/omnigraph-api/schema/renewal.ts, apps/ensapi/src/omnigraph-api/schema/resolver-permissions-user.ts, apps/ensapi/src/omnigraph-api/schema/resolver-records.ts, apps/ensapi/src/omnigraph-api/schema/registry.ts, apps/ensapi/src/omnigraph-api/schema/resolver.ts
Schema type definitions use di.context.ensIndexerSchema for type inference in builder.objectRef generics. Data loaders and connection resolvers read ensDb/ensIndexerSchema from di.context for batch queries and paginated result construction.
Root Query Connection Resolvers
apps/ensapi/src/omnigraph-api/schema/query.ts
Root connection resolvers (allDomains, resolvers, registrations) now use block-bodied resolve functions that destructure ensDb and ensIndexerSchema from di.context before returning paginated connections.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related issues

  • #2029: The main issue describes the DI-container refactor plan that removes the ENS DB singleton and updates modules to read dependencies from di.context instead of module-level imports, which is exactly what this PR implements.

Possibly related PRs

  • namehash/ensnode#1809: Both PRs modify apps/ensapi/src/cache/indexing-status.cache.ts to change how ensDbClient is accessed.
  • namehash/ensnode#2021: Both PRs update ensapi health/readiness probe handling to use ensDbClient from DI context.
  • namehash/ensnode#2125: Both PRs modify apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver-helpers.ts query-helper functions to use DI context.

Poem

🐰 With di.context now in place,
No singletons clog the import space—
Each resolver fresh from the fountain flows,
Where dependencies come and go,
Cleaner patterns bloom and grow!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the primary change: migrating ENSDb modules to lazy evaluation via the DI container instead of eager singletons.
Description check ✅ Passed The description follows the required template with all key sections completed: Summary, Why, Testing, Notes, and Pre-Review Checklist. It provides clear context about replacing singleton imports with DI-based lazy evaluation and references related work.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/2029-di-for-ensdb-modules

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 21, 2026

Greptile Summary

This PR replaces eagerly-evaluated imports from @/lib/ensdb/singleton with lazy, DI-container-managed equivalents from @/di, and deletes the now-redundant singleton.ts module. The ensDbConfig lazyProxy default export in ensdb-config.ts is also removed.

  • di.ts gains proper lazy getter memoization for ensDbConfig and ensDbClient, constructing EnsDbReader on first access instead of delegating to the deleted singleton.
  • Cache modules (indexing-status.cache.ts, stack-info.cache.ts) switch to a dynamic await import(\"@/di\") inside their async load functions to break the circular dependency with the DI container.
  • Tests in config.singleton.test.ts are updated to use di.init() / di.destroy() instead of directly importing the deleted singleton.

Confidence Score: 5/5

Safe to merge — the change is a well-scoped mechanical refactor with no behavioral differences in the production path.

All production code paths continue to resolve ensDbClient lazily before first use; the circular-dependency workaround in the two cache modules uses a documented, intentional dynamic import and is correctly placed before the try block so the captured reference stays valid in error logs. Tests are updated consistently and the deleted singleton had no remaining callers.

No files require special attention.

Important Files Changed

Filename Overview
apps/ensapi/src/di.ts Replaces delegation to deleted singleton with lazy memoized getters for ensDbConfig and ensDbClient; EnsDbReader is now constructed inside the DI context on first access.
apps/ensapi/src/cache/indexing-status.cache.ts Moves ensDbClient acquisition into the async load fn via dynamic import of @/di to break the circular dependency; pattern is documented and acknowledged as temporary.
apps/ensapi/src/cache/stack-info.cache.ts Same circular-dependency workaround as indexing-status.cache.ts; dynamic import of di is moved to the top of the load fn so ensDbClient is captured before the try block, keeping the error-log reference valid.
apps/ensapi/src/config/ensdb-config.ts Removes the lazyProxy default export and tightens the env type to EnsDbEnvironment; now exports only the buildEnsDbConfigFromEnvironment factory function.
apps/ensapi/src/config/config.singleton.test.ts Tests updated to use di.init()/di.destroy() lifecycle instead of importing the deleted singleton; makeLogger mock added to satisfy new DI container logging.
apps/ensapi/src/config/config.schema.test.ts Removes now-unnecessary mocks for @/lib/ensdb/singleton and @/config/ensdb-config that were only needed to prevent eager singleton construction.
apps/ensapi/src/lib/ensdb/singleton.ts File deleted; all callers now go through the DI container, making this module redundant.

Sequence Diagram

sequenceDiagram
    participant App as ENSApi Startup
    participant DI as EnsApiDiContainer
    participant Cache as SWRCache (lazyProxy)
    participant DiMod as @/di (async import)
    participant EnsDb as EnsDbReader

    App->>DI: di.init()
    DI->>DI: loadContext() → buildEnsApiDiContext(process.env)
    DI->>Cache: context.indexingStatusCache.read()
    Note over Cache: lazyProxy triggers SWRCache construction
    Cache-->>DI: Promise (async)
    DI->>Cache: context.stackInfoCache.read()
    Cache-->>DI: Promise (async)

    Note over Cache,DiMod: Async load fn runs later
    Cache->>DiMod: "await import("@/di")"
    DiMod-->>Cache: di (singleton)
    Cache->>DI: di.context.ensDbClient
    DI->>DI: "instances.ensDbConfig = buildEnsDbConfigFromEnvironment(env)"
    DI->>EnsDb: new EnsDbReader(ensDbUrl, ensIndexerSchemaName)
    EnsDb-->>DI: EnsDbReader instance
    DI-->>Cache: ensDbClient
    Cache->>EnsDb: getIndexingMetadataContext()
    EnsDb-->>Cache: IndexingMetadataContext
Loading

Reviews (2): Last reviewed commit: "Fix tests" | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates ENSApi’s ENSDb access away from the @/lib/ensdb/singleton lazyProxy-based singleton and onto the @/di container so ENSDb modules are instantiated lazily via DI getters instead of import-time evaluation.

Changes:

  • Replace ensDb / ensIndexerSchema / ensDbClient imports from @/lib/ensdb/singleton with di.context.* across Omnigraph schema + supporting libs/handlers.
  • Move ENSDb config + client construction into apps/ensapi/src/di.ts (build config from env on-demand; instantiate EnsDbReader on first access).
  • Remove apps/ensapi/src/lib/ensdb/singleton.ts and update tests/caches to reference DI.

Reviewed changes

Copilot reviewed 34 out of 34 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
apps/ensapi/src/omnigraph-api/schema/resolver.ts Swap ENSDb/schema access to di.context inside resolver loaders/field resolvers.
apps/ensapi/src/omnigraph-api/schema/resolver-records.ts Use di.context.ensDb for ResolverRecords loader.
apps/ensapi/src/omnigraph-api/schema/resolver-permissions-user.ts Update PermissionsUser typing to reference DI-provided schema types.
apps/ensapi/src/omnigraph-api/schema/renewal.ts Use di.context.ensDb for Renewal loader.
apps/ensapi/src/omnigraph-api/schema/registry.ts Use DI for registry loading + subregistry-domain connection queries.
apps/ensapi/src/omnigraph-api/schema/registry-permissions-user.ts Update PermissionsUser typing to reference DI-provided schema types.
apps/ensapi/src/omnigraph-api/schema/registration.ts Use DI for registration loading + renewals queries.
apps/ensapi/src/omnigraph-api/schema/query.ts Use DI for “dev method” connections (allDomains/resolvers/registrations).
apps/ensapi/src/omnigraph-api/schema/permissions.ts Use DI for Permissions/Resource/User loaders + event connections.
apps/ensapi/src/omnigraph-api/schema/label.ts Update Label typing to reference DI-provided schema types.
apps/ensapi/src/omnigraph-api/schema/event.ts Use di.context.ensDb for Event loader.
apps/ensapi/src/omnigraph-api/schema/domain.ts Use DI for domain loading + registrations/events/permissions queries.
apps/ensapi/src/omnigraph-api/schema/account.ts Use DI for account loading + permissions queries.
apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts Read ENSDb via DI inside helper.
apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts Read ENSDb via DI inside helper.
apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts Read ENSDb/schema via DI before executing recursive SQL.
apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts Replace ENSDb/schema singleton usage with DI throughout event query builder.
apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver.ts Replace ENSDb/schema singleton usage with DI throughout domain query builder.
apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver-helpers.ts Replace schema singleton usage with DI in ordering/cursor helpers.
apps/ensapi/src/omnigraph-api/context.ts Use DI for DataLoader query against ENSDb/schema.
apps/ensapi/src/lib/registrar-actions/find-registrar-actions.ts Replace ENSDb/schema singleton usage with DI throughout query building.
apps/ensapi/src/lib/protocol-acceleration/get-records-from-index.ts Replace ENSDb singleton usage with DI.
apps/ensapi/src/lib/protocol-acceleration/get-primary-name-from-index.ts Replace ENSDb singleton usage with DI.
apps/ensapi/src/lib/protocol-acceleration/find-resolver.ts Replace ENSDb singleton usage with DI in index-backed resolver lookup.
apps/ensapi/src/lib/name-tokens/find-name-tokens-for-domain.ts Replace ENSDb/schema singleton usage with DI in typed select + query.
apps/ensapi/src/lib/ensdb/singleton.ts Remove ENSApi ENSDb singleton module.
apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database.ts Replace ENSDb/schema singleton usage with DI for referral queries.
apps/ensapi/src/handlers/ensapi-probes/ensapi-probes-api.ts Use di.context.ensDbClient for health/readiness probes.
apps/ensapi/src/di.ts Move ENSDb config + EnsDbReader instantiation into DI context getters.
apps/ensapi/src/config/ensdb-config.ts Tighten env typing for ENSDb config builder to EnsDbEnvironment.
apps/ensapi/src/config/config.singleton.test.ts Update singleton bootstrap tests to initialize/use DI container.
apps/ensapi/src/config/config.schema.test.ts Remove ENSDb singleton mocks; adjust imports accordingly.
apps/ensapi/src/cache/stack-info.cache.ts Switch to dynamic DI import + di.context.ensDbClient for metadata reads.
apps/ensapi/src/cache/indexing-status.cache.ts Switch to dynamic DI import + di.context.ensDbClient for metadata reads.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/ensapi/src/omnigraph-api/schema/label.ts
Comment thread apps/ensapi/src/omnigraph-api/schema/registry-permissions-user.ts
Comment on lines 3 to 14
@@ -9,7 +9,7 @@ import { ResolverRef } from "@/omnigraph-api/schema/resolver";
* Represents a PermissionsUser whose contract is a Resolver, providing a semantic `resolver` field.
*/
export const ResolverPermissionsUserRef =
builder.objectRef<typeof ensIndexerSchema.permissionsUser.$inferSelect>(
builder.objectRef<typeof di.context.ensIndexerSchema.permissionsUser.$inferSelect>(
"ResolverPermissionsUser",
);
Comment thread apps/ensapi/src/di.ts
Comment on lines 113 to 120
get ensDbClient(): EnsDbReader {
return ensDbClient;
if (instances.ensDbClient === undefined) {
const { ensDbUrl, ensIndexerSchemaName } = context.ensDbConfig;
instances.ensDbClient = new EnsDbReader(ensDbUrl, ensIndexerSchemaName);
}

return instances.ensDbClient;
},
@tk-o tk-o force-pushed the feat/2029-di-for-ensdb-modules branch from d943075 to 3fa3adb Compare May 21, 2026 19:49
@vercel vercel Bot temporarily deployed to Preview – ensrainbow.io May 21, 2026 19:49 Inactive
@vercel vercel Bot temporarily deployed to Preview – ensnode.io May 21, 2026 19:49 Inactive
@vercel vercel Bot temporarily deployed to Preview – admin.ensnode.io May 21, 2026 19:49 Inactive
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/ensapi/src/cache/indexing-status.cache.ts`:
- Around line 32-37: The dynamic import of "`@/di`" and the subsequent access to
di.context/ensDbClient occur before the existing try block so any failures skip
the loader’s structured error logging; move the import("`@/di`") and the const {
ensDbClient } = di.context into the existing try block (or wrap them in their
own try/catch that forwards errors to the same loader error handler) so import
rejections and missing context errors are caught and logged by the loader’s
structured error path, ensuring the same error handling used elsewhere in this
module.

In `@apps/ensapi/src/cache/stack-info.cache.ts`:
- Around line 43-48: Move the dynamic DI import and context access into the
existing try block so any failures are caught and routed through the function's
error logging; specifically, relocate the await import("`@/di`").then((mod) =>
mod.default) and the subsequent const { ensDbClient } = di.context into the try
that wraps the cache load logic (the block that currently catches and logs load
errors) so that errors resolving di or accessing ensDbClient are logged like
other load failures.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 01efee16-ee34-4955-be6a-7db3525f8067

📥 Commits

Reviewing files that changed from the base of the PR and between 335f072 and d943075.

📒 Files selected for processing (34)
  • apps/ensapi/src/cache/indexing-status.cache.ts
  • apps/ensapi/src/cache/stack-info.cache.ts
  • apps/ensapi/src/config/config.schema.test.ts
  • apps/ensapi/src/config/config.singleton.test.ts
  • apps/ensapi/src/config/ensdb-config.ts
  • apps/ensapi/src/di.ts
  • apps/ensapi/src/handlers/ensapi-probes/ensapi-probes-api.ts
  • apps/ensapi/src/lib/ensanalytics/referrer-leaderboard/database.ts
  • apps/ensapi/src/lib/ensdb/singleton.ts
  • apps/ensapi/src/lib/name-tokens/find-name-tokens-for-domain.ts
  • apps/ensapi/src/lib/protocol-acceleration/find-resolver.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-primary-name-from-index.ts
  • apps/ensapi/src/lib/protocol-acceleration/get-records-from-index.ts
  • apps/ensapi/src/lib/registrar-actions/find-registrar-actions.ts
  • apps/ensapi/src/omnigraph-api/context.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver-helpers.ts
  • apps/ensapi/src/omnigraph-api/lib/find-domains/find-domains-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/find-events/find-events-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-by-interpreted-name.ts
  • apps/ensapi/src/omnigraph-api/lib/get-domain-resolver.ts
  • apps/ensapi/src/omnigraph-api/lib/get-latest-registration.ts
  • apps/ensapi/src/omnigraph-api/schema/account.ts
  • apps/ensapi/src/omnigraph-api/schema/domain.ts
  • apps/ensapi/src/omnigraph-api/schema/event.ts
  • apps/ensapi/src/omnigraph-api/schema/label.ts
  • apps/ensapi/src/omnigraph-api/schema/permissions.ts
  • apps/ensapi/src/omnigraph-api/schema/query.ts
  • apps/ensapi/src/omnigraph-api/schema/registration.ts
  • apps/ensapi/src/omnigraph-api/schema/registry-permissions-user.ts
  • apps/ensapi/src/omnigraph-api/schema/registry.ts
  • apps/ensapi/src/omnigraph-api/schema/renewal.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver-permissions-user.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver-records.ts
  • apps/ensapi/src/omnigraph-api/schema/resolver.ts
💤 Files with no reviewable changes (1)
  • apps/ensapi/src/lib/ensdb/singleton.ts

Comment thread apps/ensapi/src/cache/indexing-status.cache.ts
Comment thread apps/ensapi/src/cache/stack-info.cache.ts
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.

2 participants