fix: settings page lag (#736)

* feat: made a handler for github stats messages same way as the rest

* fix: remove settingsPageLag through incremental rendering and efficient update of local storage

* refactor: passed eslint

* chore: added GitHubStats types

* feat: added contributor card skeletons

* refactor: pass eslint

* feat: removed trickle rendering and added locking to setCachedData

---------

Co-authored-by: Derek <derex1987@gmail.com>
Co-authored-by: Diego Perez <52579214+doprz@users.noreply.github.com>
This commit is contained in:
Sebastian Leiman
2026-01-30 22:20:55 +00:00
committed by GitHub
parent 4776029cb4
commit ea54d926ab
8 changed files with 161 additions and 58 deletions

View File

@@ -0,0 +1,12 @@
import type { GitHubStatsResult } from '@shared/types/GitHubStats';
/* eslint-disable jsdoc/require-jsdoc */
export default interface GitHubStatsMessages {
/**
* Fetch GitHub statistics for all contributors
* @param includeMergedPRs - Whether to include merged PR counts (optional, default: false)
* @returns GitHub stats including commits, lines added/deleted, and optionally merged PRs
*/
fetchGitHubStats: (includeMergedPRs?: boolean) => GitHubStatsResult;
}

View File

@@ -3,6 +3,7 @@ import { createMessenger } from 'chrome-extension-toolkit';
import type BrowserActionMessages from './BrowserActionMessages';
import type { CalendarBackgroundMessages, CalendarTabMessages } from './CalendarMessages';
import type CESMessage from './CESMessage';
import type GitHubStatsMessages from './GitHubStatsMessages';
import type TabInfoMessages from './TabInfoMessages';
import type TabManagementMessages from './TabManagementMessages';
import type { UserScheduleMessages } from './UserScheduleMessages';
@@ -14,7 +15,8 @@ export type BACKGROUND_MESSAGES = BrowserActionMessages &
TabManagementMessages &
UserScheduleMessages &
CESMessage &
CalendarBackgroundMessages;
CalendarBackgroundMessages &
GitHubStatsMessages;
/**
* This is a type with all the message definitions that can be sent TO specific tabs