Skip to content

chore(deps): update dependency astro to v7.4.7 [security] - #411

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-astro-vulnerability
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-astro-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
astro (source) 7.3.3 → 7.4.7 age confidence

Astro: Image endpoint in @​astrojs/node can read files from a case-variant sibling of the output directory on case-sensitive filesystems

CVE-2026-126364 / GHSA-r3h5-4585-7x3w

More information

Details

Summary

The /_image endpoint used by the @astrojs/node adapter checks that a requested local image is inside the build output directory before reading it from disk. That check compared paths case-insensitively. On case-sensitive filesystems (such as Linux), a directory whose path differs from the output directory only by letter case is a different directory, but it passed the check.

For example, with the client output directory at /srv/app/dist/client/, a request such as:

/_image?href=/../../DIST/client/secret.png&w=32&f=png

resolved to /srv/app/DIST/client/secret.png and was served, even though that file is outside the output directory.

Impact

An unauthenticated attacker can read image files from outside the output directory, but only when all of the following are true:

  • The site uses on-demand rendering with the @astrojs/node adapter.
  • The server runs on a case-sensitive filesystem.
  • A directory exists whose path matches the output directory except for letter case (for example DIST/client next to dist/client). Such a layout is unusual, and the attacker cannot create it.

Only files the image service accepts can be read. Raster images are returned after resizing; SVG files are returned unchanged. Other file types fail during processing. Plain path traversal outside the output directory (for example /../../secret.png) was already rejected and is not affected.

Affected versions

astro >= 5.14.3, <= 7.4.6, when used with @astrojs/node (all versions up to 11.1.11). The vulnerable image endpoint is provided by astro and used by the @astrojs/node adapter.

Patches

Fixed in astro 7.4.7. The path check now compares paths exactly, and only ignores letter case for Windows drive-letter paths. The fix ships in astro, so upgrading @astrojs/node alone is not enough.

Workarounds

Upgrade to astro 7.4.7 or later. Before upgrading, make sure no directory next to the build output directory has a path that differs from it only by letter case.

Credits

Reported by @​zachariah-mithani.

Severity

  • CVSS Score: 6.3 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Astro: XSS via attribute injection in dynamic tag names

CVE-2026-126361 / GHSA-mh32-jxcr-mh9f

More information

Details

Summary

When a dynamic tag (const Tag = ...; <Tag />) resolves to a string, Astro renders it as a raw HTML element name. The name was filtered to remove characters that could inject attributes, but the filter did not handle /. Because HTML parsers treat / inside a tag as an attribute separator, a tag name such as img/src/onerror=alert(1) was rendered as an <img> element with an onerror attribute. The JSX renderer used for MDX did not filter string tag names at all.

For example:

---
const Tag = Astro.url.searchParams.get('as') ?? 'div';
---
<Tag>hello</Tag>

rendered ?as=img/src/onerror=alert(1) as live HTML.

Impact

Reflected or stored cross-site scripting, but only in applications that use untrusted input (such as a request parameter or an uncontrolled CMS field) as all or part of an element name. Astro itself never derives element names from request data.

Applications that let content choose an element should map that input to a fixed set of known tags. Letting untrusted input choose an element name is unsafe even with a correct filter, because it can still select elements such as script or iframe.

Affected versions

astro <= 7.4.4.

Patches

Fixed in astro 7.4.5. String tag names in .astro dynamic tags, JSX, and MDX now render only the leading valid element name, so characters such as / or = can no longer change the generated markup. Strings that do not start with a valid element name now throw an error.

Workarounds

Upgrade to astro 7.4.5 or later. Before upgrading, do not use untrusted input as an element name, or map it to a fixed set of known tags.

Credits

Reported by @​uttej-badwane.

Severity

  • CVSS Score: 2.3 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

withastro/astro (astro)

v7.4.7

Compare Source

Patch Changes

v7.4.6

Compare Source

Patch Changes
  • #​18565 cd09986 Thanks @​praveen-kumary! - Avoids attributing client-only components or scripts to unrelated pages importing astro:i18n by bounding top-level page graph traversal at virtual page entries

  • #​18608 babd96d Thanks @​umeraamir69! - Fixes an extra page reload on the first page load after starting astro dev without an existing .astro directory

  • #​18589 402c0fa Thanks @​astro-factory! - Fixes astro check exiting with code 0 when @astrojs/check or typescript is not installed. The command now exits with code 1 so CI fails instead of silently skipping type checking.

  • #​18503 54fcdd5 Thanks @​SwastikTripathi! - Preserves the last-modified date of cached font files and unchanged public files when copying them into the build output. Public-file timestamp preservation respects the resolved public-directory configuration, follows source symlinks, and avoids backdating files overwritten by build plugins.

  • #​18605 76cd239 Thanks @​astro-factory! - Fixes the glob() loader adding files from a folder excluded with a negation pattern such as !_docs when they change during astro dev

  • #​18432 ed60d82 Thanks @​alexmv! - Improves the MissingSharp error to include the reason Sharp failed to load, such as its prebuilt binaries not supporting the current CPU

  • #​18474 59543c3 Thanks @​miottid! - Fixes i18n fallback for on-demand rendered pages. A locale-prefixed request for a page that only exists in the fallback locale (for example /de/about with fallback: { de: 'en' }) was answered with status 302 and no Location header. Such requests are now rewritten or redirected to the fallback locale according to i18n.routing.fallbackType, including encoded paths and sites with a configured base. Query strings are preserved, and explicit page statuses and redirects are left unchanged.

  • #​18541 cfa2d2b Thanks @​ump45nose! - Fixes matchAllRoutes to consider fallbackRoutes, matching matchRoute and the production router. Dev-server i18n fallback requests now resolve to the source route's metadata instead of the 404 route, and SSR-only fallback candidates can fall through the prerender handler.

  • #​18602 d856064 Thanks @​astro-factory! - Fixes astro check losing the end of its output, including the Result summary, when stdout is piped to a slow reader. When the reader closes the pipe early, for example astro check | head, astro check now exits with code 1 instead of crashing with an EPIPE stack trace.

  • #​18574 da0f149 Thanks @​astro-factory! - Fixes an unnecessary full page reload in astro dev when a content loader calls store.clear() or store.delete() and the content store has no asset imports

  • #​18570 e71c038 Thanks @​astro-factory! - Fixes pages using <ClientRouter /> briefly showing the top of the page on reload before jumping back to the previous scroll position. Full reloads now use the browser's native scroll restoration.

  • #​18531 f75553b Thanks @​praveen-kumary! - Fixes an unhandled TypeError: Cannot convert undefined or null to object when calling route.generate() without arguments on static routes

v7.4.5

Compare Source

Patch Changes
  • #​18558 fac3c50 Thanks @​astro-factory! - Fixes astro dev status and other background server commands deleting the lock file of a running dev or preview server when run from a sandbox or as another user that is not permitted to signal its process

  • #​18559 10dae2f Thanks @​astro-factory! - Fixes import.meta.env values containing $ sequences (such as $$ or $&) being corrupted in astro build when server code reads the import.meta.env object directly, for example with const { MY_SECRET } = import.meta.env

  • #​18544 e3bec3d Thanks @​skezo! - Fixes request paths with invalid percent-encoding (e.g. /%C0%AF or a bare %) being logged as an Invalid URL encoding error and routed with the undecoded path. These requests now return a 400, the same as a path that is encoded too many times.

  • #​18520 e023aba Thanks @​matthewp! - Makes rendering of string tag names stricter and consistent across .astro dynamic tags, JSX, and MDX. Only the leading part of the string that is a valid element name is rendered, so characters such as / or = can no longer change the generated markup. A string that does not start with a valid element name (for example '!--' or '') now throws an error instead of producing invalid HTML.

v7.4.4

Compare Source

Patch Changes

v7.4.3

Compare Source

Patch Changes
  • #​18488 e4e25fa Thanks @​umeraamir69! - CSP no longer hashes empty children on external stylesheets and scripts, which was inserting the SHA-256 of the empty string into script-src and style-src.

  • #​18500 e5a3a1b Thanks @​astro-factory! - Fixes <Image> and <Picture> emitting duplicate srcset candidates when densities contains equivalent values such as 1 and '1x'

  • #​18517 c3185b7 Thanks @​okxint! - Fix unhandled AbortError rejection when ClientRouter skips a pending view transition

  • #​18497 c712113 Thanks @​astro-factory! - Fixes an uncaught TypeError in the browser when a server:defer island request fails due to a network error. The fallback content is kept, as it is for non-200 responses.

  • #​18525 d0240b9 Thanks @​astro-factory! - Fixes a DEP0190 deprecation warning printed by astro info on Node.js 24 and later

  • #​18522 776b9a6 Thanks @​astro-factory! - Fixes memoryCache() serving an empty body for cached pages that return an empty 404 or 500 response. These responses now render the 404 or 500 error page on every request.

  • #​18511 d060ff9 Thanks @​astro-factory! - Fixes transition:name styles missing in dev when the element is inside a component that is only rendered through another component with no styles or scripts

  • #​18494 5fe699c Thanks @​astro-factory! - Fixes the astro CLI refusing to run on StackBlitz by allowing Node.js >=22.22.0 inside WebContainers, whose Node.js version users cannot change

  • #​18506 bf43a60 Thanks @​astro-factory! - Fixes <ClientRouter /> animating scroll restoration on back/forward navigation when scroll-behavior: smooth is set. Saved scroll positions are now restored instantly, matching the browser's native behavior.

  • #​18476 8ea79a2 Thanks @​astro-factory! - Fixes a DataCloneError crash when building pages that render SVG imports with <Image /> or getImage() while experimental.parallelPrerender is enabled.

  • #​18504 6dbd737 Thanks @​astro-factory! - Fixes <Picture> emitting a duplicate 1x candidate in <source> srcset when densities includes 1

  • #​18524 7524889 Thanks @​astro-factory! - Fixes type errors reported in Astro's built-in <Image />, <Picture />, <Code />, <Debug /> and <ClientRouter /> components when type-checking a project that extends astro/tsconfigs/strictest with tsc and @astrojs/ts-content-mapper

  • #​18493 3773941 Thanks @​astro-factory! - Fixes scoped styles of unused Astro components being included in the build when those components are re-exported from a barrel file

  • #​18512 1151b9e Thanks @​jp-knj! - Fixes CSP hashes added with Astro.csp from components rendered inside <body> being left out of the CSP <meta> element in static builds, including MDX pages

  • Updated dependencies [6cf3423, edfbf4a]:

v7.4.2

Compare Source

Patch Changes
  • #​18430 dda9ec3 Thanks @​Abhirup-99! - Speeds up content sync with experimental.collectionStorage: "chunked" by computing each character's UTF-8 width from its code point instead of encoding every character through TextEncoder. On a store of ~44k entries this cuts the chunking step from about 60 seconds to well under a second, with byte-identical output.

  • #​18438 5e0eaa4 Thanks @​astro-factory! - Fixes astro dev with @astrojs/cloudflare failing with Calling `require` for "node-fetch" when a server dependency such as cross-fetch requires node-fetch

  • #​18376 a4e201d Thanks @​okxint! - Fixes astro dev treating a stale lock file containing a Linux thread ID as a running Astro server. A successful process lookup with no matching PID now marks the lock as stale, preventing astro dev stop and astro dev --force from killing the unrelated process that owns the thread.

  • #​18467 d1fb7d3 Thanks @​astro-factory! - Fixes the defineConfig() types for i18n.defaultLocale, i18n.fallback, and i18n.domains so they accept a custom locale's path instead of its codes, matching how Astro validates and uses these values

  • #​18475 cf27e70 Thanks @​ematipico! - Bumps the minimum supported Node.js version to 22.23.4, which includes the fixes from the October 2026 Node.js security releases

    This is a patch release because the Node.js support and upgrade policy allows the Core team to raise the minimum Maintenance LTS version in a patch release when a disclosed and fixed Node.js security flaw affects Astro.

  • #​18451 7a0ba6f Thanks @​DenisCDev! - Fixes astro sync, astro check and astro build replacing the optimized dependencies of a dev server running in the same project, which broke framework islands in that dev server until it was restarted with --force

  • #​18336 e943003 Thanks @​astro-factory! - Fixes inline styles in dev so that framework-transformed CSS is used, such as scoped styles and v-bind() in Vue single-file components

  • #​18399 829fc00 Thanks @​astro-factory! - Fixes a dev server error (Could not find server component name) for a server:defer island that imports astro:actions or astro:config/server, when its page was not the first island page loaded after starting the server

  • #​18330 4db9e0d Thanks @​Samuteg! - Fixes the astro:env/server virtual module being generated with invalid JS in dev when any environment variable contains $ replacement patterns ($`, $&, $', $1, …). The inlined env JSON was passed as a string to String.replace, so e.g. the KITTY_PUBLIC_KEY value set by default in Kitty terminals corrupted the module and broke dev with Failed to parse source for import analysis

  • Updated dependencies [cf27e70]:

v7.4.1

Compare Source

Patch Changes

v7.4.0

Compare Source

Minor Changes
  • #​17894 b7a1bd9 Thanks @​Princesseuh! - Adds a new --timings flag to astro build to help you find what slows down your builds

    When a build takes longer than expected, it can be hard to tell whether the cause is an integration, a Markdown processor plugin, image processing, or even syntax highlighting. Add the --timings flag to your build command to print a summary once the build finishes:

    astro build --timings

    This is helpful to decide what to optimize first, or to compare build times before and after a change to your project.

  • #​17830 a937b0d Thanks @​florian-lefebvre! - Adds a new optional getFontProperties() callback to font providers

    Font providers can now expose the weights, styles, subsets and formats a font family actually has. Astro uses it when resolving your font configuration to warn about values a provider cannot serve, for example a weight a font family does not offer.

    All built-in providers implement it. If you maintain a custom font provider, implementing this callback is optional for now but it will be required in Astro 8:

    import type { FontProvider } from 'astro';
    
    const provider: FontProvider = {
    	name: 'my-provider',
    	resolveFont: ({ familyName }) => {
    		// ...
    	},
    	getFontProperties: ({ familyName }) => ({
    		weights: ['400', '700'],
    		styles: ['normal', 'italic'],
    		subsets: ['latin'],
    		formats: ['woff2'],
    	}),
    };
  • #​17830 a937b0d Thanks @​florian-lefebvre! - Adds a fetch() function to the font provider init() context

    This function requests a provider API, retrying transient failures and more. It lets providers that wrap a 3rd-party unifont provider pass the context to it directly:

    import type { FontProvider } from 'astro';
    import type { InitializedProvider } from 'unifont';
    import { acmeProvider } from '@acme/unifont-provider';
    
    export function acmeFontProvider(): FontProvider {
    	const provider = acmeProvider();
    	let initializedProvider: InitializedProvider | undefined;
    	return {
    		name: provider._name,
    		async init(context) {
    			initializedProvider = await provider(context);
    		},
    		// ...
    	};
    }
  • #​18015 0b30239 Thanks @​florian-lefebvre! - Adds experimental.redirectPage, letting you provide your own src/pages/3xx.astro in place of the redirect page Astro generates in static builds.

    A static site has no server to send an HTTP Location header, so Astro generates a small HTML page with a <meta http-equiv="refresh"> tag for each redirect it builds:

    • Your redirects entries
    • Astro.redirect() calls in prerendered pages
    • i18n redirects

    That page's markup, wording, and refresh delay were fixed, so you could not brand or translate it.

    To enable this feature, add the experimental flag to your Astro config:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        redirectPage: true,
      },
    });

    Then create src/pages/3xx.astro. Astro renders it once per redirect, passing that redirect's details as props:

    ---
    // src/pages/3xx.astro
    import type { RedirectPageProps as Props } from 'astro';
    
    const { from, to, status, delay } = Astro.props;
    ---
    
    <html lang="en">
      <head>
        <meta http-equiv="refresh" content={`${delay};url=${to}`} />
        <meta name="robots" content="noindex" />
        <title>Redirecting…</title>
      </head>
      <body>
        <p>This page has moved. <a href={to}>Continue to {to}</a>.</p>
      </body>
    </html>

    Your page must render a <meta http-equiv="refresh"> tag pointing at to, because in a static build that tag is the redirect. Astro logs a warning during the build if it is missing.

    See the experimental redirect page documentation for more information.

  • #​18265 910ee69 Thanks @​astro-factory! - Adds a notFound() handler to astro/fetch and astro/hono that renders the custom 404 page when no route matches, including a prerendered 404.astro

    Add it before pages() in a custom worker or server entrypoint that does not run inside App.render, such as a Hono app used directly as a Cloudflare worker. Without it, pages() and middleware() return an empty 404 with an internal X-Astro-Error header for unmatched routes. astro() already includes this handling.

    import { Hono } from 'hono';
    import { notFound, pages } from 'astro/hono';
    import { cf } from '@astrojs/cloudflare/hono';
    
    const app = new Hono();
    app.use(cf());
    app.use(notFound());
    app.use(pages());
    export default app;
  • #​18177 7d814e5 Thanks @​Princesseuh! - Adds support for separate build and runtime image services

    image.service now also accepts a build and a runtime service. The build service optimizes images on prerendered pages when you build your site, and is also used during development. The runtime service handles images on on-demand rendered pages and the image endpoint of your deployed site.

    The following example uses Sharp to optimize images on prerendered pages, and an image CDN for on-demand rendered pages:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      image: {
        service: {
          build: { entrypoint: 'astro/assets/services/sharp' },
          runtime: { entrypoint: 'my-image-cdn-service' },
        },
      },
    });
Changes for integration authors

config.image.service keeps the shape the user configured it with. When a project sets build and runtime services, config.image.service.entrypoint and config.image.service.config are undefined.

If your integration reads image.service, check for the runtime property to get the service you need:

'astro:config:done': ({ config }) => {
  const { service } = config.image;
  const runtimeService = 'runtime' in service ? service.runtime : service;

  if (runtimeService.entrypoint === 'astro/assets/services/sharp') {
    // ...
  }
},

Setting image.service with updateConfig() replaces the existing service instead of merging with it when the two use different shapes. For example, setting a single service in a project that uses build and runtime services replaces both.

  • #​18277 2715958 Thanks @​florian-lefebvre! - Increases the minimum Node.js version to 22.22.0

    The minimum supported Node.js version is now 22.22.0, the latest Node.js 22 release supported by StackBlitz. This change is in line with Astro's Node.js support policy.

  • #​18313 71e2b24 Thanks @​matthewp! - Allows integrations to control where Astro writes client, server, and prerender build output.

    Custom prerenderers can access the final output locations through the new outputDirectories context:

    setPrerenderer((defaultPrerenderer, { outputDirectories }) => {
      const { client, server, prerender } = outputDirectories
    
      return createPrerenderer({
        defaultPrerenderer,
        client,
        server,
        prerender,
      })
    })
  • #​18177 7d814e5 Thanks @​Princesseuh! - Lets custom prerenderers report the images used on prerendered pages

    Astro now generates images on prerendered pages from the image information that a prerenderer's getStaticPaths() and render() return. If your prerenderer wraps Astro's default one, pass this information through:

    setPrerenderer((defaultPrerenderer) => ({
      name: 'my-prerenderer',
      async setup() {
        await defaultPrerenderer.setup?.();
      },
      async getStaticPaths() {
        const result = await defaultPrerenderer.getStaticPaths();
        const { paths, metadata } = Array.isArray(result) ? { paths: result } : result;
        return { paths: paths.filter(({ pathname }) => !pathname.startsWith('/drafts')), metadata };
      },
      render(request, options) {
        return defaultPrerenderer.render(request, options);
      },
      async teardown() {
        await defaultPrerenderer.teardown?.();
      },
    }));

    Returning a plain array from getStaticPaths() or a plain Response from render() still works, but is deprecated: images used on those pages are not generated.

  • #​17932 b905ff1 Thanks @​Princesseuh! - Adds support for experimental parallel prerendering

    This experimental feature makes astro build render your static pages in parallel, using multiple CPU cores at once instead of one. On sites with many pages, this can significantly reduce build times, at the cost of higher memory usage.

    To enable this feature, add the experimental flag in your Astro config:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        parallelPrerender: true,
      },
    });

    By default, Astro uses all available CPU cores but one. Each additional worker increases the memory used by your build. If your build runs out of memory, or does not get faster, set workers to a lower number:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        parallelPrerender: {
          workers: 4,
        },
      },
    });

    Each worker renders as many pages at once as your build.concurrency setting allows.

    This feature has no effect when your adapter provides its own way of prerendering pages. Among official adapters, this only applies to @astrojs/cloudflare. Astro logs a warning during the build when the flag is ignored.

    For more information on enabling and using this feature in your project, see the experimental parallel prerendering docs.

Patch Changes

v7.3.8

Compare Source

Patch Changes
  • #​18293 28e7410 Thanks @​astro-factory! - Fixes Astro.cache being undefined when a custom 404 or 500 page is rendered by the error handler, for example after a request to an API route with an HTTP method the route doesn't export

  • #​18298 0e9e857 Thanks @​matthewp! - Fixes astro add removing existing allowBuilds approvals from pnpm-workspace.yaml with pnpm v11.0–v11.22

  • #​18263 882dd98 Thanks @​florian-lefebvre! - Refactors internal bundling and code transforms to use Vite's Oxc-based transformWithOxc and Rolldown instead of esbuild. These packages no longer depend on esbuild directly.

  • #​18290 31f13c3 Thanks @​astro-factory! - Fixes the glob() loader not reloading changed files in dev when the pattern starts with an extglob such as !(drafts)/**/*.md

v7.3.7

Compare Source

Patch Changes
  • #​18266 cba76cc Thanks @​astro-factory! - Fixes a build error when a Markdown content collection entry loaded with glob({ deferRender: true }) has a layout frontmatter property. layout is now ignored for content collection entries, as documented.

  • #​18287 38f6793 Thanks @​astro-factory! - Fixes astro add cloudflare failing to install dependencies with pnpm v11+ by approving the workerd build script, and shows the package manager's error output when astro add fails to install dependencies

  • #​18222 [fcf6ed6](https://redirect.github.com/witha

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Brussels)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from mregni as a code owner November 14, 2026 04:32
@renovate renovate Bot added dependencies Pull requests that update a dependency file security labels Nov 14, 2026
@github-actions

Copy link
Copy Markdown

This PR is very large. Consider breaking it into smaller, more focused pull requests for easier review.

@github-actions

Copy link
Copy Markdown

.NET Test Results

    2 files      2 suites   1m 27s ⏱️
4 523 tests 4 518 ✅ 5 💤 0 ❌
4 528 runs  4 523 ✅ 5 💤 0 ❌

Results for commit f56f8e9.

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Summary

Summary
Generated on: 11/14/2026 - 04:43:50
Parser: MultiReport (1x LCov, 4x OpenCover)
Assemblies: 4
Classes: 1030
Files: 940
Line coverage: 95.8% (21660 of 22605)
Covered lines: 21660
Uncovered lines: 945
Coverable lines: 22605
Total lines: 62469
Branch coverage: 91.4% (8731 of 9552)
Covered branches: 8731
Total branches: 9552
Method coverage: Feature is only available for sponsors
Tag: 748_43557134184

Coverage

BoardGameTracker.Api - 99.8%
Name Line Branch
BoardGameTracker.Api 99.8% 97.7%
BoardGameTracker.Api.Controllers.Admin.OidcProvidersController 100% 100%
BoardGameTracker.Api.Controllers.Admin.PlayerAccountController 100% 100%
BoardGameTracker.Api.Controllers.Admin.UsersController 100% 100%
BoardGameTracker.Api.Controllers.AuthController 100% 87.5%
BoardGameTracker.Api.Controllers.BadgeController 100%
BoardGameTracker.Api.Controllers.ChangeDetectionController 100% 100%
BoardGameTracker.Api.Controllers.CompareController 100% 100%
BoardGameTracker.Api.Controllers.CountController 100%
BoardGameTracker.Api.Controllers.DashboardController 100%
BoardGameTracker.Api.Controllers.GameController 100% 100%
BoardGameTracker.Api.Controllers.GameNightController 100% 100%
BoardGameTracker.Api.Controllers.GameNightStatisticsController 100%
BoardGameTracker.Api.Controllers.ImageController 100%
BoardGameTracker.Api.Controllers.IntegrationsController 100% 100%
BoardGameTracker.Api.Controllers.LeaderboardController 100% 100%
BoardGameTracker.Api.Controllers.LoanController 100% 100%
BoardGameTracker.Api.Controllers.LocationController 100% 100%
BoardGameTracker.Api.Controllers.MaintenanceController 100%
BoardGameTracker.Api.Controllers.ManualController 100% 92.8%
BoardGameTracker.Api.Controllers.OidcController 100% 100%
BoardGameTracker.Api.Controllers.PlayerController 100% 100%
BoardGameTracker.Api.Controllers.RagController 100% 100%
BoardGameTracker.Api.Controllers.RunningGameController 100% 100%
BoardGameTracker.Api.Controllers.SessionController 100% 100%
BoardGameTracker.Api.Controllers.SessionSuggestionsController 100%
BoardGameTracker.Api.Controllers.SettingsController 100% 100%
BoardGameTracker.Api.Controllers.UpdateController 100%
BoardGameTracker.Api.Infrastructure.ActiveUserTokenCheck 100% 91.6%
BoardGameTracker.Api.Infrastructure.AuthDisabledExtensions 100% 100%
BoardGameTracker.Api.Infrastructure.AuthDisabledFilter 100% 83.3%
BoardGameTracker.Api.Infrastructure.AuthDisabledMiddleware 100% 100%
BoardGameTracker.Api.Infrastructure.AuthSessionCookies 100% 100%
BoardGameTracker.Api.Infrastructure.GlobalExceptionHandler 100% 100%
BoardGameTracker.Api.Infrastructure.OidcTransportPolicy 100% 100%
BoardGameTracker.Api.Infrastructure.ProfileImageAccessMiddleware 100% 100%
BoardGameTracker.Api.Infrastructure.ProfileImageCookie 100%
BoardGameTracker.Api.Infrastructure.PublicBaseUrl 100% 100%
BoardGameTracker.Api.Infrastructure.RateLimitPolicies 100%
BoardGameTracker.Api.Infrastructure.RequireOidcHttpsAttribute 100%
BoardGameTracker.Api.Infrastructure.RequireOidcHttpsFilter 100% 100%
BoardGameTracker.Api.Infrastructure.RequireSessionHeaderAttribute 100% 100%
BoardGameTracker.Api.Infrastructure.UntrustedProxyWarningMiddleware 100% 100%
BoardGameTracker.Api.Infrastructure.UserRateLimitKey 100% 100%
BoardGameTracker.Api.Infrastructure.UtcDateTimeConverter 93.7% 83.3%
BoardGameTracker.Api.Infrastructure.UtcNullableDateTimeConverter 95.6% 90%
BoardGameTracker.Api.Infrastructure.ValidateIdFilter 100% 100%
BoardGameTracker.Common - 99.3%
Name Line Branch
BoardGameTracker.Common 99.3% 98.7%
BoardGameTracker.Common.Configuration.ConfigDefault 100%
BoardGameTracker.Common.Configuration.ConfigDefaults 100%
BoardGameTracker.Common.Constants 100%
BoardGameTracker.Common.DTOs.Auth.AdminUpdateUserRequest 100%
BoardGameTracker.Common.DTOs.Auth.AuthorizationUrlResponse 100%
BoardGameTracker.Common.DTOs.Auth.AuthStatusResponse 100%
BoardGameTracker.Common.DTOs.Auth.ChangePasswordRequest 100%
BoardGameTracker.Common.DTOs.Auth.CreateOidcProviderRequest 100%
BoardGameTracker.Common.DTOs.Auth.ExternalLoginDto 100%
BoardGameTracker.Common.DTOs.Auth.ForgotPasswordRequest 100%
BoardGameTracker.Common.DTOs.Auth.LinkOwnPlayerRequest 100%
BoardGameTracker.Common.DTOs.Auth.LinkPlayerAccountRequest 100%
BoardGameTracker.Common.DTOs.Auth.LoginRequest 100%
BoardGameTracker.Common.DTOs.Auth.LoginResponse 100%
BoardGameTracker.Common.DTOs.Auth.OidcDiscoveryResultDto 100%
BoardGameTracker.Common.DTOs.Auth.OidcLogoutResponse 100%
BoardGameTracker.Common.DTOs.Auth.OidcProviderDto 100%
BoardGameTracker.Common.DTOs.Auth.OidcProviderInfo 100%
BoardGameTracker.Common.DTOs.Auth.OidcProviderListDto 100%
BoardGameTracker.Common.DTOs.Auth.OidcSetupDto 100%
BoardGameTracker.Common.DTOs.Auth.PlayerLinkCandidateDto 100%
BoardGameTracker.Common.DTOs.Auth.PlayerLinkDto 100%
BoardGameTracker.Common.DTOs.Auth.PlayerLinkSuggestionDto 100%
BoardGameTracker.Common.DTOs.Auth.PlayerLinkSuggestionsResponse 100%
BoardGameTracker.Common.DTOs.Auth.ProfileResponse 100%
BoardGameTracker.Common.DTOs.Auth.RegisterRequest 100% 100%
BoardGameTracker.Common.DTOs.Auth.ResetPasswordConfirmRequest 100%
BoardGameTracker.Common.DTOs.Auth.ResetPasswordResponse 100%
BoardGameTracker.Common.DTOs.Auth.TestOidcDiscoveryRequest 100%
BoardGameTracker.Common.DTOs.Auth.UpdateOidcProviderRequest 100%
BoardGameTracker.Common.DTOs.Auth.UpdateProfileRequest 100%
BoardGameTracker.Common.DTOs.Auth.UpdateUserRoleRequest 100%
BoardGameTracker.Common.DTOs.Auth.UserDto 100%
BoardGameTracker.Common.DTOs.Auth.UserInfo 100%
BoardGameTracker.Common.DTOs.BadgeDto 100%
BoardGameTracker.Common.DTOs.BggConfigStatusDto 100%
BoardGameTracker.Common.DTOs.ChangeDetectionConfigStatusDto 100%
BoardGameTracker.Common.DTOs.Commands.AddSuggestedGameCommand 100%
BoardGameTracker.Common.DTOs.Commands.AskRagCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateExpansionCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateGameCommand 100% 100%
BoardGameTracker.Common.DTOs.Commands.CreateGameNightCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateLoanCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateLocationCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreatePlayerCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreatePlayerSessionCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateSessionCommand 100%
BoardGameTracker.Common.DTOs.Commands.CreateWatchCommand 100%
BoardGameTracker.Common.DTOs.Commands.FinishRunningGameCommand 100%
BoardGameTracker.Common.DTOs.Commands.ImportBggGamesCommand 100%
BoardGameTracker.Common.DTOs.Commands.RemoveSuggestedGameCommand 100%
BoardGameTracker.Common.DTOs.Commands.ReturnLoanCommand 100%
BoardGameTracker.Common.DTOs.Commands.StartRunningGameCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateAttendanceCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateGameCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateGameExpansionsCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateGameNightCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateLoanCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateLocationCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdatePlayerCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateRsvpCommand 100%
BoardGameTracker.Common.DTOs.Commands.UpdateSessionCommand 100%
BoardGameTracker.Common.DTOs.Commands.UploadImageCommand 100%
BoardGameTracker.Common.DTOs.Commands.UploadManualsCommand 100%
BoardGameTracker.Common.DTOs.Commands.UploadProfileImageCommand 100%
BoardGameTracker.Common.DTOs.DashboardGameDto 100%
BoardGameTracker.Common.DTOs.DashboardGameNightDto 100%
BoardGameTracker.Common.DTOs.DashboardLinkedPlayerDto 100%
BoardGameTracker.Common.DTOs.DashboardShelfOfShameDto 100%
BoardGameTracker.Common.DTOs.DashboardStatisticsDto 100%
BoardGameTracker.Common.DTOs.DashboardTopPlayerDto 100%
BoardGameTracker.Common.DTOs.DashboardWinnerDto 100%
BoardGameTracker.Common.DTOs.ExpansionDto 100%
BoardGameTracker.Common.DTOs.GameDto 100%
BoardGameTracker.Common.DTOs.GameLinkDto 100%
BoardGameTracker.Common.DTOs.GameNightDetailDto 100%
BoardGameTracker.Common.DTOs.GameNightDto 100%
BoardGameTracker.Common.DTOs.GameNightManualsDto 100%
BoardGameTracker.Common.DTOs.GameNightRecordDto 100%
BoardGameTracker.Common.DTOs.GameNightRecordsDto 100%
BoardGameTracker.Common.DTOs.GameNightReferenceDto 100%
BoardGameTracker.Common.DTOs.GameNightRsvpDto 100%
BoardGameTracker.Common.DTOs.GameNightRsvpUpdateDto 100%
BoardGameTracker.Common.DTOs.GameNightStatisticsDto 100%
BoardGameTracker.Common.DTOs.GameNightStreaksDto 100%
BoardGameTracker.Common.DTOs.GameNightSummaryDto 100%
BoardGameTracker.Common.DTOs.GamePersonDto 100%
BoardGameTracker.Common.DTOs.GamePriceDto 100%
BoardGameTracker.Common.DTOs.GameStatisticsResponse 100%
BoardGameTracker.Common.DTOs.GameStreakDto 100%
BoardGameTracker.Common.DTOs.IntegrationStatusDto 100%
BoardGameTracker.Common.DTOs.KeyValuePairDto`1 100%
BoardGameTracker.Common.DTOs.LeaderboardDto 100%
BoardGameTracker.Common.DTOs.LeaderboardEntryDto 100%
BoardGameTracker.Common.DTOs.LoanDto 100%
BoardGameTracker.Common.DTOs.LocationDto 100%
BoardGameTracker.Common.DTOs.LocationStatisticsDto 100%
BoardGameTracker.Common.DTOs.ManualDto 100%
BoardGameTracker.Common.DTOs.MostPlayedGameDto 100%
BoardGameTracker.Common.DTOs.NightAttendanceDto 100%
BoardGameTracker.Common.DTOs.NightGameStatisticDto 100%
BoardGameTracker.Common.DTOs.NightHistoryDto 100%
BoardGameTracker.Common.DTOs.NightWinnerStatisticDto 100%
BoardGameTracker.Common.DTOs.PlannedGameStatisticDto 100%
BoardGameTracker.Common.DTOs.PlayerDto 100%
BoardGameTracker.Common.DTOs.PlayerLinkedAccountDto 100%
BoardGameTracker.Common.DTOs.PlayerOverviewDto 100%
BoardGameTracker.Common.DTOs.PlayerSessionDto 100%
BoardGameTracker.Common.DTOs.PlayerStreakDto 100%
BoardGameTracker.Common.DTOs.RagAnswerDto 100%
BoardGameTracker.Common.DTOs.RagCitationDto 100%
BoardGameTracker.Common.DTOs.RecentActivityDto 100%
BoardGameTracker.Common.DTOs.RecentGameDto 100%
BoardGameTracker.Common.DTOs.RunningGameDto 100%
BoardGameTracker.Common.DTOs.SendInvitesResultDto 100%
BoardGameTracker.Common.DTOs.SessionDto 100%
BoardGameTracker.Common.DTOs.SessionSuggestionsDto 100%
BoardGameTracker.Common.DTOs.ShameDto 100%
BoardGameTracker.Common.DTOs.ShameGameNightDto 100%
BoardGameTracker.Common.DTOs.ShameStatisticsDto 100%
BoardGameTracker.Common.DTOs.TopPlayerDto 100% 100%
BoardGameTracker.Common.DTOs.UIResourceDto 100%
BoardGameTracker.Common.DTOs.UpdateSettingsDto 0%
BoardGameTracker.Common.DTOs.UpdateStatusDto 100%
BoardGameTracker.Common.Entities.Auth.ApplicationUser 100% 100%
BoardGameTracker.Common.Entities.Auth.ExternalLogin 100%
BoardGameTracker.Common.Entities.Auth.OidcProvider 100% 100%
BoardGameTracker.Common.Entities.Auth.OidcSession 88.8%
BoardGameTracker.Common.Entities.Auth.RefreshToken 100% 100%
BoardGameTracker.Common.Entities.Badge 100%
BoardGameTracker.Common.Entities.Config 100%
BoardGameTracker.Common.Entities.Expansion 100% 100%
BoardGameTracker.Common.Entities.Game 100% 100%
BoardGameTracker.Common.Entities.GameAccessory 100%
BoardGameTracker.Common.Entities.GameCategory 100%
BoardGameTracker.Common.Entities.GameMechanic 100%
BoardGameTracker.Common.Entities.GameNight 100% 100%
BoardGameTracker.Common.Entities.GameNightRsvp 100%
BoardGameTracker.Common.Entities.Helpers.AttendanceOverride 100%
BoardGameTracker.Common.Entities.Helpers.BaseGame 97.5% 100%
BoardGameTracker.Common.Entities.Helpers.GameNightAttendance 93.3%
BoardGameTracker.Common.Entities.Helpers.HasId 100%
BoardGameTracker.Common.Entities.Helpers.NightAttendanceRule 100% 100%
BoardGameTracker.Common.Entities.Helpers.NightResult 100%
BoardGameTracker.Common.Entities.Helpers.NightWinnerRule 100% 100%
BoardGameTracker.Common.Entities.Helpers.NightWinners 100%
BoardGameTracker.Common.Entities.Helpers.PlayerSession 100%
BoardGameTracker.Common.Entities.Helpers.RunningGamePlayer 90%
BoardGameTracker.Common.Entities.Language 100%
BoardGameTracker.Common.Entities.Loan 100% 100%
BoardGameTracker.Common.Entities.Location 100%
BoardGameTracker.Common.Entities.Manual 100%
BoardGameTracker.Common.Entities.ManualChunk 100%
BoardGameTracker.Common.Entities.Person 100%
BoardGameTracker.Common.Entities.Player 100% 100%
BoardGameTracker.Common.Entities.PlayerBadge 100%
BoardGameTracker.Common.Entities.RunningGame 100%
BoardGameTracker.Common.Entities.Session 98.1% 100%
BoardGameTracker.Common.Exceptions.AuthenticationFailedException 100%
BoardGameTracker.Common.Exceptions.BggCollectionPreparingException 100%
BoardGameTracker.Common.Exceptions.BggFeatureDisabledException 100%
BoardGameTracker.Common.Exceptions.BggRateLimitException 100%
BoardGameTracker.Common.Exceptions.ConfigMissingException 100%
BoardGameTracker.Common.Exceptions.ConflictException 100%
BoardGameTracker.Common.Exceptions.DomainException 100%
BoardGameTracker.Common.Exceptions.EntityNotFoundException 100%
BoardGameTracker.Common.Exceptions.ExceptionStatusMapper 100% 100%
BoardGameTracker.Common.Exceptions.FeatureDisabledException 100%
BoardGameTracker.Common.Exceptions.ForbiddenException 100%
BoardGameTracker.Common.Exceptions.ServiceNotResolvedException 100%
BoardGameTracker.Common.Exceptions.ValidationException 100%
BoardGameTracker.Common.Extensions.AuthDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.BadgeDtoExtensions 100%
BoardGameTracker.Common.Extensions.DashboardDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.EnvironmentExtensions 100% 100%
BoardGameTracker.Common.Extensions.ExpansionDtoExtensions 100%
BoardGameTracker.Common.Extensions.GameDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.GameNightDtoExtensions 100%
BoardGameTracker.Common.Extensions.ListExtensions 100% 100%
BoardGameTracker.Common.Extensions.LoanDtoExtensions 100%
BoardGameTracker.Common.Extensions.LocationDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.LogLevelExtensions 100% 100%
BoardGameTracker.Common.Extensions.ManualDtoExtensions 100%
BoardGameTracker.Common.Extensions.PlayerDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.PlayerSessionDtoExtensions 100%
BoardGameTracker.Common.Extensions.SessionDtoExtensions 100%
BoardGameTracker.Common.Extensions.ShameDtoExtensions 100% 100%
BoardGameTracker.Common.Extensions.StatusExtensions 100% 100%
BoardGameTracker.Common.Extensions.StringExtensions 100% 100%
BoardGameTracker.Common.Extensions.UpdateStatusDtoExtensions 100%
BoardGameTracker.Common.Extensions.UploadFileTypeExtension 100% 100%
BoardGameTracker.Common.Extensions.VersionExtensions 100% 75%
BoardGameTracker.Common.Extensions.WebHostBuilderExtensions 100% 100%
BoardGameTracker.Common.Helpers.PathHelper 100% 100%
BoardGameTracker.Common.Helpers.SentryScrubber 100% 91.6%
BoardGameTracker.Common.Models.Bgg.BggImportGame 100%
BoardGameTracker.Common.Models.Bgg.BggSearch 100%
BoardGameTracker.Common.Models.ChangeDetection.ChangeDetectionResult 100%
BoardGameTracker.Common.Models.ChangeDetection.ChangeDetectionWatchInfo 100%
BoardGameTracker.Common.Models.ChangeDetection.GameWatchInfo 100%
BoardGameTracker.Common.Models.Charts.GameStateChart 100%
BoardGameTracker.Common.Models.Charts.PlayByDay 100%
BoardGameTracker.Common.Models.Charts.PlayerCount 100%
BoardGameTracker.Common.Models.Charts.PlayerScoringPoint 100%
BoardGameTracker.Common.Models.Charts.ScoreRank 100% 100%
BoardGameTracker.Common.Models.Charts.XValue 100%
BoardGameTracker.Common.Models.Compare.ClosestGame 100%
BoardGameTracker.Common.Models.Compare.CompareGame 100%
BoardGameTracker.Common.Models.Compare.ComparePairDto 100%
BoardGameTracker.Common.Models.Compare.CompareSession 100%
BoardGameTracker.Common.Models.Compare.CompareStreak 100%
BoardGameTracker.Common.Models.Compare.CompareTeamRecord 100%
BoardGameTracker.Common.Models.Compare.FirstGameTogether 100%
BoardGameTracker.Common.Models.Compare.PreferredGame 100%
BoardGameTracker.Common.Models.Compare.SessionTogether 100%
BoardGameTracker.Common.Models.CompareResultDto 100%
BoardGameTracker.Common.Models.CompareRow`1 100%
BoardGameTracker.Common.Models.DockerHub.DockerHubManifest 0%
BoardGameTracker.Common.Models.DockerHub.DockerHubManifestResponse 0%
BoardGameTracker.Common.Models.DockerHub.DockerHubPlatform 0%
BoardGameTracker.Common.Models.DockerHub.DockerHubTag 50%
BoardGameTracker.Common.Models.DockerHub.DockerHubTagsResponse 100%
BoardGameTracker.Common.Models.ExpansionData 100%
BoardGameTracker.Common.Models.GameNightStatisticsNight 100%
BoardGameTracker.Common.Models.GameNightStatisticsSession 100%
BoardGameTracker.Common.Models.GamePlayStats 100%
BoardGameTracker.Common.Models.GameStatistics 100%
BoardGameTracker.Common.Models.ImportGame 100%
BoardGameTracker.Common.Models.Integrations.IntegrationTestResult 100%
BoardGameTracker.Common.Models.LeaderboardFilter 100%
BoardGameTracker.Common.Models.LeaderboardRow 100%
BoardGameTracker.Common.Models.ManualDownload 100%
BoardGameTracker.Common.Models.MostPlayedGame 100%
BoardGameTracker.Common.Models.MostWinningPlayer 100%
BoardGameTracker.Common.Models.OwnedCollectionSummary 100%
BoardGameTracker.Common.Models.PersonKey 100%
BoardGameTracker.Common.Models.PlayerRival 100%
BoardGameTracker.Common.Models.PlayerStatistics 100%
BoardGameTracker.Common.Models.ShameGame 100%
BoardGameTracker.Common.Models.ShameStatistics 100%
BoardGameTracker.Common.Models.UpcomingGameNight 100%
BoardGameTracker.Common.Models.Updates.UpdateSettings 0%
BoardGameTracker.Common.Models.Updates.UpdateStatus 100%
BoardGameTracker.Common.ValueObjects.PlayerCountRange 100% 100%
BoardGameTracker.Common.ValueObjects.PlayTimeRange 100% 100%
BoardGameTracker.Common.ValueObjects.Price 100%
BoardGameTracker.Common.ValueObjects.Rating 100%
BoardGameTracker.Common.ValueObjects.Weight 100%
BoardGameTracker.Core - 99.2%
Name Line Branch
BoardGameTracker.Core 99.2% 98.2%
BoardGameTracker.Core.Auth.AdminRoleGate 100%
BoardGameTracker.Core.Auth.AuthService 99.7% 98.4%
BoardGameTracker.Core.Auth.DataProtectionKeyEncryptionExtensions 100% 100%
BoardGameTracker.Core.Auth.DataProtectionKeyMaterial 100% 100%
BoardGameTracker.Core.Auth.DataProtectionKeyReEncryptor 100% 100%
BoardGameTracker.Core.Auth.DataProtectionKeyXml 100% 100%
BoardGameTracker.Core.Auth.DbSeeder 100% 100%
BoardGameTracker.Core.Auth.IdentityResultExtensions 100% 100%
BoardGameTracker.Core.Auth.Interfaces.OidcAuthorizationRequest 100%
BoardGameTracker.Core.Auth.Interfaces.OidcIdToken 100%
BoardGameTracker.Core.Auth.Interfaces.OidcLinkResult 100%
BoardGameTracker.Core.Auth.Interfaces.OidcLoginResult 100%
BoardGameTracker.Core.Auth.JwtOptions 100%
BoardGameTracker.Core.Auth.LoginAttemptTracker 100% 100%
BoardGameTracker.Core.Auth.OidcClaims 100% 100%
BoardGameTracker.Core.Auth.OidcClaimTypes 100% 100%
BoardGameTracker.Core.Auth.OidcConfigurationProvider 100% 100%
BoardGameTracker.Core.Auth.OidcIdTokenValidator 100% 96%
BoardGameTracker.Core.Auth.OidcIssuer 100%
BoardGameTracker.Core.Auth.OidcLogoutUrl 100% 100%
BoardGameTracker.Core.Auth.OidcProviderService 100% 100%
BoardGameTracker.Core.Auth.OidcRoleReconciler 100% 100%
BoardGameTracker.Core.Auth.OidcService 99.6% 98.2%
BoardGameTracker.Core.Auth.Pictures.DnsHostAddressResolver 100% 100%
BoardGameTracker.Core.Auth.Pictures.IdentityProviderPictureDownloader 100% 100%
BoardGameTracker.Core.Auth.Pictures.IdentityProviderPictureImport 100%
BoardGameTracker.Core.Auth.Pictures.IdentityProviderPictureImportService 100% 100%
BoardGameTracker.Core.Auth.Pictures.IdentityProviderPicturePolicy 100% 100%
BoardGameTracker.Core.Auth.Pictures.IdentityProviderPictureQueue 100%
BoardGameTracker.Core.Auth.Pictures.OidcPictureClaim 100% 100%
BoardGameTracker.Core.Auth.Pictures.PinnedAddressConnector 100% 100%
BoardGameTracker.Core.Auth.Pictures.UserProfileImageService 100% 100%
BoardGameTracker.Core.Auth.PlayerLinkCandidate 100%
BoardGameTracker.Core.Auth.PlayerLinkGuard 100% 100%
BoardGameTracker.Core.Auth.PlayerLinkMatcher 100% 98.1%
BoardGameTracker.Core.Auth.PlayerLinkPromptService 100% 97%
BoardGameTracker.Core.Auth.ProfileImageTicketService 100% 100%
BoardGameTracker.Core.Auth.RefreshTokenCleanupService 100% 75%
BoardGameTracker.Core.Auth.SecretProtector 100% 100%
BoardGameTracker.Core.Auth.SecretXmlDecryptor 100% 100%
BoardGameTracker.Core.Auth.SecretXmlEncryptor 100% 100%
BoardGameTracker.Core.Auth.Specifications.AccountsAwaitingPlayerImageSpec 100%
BoardGameTracker.Core.Auth.Specifications.LinkedAccountByPlayerIdSpec 100%
BoardGameTracker.Core.Auth.Specifications.LinkedPlayerByUserIdSpec 100%
BoardGameTracker.Core.Auth.StartupSecrets 100% 100%
BoardGameTracker.Core.Auth.TokenService 100% 100%
BoardGameTracker.Core.Auth.UserAccessCheck 100% 87.5%
BoardGameTracker.Core.Auth.UserAdminService 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.CloseLossBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.CloseWinBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.ConsistentScheduleBadgeEvaluat
or
100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.DifferentGameBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.DurationBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.FirstTryBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.LearningCurveBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.MarathonRunnerBadgeEvaluator 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.MonthlyGoalBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.SessionsBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.SessionWinEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.SocialPlayerBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.SoloSpecialistBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.WinningStreakBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeEvaluators.WinPercentageBadgeEvaluator 100% 100%
BoardGameTracker.Core.Badges.BadgeRepository 100% 100%
BoardGameTracker.Core.Badges.BadgeService 100% 100%
BoardGameTracker.Core.ChangeDetection.ChangeDetectionClient 100% 100%
BoardGameTracker.Core.ChangeDetection.ChangeDetectionSnapshotParser 100% 100%
BoardGameTracker.Core.Common.ClientAddressKey 100% 100%
BoardGameTracker.Core.Common.DateTimeProvider 100% 100%
BoardGameTracker.Core.Common.LocalPath 100% 94.4%
BoardGameTracker.Core.Common.PlayByDayBuckets 100%
BoardGameTracker.Core.Common.SecureUrlPolicy 100% 98.8%
BoardGameTracker.Core.Common.TrustedProxyList 100% 100%
BoardGameTracker.Core.Common.TypeConverter 100% 100%
BoardGameTracker.Core.Compares.CompareRepository 100%
BoardGameTracker.Core.Compares.CompareService 100% 100%
BoardGameTracker.Core.Compares.HeadToHeadCalculator 100% 100%
BoardGameTracker.Core.Compares.Specifications.SessionsWithBothPlayersSpec 100%
BoardGameTracker.Core.Configuration.ConfigRepository 99% 90.9%
BoardGameTracker.Core.Configuration.DbConnectionProvider 100% 100%
BoardGameTracker.Core.Configuration.EnvironmentProvider 100% 100%
BoardGameTracker.Core.Dashboard.DashboardService 100% 100%
BoardGameTracker.Core.Datastore.DesignTimeDbContextFactory 0%
BoardGameTracker.Core.Datastore.EfReadRepository`1 100%
BoardGameTracker.Core.Datastore.EfRepository`1 100% 100%
BoardGameTracker.Core.Datastore.MainDbContext 100% 100%
BoardGameTracker.Core.Datastore.MainDbContextOptions 100%
BoardGameTracker.Core.Datastore.UnitOfWork 100% 100%
BoardGameTracker.Core.Datastore.UtcDateTimeValueConverter 100% 100%
BoardGameTracker.Core.Datastore.UtcNullableDateTimeValueConverter 100% 100%
BoardGameTracker.Core.Disk.DiskProvider 100% 100%
BoardGameTracker.Core.Email.BackgroundEmailSender 100%
BoardGameTracker.Core.Email.EmailService 100% 100%
BoardGameTracker.Core.Email.MailKitSmtpSender 100% 87.5%
BoardGameTracker.Core.Email.PublicUrlBuilder 100% 100%
BoardGameTracker.Core.Extensions.ServiceCollectionExtensions 100% 100%
BoardGameTracker.Core.GameNights.GameNightLinkAccess 100% 100%
BoardGameTracker.Core.GameNights.GameNightService 100% 100%
BoardGameTracker.Core.GameNights.GameNightStatisticsService 100% 100%
BoardGameTracker.Core.GameNights.GameNightStreaks 100% 100%
BoardGameTracker.Core.GameNights.RsvpUpdateResult 100%
BoardGameTracker.Core.GameNights.RunningGameService 100% 100%
BoardGameTracker.Core.GameNights.Specifications.FutureGameNightsSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightAttendanceSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightByIdSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightByIdWithDetailsSpe
c
100%
BoardGameTracker.Core.GameNights.Specifications.GameNightByLinkIdSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightDetailSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightsAtLocationSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightsHostedByPlayerSpe
c
100%
BoardGameTracker.Core.GameNights.Specifications.GameNightsOverviewSpec 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightStatisticsSpec 100% 100%
BoardGameTracker.Core.GameNights.Specifications.GameNightWithRunningGamesSp
ec
100%
BoardGameTracker.Core.GameNights.Specifications.NextGameNightSpec 100%
BoardGameTracker.Core.GameNights.Specifications.RsvpByIdSpec 100%
BoardGameTracker.Core.GameNights.Specifications.RsvpByPlayerAndGameNightSpe
c
100%
BoardGameTracker.Core.GameNights.Specifications.RunningGameByIdSpec 100%
BoardGameTracker.Core.GameNights.Specifications.UpcomingGameNightsSpec 100%
BoardGameTracker.Core.GameNights.StreakResult 100%
BoardGameTracker.Core.GameNights.StreakRun 100%
BoardGameTracker.Core.GameNights.StreakStep 100%
BoardGameTracker.Core.Games.BggImportService 100% 98%
BoardGameTracker.Core.Games.Factories.GameFactory 100% 100%
BoardGameTracker.Core.Games.GameChartService 100% 100%
BoardGameTracker.Core.Games.GameRepository 100% 100%
BoardGameTracker.Core.Games.GameService 99.4% 99.1%
BoardGameTracker.Core.Games.GameStatisticsRepository 100% 100%
BoardGameTracker.Core.Games.GameStatisticsService 100% 100%
BoardGameTracker.Core.Games.LazyBoardGameGeekClient 96%
BoardGameTracker.Core.Games.ShameService 100% 100%
BoardGameTracker.Core.Games.Specifications.ExpansionsByIdsSpec 100%
BoardGameTracker.Core.Games.Specifications.GameByBggIdSpec 100%
BoardGameTracker.Core.Games.Specifications.GameByIdSpec 100%
BoardGameTracker.Core.Games.Specifications.GameByIdWithDetailsForReadSpec 100%
BoardGameTracker.Core.Games.Specifications.GameHasCoopModeSpec 100%
BoardGameTracker.Core.Games.Specifications.GameHasScoringSpec 100%
BoardGameTracker.Core.Games.Specifications.GamesByIdsSpec 100%
BoardGameTracker.Core.Games.Specifications.GamesOverviewSpec 100%
BoardGameTracker.Core.Games.Specifications.GameWithExpansionsSpec 100%
BoardGameTracker.Core.Games.Specifications.GameWithLoansSpec 100%
BoardGameTracker.Core.Games.Specifications.RecentlyAddedGamesSpec 100%
BoardGameTracker.Core.Games.Specifications.ShameGamesSpec 100%
BoardGameTracker.Core.Games.Specifications.TrackedGamesSpec 100%
BoardGameTracker.Core.Images.ImageService 99.5% 98.6%
BoardGameTracker.Core.Integrations.BggConnectionTester 100% 100%
BoardGameTracker.Core.Integrations.ChangeDetectionConnectionTester 100% 100%
BoardGameTracker.Core.Integrations.IntegrationStatusService 100% 100%
BoardGameTracker.Core.Languages.LanguageService 100%
BoardGameTracker.Core.Leaderboard.LeaderboardService 100% 83.3%
BoardGameTracker.Core.Leaderboard.PlayerRanking 100% 100%
BoardGameTracker.Core.Leaderboard.PlayerStanding 100% 100%
BoardGameTracker.Core.Loans.LoanService 100% 100%
BoardGameTracker.Core.Loans.Specifications.ActiveLoansSpec 100%
BoardGameTracker.Core.Loans.Specifications.LoansOrderedByDateSpec 100%
BoardGameTracker.Core.Locations.LocationRepository 100%
BoardGameTracker.Core.Locations.LocationService 100% 100%
BoardGameTracker.Core.Locations.Specifications.LocationByIdSpec 100%
BoardGameTracker.Core.Locations.Specifications.LocationDetailsSpec 100%
BoardGameTracker.Core.Locations.Specifications.LocationsOverviewSpec 100%
BoardGameTracker.Core.Locations.Specifications.LocationWithNameSpec 100%
BoardGameTracker.Core.Maintenance.MaintenanceRepository 100%
BoardGameTracker.Core.Maintenance.MaintenanceSeeder 100% 100%
BoardGameTracker.Core.Maintenance.ResetService 100% 100%
BoardGameTracker.Core.Manuals.ManualService 100% 100%
BoardGameTracker.Core.Manuals.Specifications.GameIdsWithManualsSpec 100%
BoardGameTracker.Core.Manuals.Specifications.ManualsByGameIdSpec 100%
BoardGameTracker.Core.Manuals.Specifications.ManualsByGameIdsSpec 100%
BoardGameTracker.Core.Players.PlayerAccountImageService 100% 100%
BoardGameTracker.Core.Players.PlayerRepository 100% 100%
BoardGameTracker.Core.Players.PlayerService 100% 100%
BoardGameTracker.Core.Players.PlayerStatisticsService 100%
BoardGameTracker.Core.Players.Specifications.PlayerByIdForUpdateSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayerByIdSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayerByIdWithBadgesSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayerIdsSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayersOrderedByNameSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayersOverviewSpec 100%
BoardGameTracker.Core.Players.Specifications.PlayerWithNameSpec 100%
BoardGameTracker.Core.Players.Specifications.WonPlayerSessionsByPlayerSpec 100%
BoardGameTracker.Core.Rag.AiClientFactory 98.7% 100%
BoardGameTracker.Core.Rag.ManualChunkMatch 100%
BoardGameTracker.Core.Rag.ManualChunkRepository 75.9% 64.2%
BoardGameTracker.Core.Rag.ManualIndexingBackgroundService 100% 100%
BoardGameTracker.Core.Rag.ManualIndexingQueue 100%
BoardGameTracker.Core.Rag.ManualIndexingService 100% 100%
BoardGameTracker.Core.Rag.ModelProvisioningBackgroundService 100% 75%
BoardGameTracker.Core.Rag.PdfPageRenderer 62.5% 50%
BoardGameTracker.Core.Rag.PdfPageText 100%
BoardGameTracker.Core.Rag.PdfTextExtractor 100% 87.5%
BoardGameTracker.Core.Rag.RagService 100% 94.4%
BoardGameTracker.Core.Rag.RagSettings 100%
BoardGameTracker.Core.Rag.RagSettingsProvider 100% 100%
BoardGameTracker.Core.Rag.RulebookChunker 98.7% 96.2%
BoardGameTracker.Core.Rag.Specifications.ManualsToIndexSpec 100%
BoardGameTracker.Core.Rag.Specifications.NearestManualChunksSpec 100% 100%
BoardGameTracker.Core.Rag.TextChunk 100%
BoardGameTracker.Core.Sessions.SessionRepository 100% 100%
BoardGameTracker.Core.Sessions.SessionService 100% 100%
BoardGameTracker.Core.Sessions.SessionSuggestionService 100%
BoardGameTracker.Core.Sessions.Specifications.LastPlayedDateSpec 100%
BoardGameTracker.Core.Sessions.Specifications.LastUsedLocationSpec 100%
BoardGameTracker.Core.Sessions.Specifications.RecentSessionsSpec 100%
BoardGameTracker.Core.Sessions.Specifications.ScoredSessionsByGameSpec 100%
BoardGameTracker.Core.Sessions.Specifications.SessionByIdWithDetailsSpec 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsByGameSinceSpec 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsByGameSpec 100% 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsByLocationRecentFirst
Spec
100% 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsByPlayerRecentFirstSp
ec
100% 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsByPlayerSpec 100%
BoardGameTracker.Core.Sessions.Specifications.SessionsStartedSinceSpec 100%
BoardGameTracker.Core.Sessions.Specifications.WonCoopSessionsSpec 100%
BoardGameTracker.Core.Settings.IntegrationKeyMigrator 100% 100%
BoardGameTracker.Core.Settings.IntegrationKeyProtector 100% 100%
BoardGameTracker.Core.Settings.SettingsService 100% 98%
BoardGameTracker.Core.Updates.UpdateCheckBackgroundService 98.1% 100%
BoardGameTracker.Core.Updates.UpdateService 100% 96.8%
Default - 89.3%
Name Line Branch
Default 89.3% 87.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtAchievement/BgtAchievement.tsx
100% 69.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtActionMenu/BgtActionMenu.tsx
100% 88.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtAvatar/BgtAvatar.tsx
78.5% 82.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtBadge/BgtBadge.tsx
72.7% 58.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtButton/BgtBigButton.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtButton/BgtButton.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtButton/BgtEditDeleteButtons.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtCard/BgtCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtCard/RecentActivityCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtCharts/BgtBarChart.tsx
92.8% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtCharts/BgtPieChart.tsx
100% 86.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtDataGuard/BgtDataGuard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtDialog/BgtDialog.tsx
100% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtDialog/BgtDialogFooter.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtDialog/index.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtCheckbox.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtCheckboxList.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtDatePicker.tsx
96.9% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtDateTimePicker.tsx
100% 80.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtFieldLabel.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtFormActionBar.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtFormErrors.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtImageSelector.tsx
85.3% 82.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtInputContainer.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtInputField.tsx
93.9% 97.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSelect.tsx
98.5% 95.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSimpleCheckbox.tsx
100% 80%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSimpleInputField.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSimpleSelect.tsx
95.5% 95.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSimpleSwitch.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtSwitch.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/BgtTextArea.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/FormFieldWrapper.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/index.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/SearchInputField.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/selectSearch.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/useKeyboardResizeGuard.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtForm/useTriggerToggle.ts
96.2% 91.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtHeading/BgtHeading.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtIconButton/BgtIconButton.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtImage/BgtFallbackImage.tsx
90% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtImageCard/BgtImageCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtCardList.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtDetailLayout.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtEmptyPage.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtEmptyState.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtPage.tsx
100% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtPageContent.tsx
100% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLayout/BgtPageHeader.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLoadingSpinner/BgtLoadingSpinner.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtLoadingSpinner/BgtSpinner.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtMenu/BgtMenuItem.tsx
100% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtMenu/BgtMenuLogo.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtNoData/BgtNoData.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtProgressBar/BgtProgressBar.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtProgressBar/BgtProgressDots.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtProgressBar/BgtProgressLegend.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtProgressBar/progressMath.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtProgressBar/progressTones.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtSegmentedControl/BgtSegmentedControl.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtStatistic/BgtTextStatistic.tsx
95.2% 90.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtStatus/BgtStatus.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTable/BgtDataTable.tsx
100% 92.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTable/BgtPaging.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTable/BgtTable.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtText/BgtText.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtText/textStyles.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTile/BgtTile.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTile/BgtTileGrid.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/BgtTile/BgtTileSessions.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/CoopResultPill/CoopResultPill.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/ErrorBoundary/ErrorFallback.tsx
100% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/GameNight/AvatarChip.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/GameNight/GameNightDateBox.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/GameNight/PlannedGameList.tsx
90% 44.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/GameNight/RsvpGroups.tsx
91.6% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/GameNight/RsvpProgress.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/components/NotFound/NotFound.tsx
85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/config/sonner.ts
0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/form.tsx
14.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useAuth.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useCountUp.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useDebounce.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useDebouncedSearchQuery.ts
75% 60%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useDecimalInput.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useDocumentTitle.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useDurationRange.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useFilteredList.ts
100% 80%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useHideBottomNav.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useLogout.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useMediaQuery.ts
87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useModalState.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useNumberFormat.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/usePermissions.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useQueryInvalidator.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useResetQueriesOnIdentityChange.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useShortDuration.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/hooks/useTimeouts.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Auth/Auth.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Auth/Oidc.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Badge/Badge.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/ChangeDetection/ChangeDetection.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Charts/PieChartDatum.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/Actions.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/ApiError.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/BgtSelectItem.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/FailResult.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/KeyValuePair.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Common/ModalProps.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Compare/CompareResult.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/constants.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Dashboard/DashboardStatistics.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/GameNight/GameNight.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/GameNight/GameNightStatistics.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/BggSearch.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/CreateGame.ts
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/Expansion.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/ExpansionLink.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/Game.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/GameManual.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/GamePrice.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/GameState.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/GameStatistics.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/ImportGame.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/PersonType.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/RagAnswer.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/Shame.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Games/ShameStatistics.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Images/ImageUpload.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/index.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Leaderboard/Leaderboard.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Loan/CreateLoan.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Loan/Loan.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Location/CreateLocation.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Location/Location.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Location/LocationStatistics.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Menu/MenuItem.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Player/Player.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Player/PlayerOverview.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Player/PlayerStatistics.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Session/CreateSession.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Session/PlayerSession.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Session/Session.tsx
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Session/SessionSuggestions.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/BggConfigStatus.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/ChangeDetectionConfigStatus.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/IntegrationStatus.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/Language.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/Settings.ts
100% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/models/Settings/VersionInfo.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/react-query.d.ts
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/__root.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare.tsx
0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-components/RsvpEventDetails.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-components/RsvpGames.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-components/RsvpResponseForm.tsx
96.2% 91.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-components/RsvpSuccessView.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-components/RsvpWhosComing.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-hooks/useRsvpData.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/-utils/loginError.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/auth-callback.tsx
100% 91.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/forgot-password.tsx
84.2% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/login.tsx
81.3% 83.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/reset-password.tsx
65.7% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/_bare/rsvp.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/BgtPoster.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/BottomNav.tsx
93.6% 97.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/CollectionCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/DashboardHeader.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/DashboardSkeleton.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/dashboardStyles.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/LastSessionsCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/MostPlayedCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/NextGameNightCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/ShelfOfShameNudge.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/dashboard/TopPlayersCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/IntegrationSettingsButton.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/NoGamesEmptyPage.tsx
100% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/PlayerLinkPrompt.tsx
100% 98.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/RequireWrite.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/Sidebar.tsx
75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/UserCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-components/VersionCard.tsx
0% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useBack.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useDashboardData.ts
16.6% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useGameById.ts
90% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useIntegrationSettings.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useMenuInfo.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/usePlayerById.ts
100% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-hooks/useToasts.tsx
90.9% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/-modals/BgtDeleteModal.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/ChatComposer.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/ChatMessage.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/ChatTranscript.tsx
90% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/CitationList.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/PageImage.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/SourcesOverlay.tsx
62.9% 22.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-components/SourcesPanel.tsx
78.5% 53.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-hooks/usePageImage.ts
97% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/-hooks/useRagChat.ts
100% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/chat/index.tsx
92.1% 82.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/BestWorstCards.tsx
100% 92.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/FormStrip.tsx
100% 94.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/OverallTable.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/PerGameCard.tsx
100% 97.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/PlayerPicker.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/RecentTogether.tsx
100% 96.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/RecordCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/SectionTitle.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-components/TogetherTiles.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-hooks/useCompareData.ts
85.7% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-test/compareTestSetup.ts
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/-utils/compareUtils.ts
100% 87.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/compare/index.tsx
90.3% 95.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/DisabledActionHint.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/EmailInvitesButton.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightActions.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightCard.tsx
100% 97.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightDetailHeader.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightDetailView.tsx
100% 92.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightForm.tsx
93.7% 94.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/GameNightListSkeleton.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/MultiSelectField.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/NightEndAction.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/NightPlanPanel.tsx
75% 78.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/NightSectionTitle.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/NightSidePanel.tsx
100% 95.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/NightSummaryStats.tsx
100% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/PastGameNightItem.tsx
100% 94.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/PastGameNightList.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/PlayedSessionsList.tsx
100% 95.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/RsvpAvatarStack.tsx
96% 95.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/RunningGameCard.tsx
100% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/GameNightStatsView.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightAttendanceCard.tsx
100% 91.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightGamesCard.tsx
100% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightRecordsCard.tsx
100% 95.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightStatsTiles.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightStreaksCard.tsx
100% 92.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightWinnerHistoryCard.tsx
100% 95.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/NightWinnersCard.tsx
100% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/statsFixtures.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-components/stats/StatsParts.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-hooks/useGameNightActions.ts
42.1% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-hooks/useGameNightData.ts
90% 80.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-hooks/useGameNightDetail.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-hooks/useGameNightModals.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-hooks/useInviteLink.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/AttendanceModal.tsx
100% 94.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/CreateGameNightModal.tsx
71.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/EditGameNightModal.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/EndNightModal.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/ManageRSVPsModal.tsx
100% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/PlaySessionSheet.tsx
100% 88.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/SendInvitesModal.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-modals/StartGameSheet.tsx
100% 84.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-utils/defaultStartDate.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-utils/deleteNightDescription.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-utils/gameNightPlay.ts
95.8% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-utils/inviteRecipients.ts
100% 90%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/-utils/toUpdateGameNight.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/$gameNightId.tsx
97.9% 85.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/game-nights/index.tsx
80.4% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/EditableCellButton.tsx
100% 90.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/EditableNumberCell.tsx
100% 96.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/EditableSelectCell.tsx
100% 90.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/ExpansionsDialog.tsx
94.4% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameDetailEmptyState.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameDetailsStatus.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFactsCard.tsx
100% 97.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameForm.tsx
100% 97.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormBasicFields.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormCoopFields.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormLinkFields.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormPlayerFields.tsx
88.2% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormTimeFields.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameFormUpdateFields.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameHeader.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GamesFilters.tsx
85.5% 68.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GamesTableView.tsx
72.5% 43.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameStaticSection.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameStatisticsGrid.tsx
100% 97.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/GameTableCards.tsx
60% 45.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/LivePrice.tsx
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/ManualsDialog.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/PickWheel.tsx
94.1% 75.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/PlayerCountChartCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/PriceRefreshButton.tsx
77.7% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/RecentSessionsCard.tsx
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/RulebookChatButton.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/ScoringResultsCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/SessionCountChartCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/TopPlayersCard.tsx
100% 94.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/TrackedPriceIcon.tsx
23.8% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/TrackPriceDialog.tsx
100% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-components/WatchIdPreview.tsx
61.5% 25%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useBggGameModal.ts
9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useExpansionSelectorModal.ts
11.1% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameActions.ts
72.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameData.ts
36.8% 40.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameForm.ts
20% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameManuals.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameModals.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGamesData.ts
33.3% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useGameSessionsData.ts
54.5% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useImageUpload.ts
72.7% 40%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useInlineGameUpdate.ts
6.6% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useNewGame.ts
8.3% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-hooks/useUpdateGame.ts
8.3% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-modals/ExpansionSelectorModal.tsx
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-utils/gameDataTransformers.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-utils/gameFormOpts.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/-utils/gamesSearch.ts
94.8% 92.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/$gameId_.sessions.tsx
71.4% 25%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/$gameId_.update.tsx
72.2% 20%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/$gameId.tsx
89.7% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/add.tsx
78.5% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/bgg.tsx
82.6% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/import/-hooks/useList.ts
98.2% 95.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/import/-utils/importErrors.ts
100% 90%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/import/list_.$username.tsx
87.7% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/import/start.tsx
28.5% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/index.tsx
83.3% 71.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/new.tsx
75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/games/pick.tsx
95.8% 81.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/index.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-components/LeaderboardFilters.tsx
100% 95%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-components/LeaderboardPodium.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-components/LeaderboardRanking.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-components/LeaderboardRules.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-components/LeaderboardTiles.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/-utils/leaderboardSearch.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/leaderboard/index.tsx
92.3% 90.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-components/BorrowerLoanGroup.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-components/LoanRow.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-components/LoanStatusPill.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-hooks/useLoanActions.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-hooks/useLoanModels.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-hooks/useLoans.ts
97.4% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-hooks/useNewLoanModal.ts
0% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-modals/EditLoanModal.tsx
100% 84.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-modals/NewLoanModal.tsx
98.3% 81.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-modals/ReturnLoanModal.tsx
92.5% 81.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/-utils/loanStatus.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/loans/index.tsx
100% 93.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationHeader.tsx
100% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationPin.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationPlayedHere.tsx
100% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationSessionsCard.tsx
100% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationStatisticsGrid.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-components/LocationTile.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-hooks/useLocationData.ts
94.7% 80%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-hooks/useLocationModal.ts
64.7% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-hooks/useLocationModals.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-hooks/useLocationsData.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-modals/EditLocationModal.tsx
100% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-modals/NewLocationModal.tsx
100% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/-utils/locationInsights.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/$locationId.tsx
100% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/locations/index.tsx
91.6% 68.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/MostPlayedGamesCard.tsx
22.2% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerAchievementsCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerHeader.tsx
100% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerLoansCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerRivalsCard.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerSessionCardItem.tsx
94.1% 85%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/PlayerStatisticsGrid.tsx
100% 96.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-components/RecentPlayerSessionsCard.tsx
11.1% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/achievementFixtures.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/useAchievementProgress.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/useLinkedAccountOptions.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerActions.ts
10%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerData.ts
7.4% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerModal.ts
75.8% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerModals.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayersData.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerSessionData.ts
65.2% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-hooks/usePlayerStanding.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-modals/CreatePlayerModal.tsx
91.6% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-modals/EditPlayerModal.tsx
93.4% 86.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-utils/lastPlayed.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-utils/playersList.ts
100% 87.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/-utils/rivalry.ts
100% 86.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/$playerId_.sessions.tsx
72.4% 37.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/$playerId.tsx
89.1% 75.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/index.tsx
89.4% 89.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/players/new.tsx
61.1% 12.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionCardList.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionCommentCell.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionCoopFields.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionExpansionSelector.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionForm.tsx
89.6% 76%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionFormFields.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionPlayerManager.tsx
94.7% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionPlayerPills.tsx
100% 88.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-components/SessionPlayerRow.tsx
100% 94.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useNewSessionData.ts
7.6% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useNewSessionWithGameData.ts
7.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useSessionColumns.tsx
80% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useSessionForm.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useSessionFormState.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-hooks/useUpdateSessionData.ts
93.7% 91.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-utils/coopSession.ts
100% 91.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-utils/gameSelectItems.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-utils/sessionFormOpts.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-utils/sessionWinners.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/-utils/splitSuggested.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/new_.$gameId.tsx
73.6% 60%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/new.tsx
82.3% 62.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/sessions/update_.$sessionId.tsx
100% 66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/AccountSettings.tsx
81.6% 75%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/AdvancedSettings.tsx
80% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/BggSettings.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/DangerZoneSection.tsx
73.3% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/EnvOverrideHint.tsx
80% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/ExternalLoginsSection.tsx
90.9% 92.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/GameNightsSettings.tsx
14.2% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/GeneralSettings.tsx
94.1% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/IntegrationStatusBadge.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/IntegrationStatusRow.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/SettingsSection.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/SettingsSidebar.tsx
93.3% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/SettingsToggle.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/ShelfOfShameSettings.tsx
14.2% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-components/SsoSettings.tsx
95.8% 95.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useAccountData.ts
82.1% 92.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useDangerZone.ts
7.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useExternalLogins.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useIntegrationStatus.ts
100% 80%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useSettingsData.ts
7.1% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useSingleSignOnEnabled.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useSsoSettings.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-hooks/useUserAccess.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/ChangePasswordModal.tsx
89.4% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/CreateUserModal.tsx
91.3% 40%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/EditUserModal.tsx
94.7% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/ResetConfirmModal.tsx
100% 85.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/TempPasswordModal.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-modals/UserAccessModal.tsx
95.8% 97.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-utils/playerLinkOptions.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-utils/publicUrlWarning.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-utils/settingsCategory.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/-utils/settingsFormOpts.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/settings/index.tsx
82.2% 61.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/GameNightNudge.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/MoneyOnTheShelf.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/NoShames.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/ShameFilters.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/ShameMonths.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/ShameRow.tsx
100% 95.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-components/ShameSummary.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-hooks/useShameData.ts
100% 76.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/-utils/shameFilters.ts
100% 93.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/routes/shames/index.tsx
96.8% 95.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/authService.ts
69.2% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/badgeService.ts
50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/changeDetectionService.ts
50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/compareService.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/countService.ts
33.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/dashboardService.ts
50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/gameNightService.ts
73.9%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/gameService.ts
43.8% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/imageService.ts
25% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/integrationService.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/leaderboardService.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/loanService.ts
44.4%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/locationService.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/maintenanceService.ts
60%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/manualService.ts
33.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/oidcAdminService.ts
75% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/playerService.ts
51.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/auth.ts
83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/basdges.ts
66.6%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/compare.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/count.ts
33.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/dashboard.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/gameNights.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/games.ts
94.1% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/invalidations.ts
91.6% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/leaderboard.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/loans.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/locations.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/manuals.ts
83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/oidc.ts
73.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/players.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/queryFactory.ts
100% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/sessions.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/queries/settings.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/ragService.ts
0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/sessionService.ts
40%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/services/settingsService.ts
50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/test/routerLinkMock.tsx
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/test/test-utils.tsx
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/apiUrl.ts
100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/axiosInstance.ts
84.7% 76.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/calendarFile.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/dateUtils.ts
99% 97.7%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/errorUtils.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/formUtils.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/historyTrail.ts
100% 50%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/i18n.ts
0% 0%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/ItemStateUtils.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/languageUtils.ts
93.3% 62.5%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/localDate.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/localeUtils.ts
95.4% 86.2%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/numberUtils.ts
100% 97.1%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/publicUrl.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/rangeUtils.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/reactErrorReporter.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/redirectUtils.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/refreshLock.ts
94.2% 95.8%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/relativeDay.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/routeSchemas.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/sentry.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/sentryScrub.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/sessionSync.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/sortRsvps.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/stringUtils.ts
97.7% 83.3%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/tokenRefresh.ts
100% 100%
/home/runner/work/BoardGameTracker/BoardGameTracker/boardgametracker.client
/src/utils/zodValidator.ts
100% 100%

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file security size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants