NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Zack Tanner

Developer

Zack Tanner

1939140+ztanner@users.noreply.github.com

232 commits~7 files/commit

Performance

YoY:+459%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthOct'25712 performance
Growth Trend↑28%vs prior period
Avg Files/Commit7files per commit
Active Days136of 455 days
Top Reponext.js214 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

45%Productive TimeGrowth 22% + Fixes 78%
44%Maintenance Time
10%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
1e73fa9This commit performs **maintenance** within the **`adapters` module** by **removing dead code** related to a redundant flag and its associated regex. The flag's true and false states consistently yielded the same regex value, rendering the flag and its conditional logic obsolete. This **code cleanup** improves the codebase's clarity and reduces unnecessary complexity without introducing any functional changes or regressions.Mar 283–
56d75a0This commit provides a **bug fix** for the **deployment adapter** to correctly handle **React Server Component (RSC) requests** in deployed environments. Previously, dynamic full-route RSC requests containing query parameters were misclassified as HTML by the `onCacheEntryV2` function, leading to an **invalid HTML response** instead of the expected RSC payload. The fix involves **normalizing the URL** by passing only the pathname, without query parameters, to `onCacheEntryV2`, ensuring that `.rsc` endpoints are correctly identified. This change specifically impacts **PPR (Partial Prerendering)** and **root parameter RSC fallback** scenarios, as validated by new end-to-end tests.Mar 186maint
a41bef9This commit **enhances the developer experience** by significantly improving the warning messages for **blocked cross-site development requests** within the Next.js server. It introduces new helper functions in `packages/next/src/server/lib/router-utils/block-cross-site-dev.ts` to generate more detailed and actionable guidance for users. The updated messages now explicitly name the blocked resource and provide an inline `allowedDevOrigins` configuration snippet when the source host is known, or explain why it cannot be inferred. This **maintenance** update ensures developers receive clearer instructions and actionable advice, with new tests verifying the accuracy of these improved warnings.Mar 182grow
b2b802cThis commit introduces a **security enhancement** by changing the default behavior of **Next.js's development server** to **block disallowed cross-origin requests** to internal dev resources. Previously, these requests would only trigger a warning, but now they are actively blocked unless explicitly allowlisted via `allowedDevOrigins` or matching a built-in local allowlist. This **feature modification** to the `block-cross-site-dev.ts` utility significantly improves the **security posture** of the development environment. The change is accompanied by **expanded test coverage** in `allowed-dev-origins.test.ts` for various blocking scenarios and **updated documentation** for `allowedDevOrigins` to reflect the new default enforcement.Mar 173maint
d0a0474This commit **fixes a bug** in the **Next.js development server** where `allowedDevOrigins` did not correctly apply to cross-site `no-cors` requests for internal development assets. It modifies the `blockCrossSiteDEV` logic within `packages/next/src/server/lib/router-utils/block-cross-site-dev.ts` to fall back to checking the `Referer` header when the `Origin` header is absent, which is common for `no-cors` subresource loads. This **bug fix** ensures that explicitly allowlisted hosts can now properly load `/_next/*` resources without being erroneously blocked. New tests in `test/development/basic/allowed-dev-origins.test.ts` validate this behavior, improving the reliability of cross-site development setups.Mar 172maint
a27a11dThis commit delivers a **critical security fix** for **Next.js Server Actions**, addressing a potential **Cross-Site Request Forgery (CSRF) vulnerability**. It modifies the `handleAction` function within the **server-side rendering pipeline** to explicitly disallow Server Action submissions originating from **privacy-sensitive contexts**, specifically 'null' or opaque origins. This **enhances the security posture** of applications by ensuring Server Actions are only processed from trusted sources, and is thoroughly validated by the addition of comprehensive **end-to-end tests** covering various opaque origin scenarios.Mar 177waste
00bdb03This commit introduces a **critical security fix** by applying a patch to the **`http-proxy` library** (version 1.18.1). The patch specifically improves the handling of `Transfer-Encoding` and `Connection` headers within functions like `setupOutgoing` and `deleteLength` to **prevent request smuggling vulnerabilities**. This directly enhances the **security posture of Next.js applications** that utilize proxying and rewrite features. New end-to-end tests have been added to validate the effectiveness of this mitigation against rewrite request smuggling.Mar 176maint
862f9b9This commit introduces a crucial **security fix** for the **Next.js development server**, specifically preventing cross-site websocket connections from privacy-sensitive origins. It **refactors** and enhances the `blockCrossSiteDEV` utility within the `router-utils` module, improving its logic to correctly identify and block these potentially vulnerable requests. The **server-side routing** (`router-server.ts`) is updated to integrate this improved blocking mechanism, ensuring that the development environment is more secure. New **tests** are added to confirm the correct behavior of blocking cross-site requests, directly addressing the security vulnerability detailed in GHSA-jcc7-9wpm-mj36.Mar 173maint
cd49df2This commit introduces a **maintenance fix** to the **end-to-end testing suite** by conditionally **disabling specific sub-shell generation tests**. The tests, located in `test/e2e/app-dir/sub-shell-generation-middleware/sub-shell-generation-middleware.test.ts` and `test/e2e/app-dir/sub-shell-generation/sub-shell-generation.test.ts`, were **failing in deploy mode** when run outside the new Vercel adapter environment. This is due to upcoming changes in shell-related behavior tied to the `partialFallbacks` flag, which is not backported to the old CLI. By adding a conditional skip based on the `NEXT_ENABLE_ADAPTER` environment variable, this change ensures the **test suite remains stable** and tests are only executed in compatible deployment environments.Mar 142maint
ae3f9f5This commit introduces a significant **refinement to the partial fallback shells mechanism** in Next.js, specifically impacting the **runtime behavior of `next start`** for dynamic routes. It enhances how generic fallback shells are completed, promoting them to the **most specific prerendered shell** for a given branch (e.g., `/[one]/[two]` becomes `/c/[two]` if `[one]` is static) rather than a fully concrete route. This **feature enhancement** ensures that later requests can reuse a more complete shell, improving **server-side rendering efficiency** for partially static dynamic routes while still streaming dynamic content for remaining parameters. The change aligns runtime logic with the build-time `remainingPrerenderableParams` contract, affecting how **prerendering** and `generateStaticParams` interact with dynamic route serving and revalidation.Mar 1414maint
cf4d3aeThis commit **refines the partial fallback upgrading mechanism** in Next.js, addressing an issue where it was applied too broadly to shells that could not be further specialized by `generateStaticParams`. It introduces a check for `remainingPrerenderableParams` during **static path generation**, ensuring that `partialFallback` metadata and `allowQuery` are only emitted for shells that still have unresolved pathname parameters. This **refinement** limits the feature to its intended use case, preventing unnecessary background promotion and improving the accuracy of the build output for **dynamic routes** with partial prerendering. The change primarily affects the **Next.js server's prerendering logic** and is supported by extensive new **test cases** for various partial fallback scenarios.Mar 1428maint
afe3993This commit **re-enables the RDC deployment tests**, which were previously deactivated. This **maintenance** action ensures that the automated validation suite for the **RDC deployment process** is fully operational again. By reactivating these critical tests, the project gains improved confidence in the stability and correctness of future RDC deployments. The re-enabled test flag is now properly associated with the designated test team for ongoing monitoring and ownership.Mar 132–
5ef117cThis commit **reverts a previous change** that excluded `partial-fallback` functionality for deploy mode, effectively **re-enabling this feature flag for test teams**. As part of this **maintenance** effort, an **end-to-end test** for `partial-fallback-shell-upgrade` within the `app-dir` is re-activated. This ensures the `partial-fallback` behavior can be thoroughly validated in deployment scenarios, with the test conditionally skipping execution for adapter tests.Mar 122maint
4e2353eThis commit delivers a **bug fix** addressing a **request normalization gap** within the **App Router's app-page route module**. Previously, internal RSC and segment-prefetch URLs (e.g., `_tree.segment.rsc`) could incorrectly persist in `req.url` after pathname normalization, leading to these internal paths being exposed via `usePathname()` during server rendering. A new utility function, `normalizeAppPageRequestUrl`, is introduced and integrated into `packages/next/src/server/route-modules/app-page/module.ts` to ensure `req.url` is correctly updated. This prevents the leakage of internal segment paths, ensuring the **App Router** consistently reports the canonical URL.Mar 93waste
c0bf4b6This commit **gates** the previously introduced **partial fallback upgrading feature** behind a new **experimental configuration flag**, `partialFallbacks`. This **feature management** change updates the **Next.js server configuration schema** and shared runtime configuration to include the flag, defaulting it to `false`. The primary impact is to allow for **isolated testing and stabilization** of the partial fallbacks functionality within the **app directory**, preventing its general availability until it's deemed stable. Corresponding **end-to-end tests** are updated to explicitly enable this flag for their specific test cases.Mar 98grow
32e8ba5This commit **reverts a previous change** that introduced conditional `htmlAllowQuery` logic for partial fallback shells, which was causing **cache fragmentation** and degraded performance. This **performance fix** simplifies the **Next.js build-time caching strategy** for **fallback shells** by ensuring `htmlAllowQuery` consistently uses an empty array for postponed prerenders. The revert impacts the `onPrerenderRoute` utility, correcting the **HTML caching behavior** to prevent unnecessary CDN cache key variations. This **maintenance** action aims to improve the stability and efficiency of how fallback pages are cached.Mar 92waste
af48a18This commit **re-introduces** the **Partial Fallback Prerendering** feature, enabling dynamic routes to initially render a partial UI and then seamlessly **upgrade to a full route shell** as parameters become available. This **feature enhancement** modifies the **incremental cache** and **response cache** by adding and utilizing an `isFallback` status within cache entries via `index.ts`, `types.ts`, and `utils.ts`. The change improves the user experience for dynamic pages by providing a more progressive loading state, now supported by necessary upstream infrastructure. Extensive **e2e tests** have been added and updated to verify the correct behavior of this partial fallback shell upgrading.Mar 611maint
cb54d20preserve allowQuery for partial fallback shells (#90887)Mar 61–
1c9577epartial fallbacks: add adapter flag (#90395)Mar 41–
9ff3b7cThis commit **improves the robustness of the CI/CD pipeline** by adding `continue-on-error: true` to specific "Check token" steps within the `.github/workflows/test_e2e_deploy_release.yml` workflow. This **maintenance** change prevents transient or unreliable GitHub authentication checks from prematurely failing the entire **deploy test workflow**. By allowing subsequent steps to proceed even if the token check encounters an issue, it ensures that the core deployment tests can still run, reducing false negatives and improving developer experience.Mar 41maint
1e73fa9Mar 28

This commit performs **maintenance** within the **`adapters` module** by **removing dead code** related to a redundant flag and its associated regex. The flag's true and false states consistently yielded the same regex value, rendering the flag and its conditional logic obsolete. This **code cleanup** improves the codebase's clarity and reduces unnecessary complexity without introducing any functional changes or regressions.

3 files–
56d75a0Mar 18

This commit provides a **bug fix** for the **deployment adapter** to correctly handle **React Server Component (RSC) requests** in deployed environments. Previously, dynamic full-route RSC requests containing query parameters were misclassified as HTML by the `onCacheEntryV2` function, leading to an **invalid HTML response** instead of the expected RSC payload. The fix involves **normalizing the URL** by passing only the pathname, without query parameters, to `onCacheEntryV2`, ensuring that `.rsc` endpoints are correctly identified. This change specifically impacts **PPR (Partial Prerendering)** and **root parameter RSC fallback** scenarios, as validated by new end-to-end tests.

6 filesmaint
a41bef9Mar 18

This commit **enhances the developer experience** by significantly improving the warning messages for **blocked cross-site development requests** within the Next.js server. It introduces new helper functions in `packages/next/src/server/lib/router-utils/block-cross-site-dev.ts` to generate more detailed and actionable guidance for users. The updated messages now explicitly name the blocked resource and provide an inline `allowedDevOrigins` configuration snippet when the source host is known, or explain why it cannot be inferred. This **maintenance** update ensures developers receive clearer instructions and actionable advice, with new tests verifying the accuracy of these improved warnings.

2 filesgrow
b2b802cMar 17

This commit introduces a **security enhancement** by changing the default behavior of **Next.js's development server** to **block disallowed cross-origin requests** to internal dev resources. Previously, these requests would only trigger a warning, but now they are actively blocked unless explicitly allowlisted via `allowedDevOrigins` or matching a built-in local allowlist. This **feature modification** to the `block-cross-site-dev.ts` utility significantly improves the **security posture** of the development environment. The change is accompanied by **expanded test coverage** in `allowed-dev-origins.test.ts` for various blocking scenarios and **updated documentation** for `allowedDevOrigins` to reflect the new default enforcement.

3 filesmaint
d0a0474Mar 17

This commit **fixes a bug** in the **Next.js development server** where `allowedDevOrigins` did not correctly apply to cross-site `no-cors` requests for internal development assets. It modifies the `blockCrossSiteDEV` logic within `packages/next/src/server/lib/router-utils/block-cross-site-dev.ts` to fall back to checking the `Referer` header when the `Origin` header is absent, which is common for `no-cors` subresource loads. This **bug fix** ensures that explicitly allowlisted hosts can now properly load `/_next/*` resources without being erroneously blocked. New tests in `test/development/basic/allowed-dev-origins.test.ts` validate this behavior, improving the reliability of cross-site development setups.

2 filesmaint
a27a11dMar 17

This commit delivers a **critical security fix** for **Next.js Server Actions**, addressing a potential **Cross-Site Request Forgery (CSRF) vulnerability**. It modifies the `handleAction` function within the **server-side rendering pipeline** to explicitly disallow Server Action submissions originating from **privacy-sensitive contexts**, specifically 'null' or opaque origins. This **enhances the security posture** of applications by ensuring Server Actions are only processed from trusted sources, and is thoroughly validated by the addition of comprehensive **end-to-end tests** covering various opaque origin scenarios.

7 fileswaste
00bdb03Mar 17

This commit introduces a **critical security fix** by applying a patch to the **`http-proxy` library** (version 1.18.1). The patch specifically improves the handling of `Transfer-Encoding` and `Connection` headers within functions like `setupOutgoing` and `deleteLength` to **prevent request smuggling vulnerabilities**. This directly enhances the **security posture of Next.js applications** that utilize proxying and rewrite features. New end-to-end tests have been added to validate the effectiveness of this mitigation against rewrite request smuggling.

6 filesmaint
862f9b9Mar 17

This commit introduces a crucial **security fix** for the **Next.js development server**, specifically preventing cross-site websocket connections from privacy-sensitive origins. It **refactors** and enhances the `blockCrossSiteDEV` utility within the `router-utils` module, improving its logic to correctly identify and block these potentially vulnerable requests. The **server-side routing** (`router-server.ts`) is updated to integrate this improved blocking mechanism, ensuring that the development environment is more secure. New **tests** are added to confirm the correct behavior of blocking cross-site requests, directly addressing the security vulnerability detailed in GHSA-jcc7-9wpm-mj36.

3 filesmaint
cd49df2Mar 14

This commit introduces a **maintenance fix** to the **end-to-end testing suite** by conditionally **disabling specific sub-shell generation tests**. The tests, located in `test/e2e/app-dir/sub-shell-generation-middleware/sub-shell-generation-middleware.test.ts` and `test/e2e/app-dir/sub-shell-generation/sub-shell-generation.test.ts`, were **failing in deploy mode** when run outside the new Vercel adapter environment. This is due to upcoming changes in shell-related behavior tied to the `partialFallbacks` flag, which is not backported to the old CLI. By adding a conditional skip based on the `NEXT_ENABLE_ADAPTER` environment variable, this change ensures the **test suite remains stable** and tests are only executed in compatible deployment environments.

2 filesmaint
ae3f9f5Mar 14

This commit introduces a significant **refinement to the partial fallback shells mechanism** in Next.js, specifically impacting the **runtime behavior of `next start`** for dynamic routes. It enhances how generic fallback shells are completed, promoting them to the **most specific prerendered shell** for a given branch (e.g., `/[one]/[two]` becomes `/c/[two]` if `[one]` is static) rather than a fully concrete route. This **feature enhancement** ensures that later requests can reuse a more complete shell, improving **server-side rendering efficiency** for partially static dynamic routes while still streaming dynamic content for remaining parameters. The change aligns runtime logic with the build-time `remainingPrerenderableParams` contract, affecting how **prerendering** and `generateStaticParams` interact with dynamic route serving and revalidation.

14 filesmaint
cf4d3aeMar 14

This commit **refines the partial fallback upgrading mechanism** in Next.js, addressing an issue where it was applied too broadly to shells that could not be further specialized by `generateStaticParams`. It introduces a check for `remainingPrerenderableParams` during **static path generation**, ensuring that `partialFallback` metadata and `allowQuery` are only emitted for shells that still have unresolved pathname parameters. This **refinement** limits the feature to its intended use case, preventing unnecessary background promotion and improving the accuracy of the build output for **dynamic routes** with partial prerendering. The change primarily affects the **Next.js server's prerendering logic** and is supported by extensive new **test cases** for various partial fallback scenarios.

28 filesmaint
afe3993Mar 13

This commit **re-enables the RDC deployment tests**, which were previously deactivated. This **maintenance** action ensures that the automated validation suite for the **RDC deployment process** is fully operational again. By reactivating these critical tests, the project gains improved confidence in the stability and correctness of future RDC deployments. The re-enabled test flag is now properly associated with the designated test team for ongoing monitoring and ownership.

2 files–
5ef117cMar 12

This commit **reverts a previous change** that excluded `partial-fallback` functionality for deploy mode, effectively **re-enabling this feature flag for test teams**. As part of this **maintenance** effort, an **end-to-end test** for `partial-fallback-shell-upgrade` within the `app-dir` is re-activated. This ensures the `partial-fallback` behavior can be thoroughly validated in deployment scenarios, with the test conditionally skipping execution for adapter tests.

2 filesmaint
4e2353eMar 9

This commit delivers a **bug fix** addressing a **request normalization gap** within the **App Router's app-page route module**. Previously, internal RSC and segment-prefetch URLs (e.g., `_tree.segment.rsc`) could incorrectly persist in `req.url` after pathname normalization, leading to these internal paths being exposed via `usePathname()` during server rendering. A new utility function, `normalizeAppPageRequestUrl`, is introduced and integrated into `packages/next/src/server/route-modules/app-page/module.ts` to ensure `req.url` is correctly updated. This prevents the leakage of internal segment paths, ensuring the **App Router** consistently reports the canonical URL.

3 fileswaste
c0bf4b6Mar 9

This commit **gates** the previously introduced **partial fallback upgrading feature** behind a new **experimental configuration flag**, `partialFallbacks`. This **feature management** change updates the **Next.js server configuration schema** and shared runtime configuration to include the flag, defaulting it to `false`. The primary impact is to allow for **isolated testing and stabilization** of the partial fallbacks functionality within the **app directory**, preventing its general availability until it's deemed stable. Corresponding **end-to-end tests** are updated to explicitly enable this flag for their specific test cases.

8 filesgrow
32e8ba5Mar 9

This commit **reverts a previous change** that introduced conditional `htmlAllowQuery` logic for partial fallback shells, which was causing **cache fragmentation** and degraded performance. This **performance fix** simplifies the **Next.js build-time caching strategy** for **fallback shells** by ensuring `htmlAllowQuery` consistently uses an empty array for postponed prerenders. The revert impacts the `onPrerenderRoute` utility, correcting the **HTML caching behavior** to prevent unnecessary CDN cache key variations. This **maintenance** action aims to improve the stability and efficiency of how fallback pages are cached.

2 fileswaste
af48a18Mar 6

This commit **re-introduces** the **Partial Fallback Prerendering** feature, enabling dynamic routes to initially render a partial UI and then seamlessly **upgrade to a full route shell** as parameters become available. This **feature enhancement** modifies the **incremental cache** and **response cache** by adding and utilizing an `isFallback` status within cache entries via `index.ts`, `types.ts`, and `utils.ts`. The change improves the user experience for dynamic pages by providing a more progressive loading state, now supported by necessary upstream infrastructure. Extensive **e2e tests** have been added and updated to verify the correct behavior of this partial fallback shell upgrading.

11 filesmaint
cb54d20Mar 6

preserve allowQuery for partial fallback shells (#90887)

1 files–
1c9577eMar 4

partial fallbacks: add adapter flag (#90395)

1 files–
9ff3b7cMar 4

This commit **improves the robustness of the CI/CD pipeline** by adding `continue-on-error: true` to specific "Check token" steps within the `.github/workflows/test_e2e_deploy_release.yml` workflow. This **maintenance** change prevents transient or unreliable GitHub authentication checks from prematurely failing the entire **deploy test workflow**. By allowing subsequent steps to proceed even if the token check encounters an issue, it ensures that the core deployment tests can still run, reducing false negatives and improving developer experience.

1 filesmaint

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch