Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
5b5cae2
Initial plan
Copilot Aug 16, 2025
b0890d5
Changes before error encountered
Copilot Aug 16, 2025
d0763ec
Merge branch 'main' into copilot/fix-823
setchy Aug 16, 2025
04a3199
Changes before error encountered
Copilot Aug 16, 2025
70102b0
wip
setchy Oct 17, 2025
ae0f9ee
Revert previous changes to start fresh migration to Octokit
Copilot Jan 22, 2026
df1c43b
Merge branch 'main' into copilot/fix-823
setchy Jan 22, 2026
f749551
Migrate from axios to @octokit for GitHub API requests
Copilot Jan 22, 2026
242ea79
Address code review feedback
Copilot Jan 22, 2026
4f8a266
refactor: use octokit client
setchy Jan 22, 2026
cc915ac
refactor: use octokit client
setchy Jan 22, 2026
3019a49
refactor: use octokit client
setchy Jan 22, 2026
db7c353
refactor: use octokit client
setchy Jan 23, 2026
33aafc8
refactor: use octokit client
setchy Jan 23, 2026
7b3e1b3
refactor: use octokit client
setchy Jan 23, 2026
56e546d
refactor: use octokit client
setchy Jan 23, 2026
ff20dc2
refactor: use octokit client
setchy Jan 23, 2026
239b6a4
refactor: use octokit client
setchy Jan 23, 2026
8efb114
Merge branch 'main' into copilot/fix-823
setchy Jan 23, 2026
94292a1
refactor: use octokit client
setchy Jan 23, 2026
ce0ed85
remove axios test helper
setchy Jan 23, 2026
aaeaa27
remove axios references
setchy Jan 23, 2026
1eba293
refactor esm packages
setchy Jan 23, 2026
4b5b709
introduce client builder and caches for rest and graphql
setchy Jan 23, 2026
3f56751
restore header for ghes version
setchy Jan 23, 2026
478bfad
introduce client builder and caches for rest and graphql
setchy Jan 23, 2026
9be25a6
improve graphql error handling
setchy Jan 23, 2026
36f41cd
refactor graphql response shapes
setchy Jan 23, 2026
f10fb31
fix tests
setchy Jan 23, 2026
8c9c3b0
fix test
setchy Jan 23, 2026
d956225
fix test
setchy Jan 23, 2026
736f45c
fix test
setchy Jan 23, 2026
6386916
fix test
setchy Jan 23, 2026
c2eaf03
fix test
setchy Jan 23, 2026
9db3156
fix tests and remove nock
setchy Jan 23, 2026
8784ca3
fix authentication - skip client cache
setchy Jan 23, 2026
0f32ad7
fix authentication - skip client cache
setchy Jan 23, 2026
6809954
fix authentication - skip client cache
setchy Jan 23, 2026
dafb4c7
update gen
setchy Jan 23, 2026
6d54e8d
Merge branch 'main' into copilot/fix-823
setchy Jan 23, 2026
caa2054
fix lint
setchy Jan 23, 2026
cf5c17b
Merge branch 'copilot/fix-823' of https://github.com/gitify-app/gitif…
setchy Jan 23, 2026
53d30e3
fix lint
setchy Jan 23, 2026
3874b82
add retry plugin
setchy Jan 24, 2026
525e6ef
add never return type
setchy Jan 24, 2026
586e98a
update error handler
setchy Jan 24, 2026
2e3621e
fix lockfile
setchy Jan 24, 2026
b52d587
improve coverage
setchy Jan 24, 2026
1a72ba2
improve coverage
setchy Jan 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ This project focuses on GitHub notification monitoring, not being a full GitHub
## Technology Stack Reference

**Core Technologies:**
- **Electron 37+**: Desktop app framework
- **Electron 40+**: Desktop app framework
- **React 19+**: UI library
- **TypeScript 5+**: Language
- **pnpm 10+**: Package manager
Expand All @@ -166,7 +166,8 @@ This project focuses on GitHub notification monitoring, not being a full GitHub
- **menubar**: System tray integration
- **electron-updater**: Auto-update functionality
- **@primer/react**: GitHub's React component library
- **octokit**: HTTP client for GitHub API
- **@primer/octicons-react**: GitHub icon library
- **date-fns**: Date utilities
- **axios**: HTTP client for GitHub API

ALWAYS reference this information first before exploring the codebase or running commands to save time and avoid common pitfalls.
2 changes: 2 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
":BLANK_LINE:",
"@primer/**",
":BLANK_LINE:",
"@octokit/**",
":BLANK_LINE:",
":PACKAGE:",
":BLANK_LINE:",
["**/__mocks__/**", "**/__helpers__/**"],
Expand Down
40 changes: 30 additions & 10 deletions jest.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
import type { Config } from 'jest';

const esmPackages = [
'@github/relative-time-element',
'@github/tab-container-element',
'@lit-labs/react',
'@octokit/app',
'@octokit/core',
'@octokit/endpoint',
'@octokit/oauth-authorization-url',
'@octokit/oauth-methods',
'@octokit/graphql',
'@octokit/plugin-paginate-graphql',
'@octokit/plugin-paginate-rest',
'@octokit/plugin-retry',
'@octokit/plugin-rest-endpoint-methods',
'@octokit/plugin-throttling',
'@octokit/request',
'@octokit/request-error',
'@primer/octicons-react',
'@primer/primitives',
'@primer/react',
'lit',
'universal-user-agent',
];

const escapeForRegExp = (s: string) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');

const transformIgnorePattern = `node_modules/(?!(?:${esmPackages.map(escapeForRegExp).join('|')})/)`;

const config: Config = {
preset: 'ts-jest',
globalSetup: '<rootDir>/src/renderer/__helpers__/jest.setup.env.ts',
Expand All @@ -13,17 +41,9 @@ const config: Config = {
'^.+\\.(js|mjs)$': 'babel-jest',
},
// Allow transforming specific ESM packages in node_modules that ship untranspiled ESM.
// @primer/* libraries rely on lit and @lit-labs/react internally for some components.
// @octokit/* libraries rely on universal-user-agent internally.
// We also include GitHub web components that ship ESM-only builds.
transformIgnorePatterns: [
'node_modules/(?!(?:@primer/react|@primer/primitives|@primer/octicons-react|@lit-labs/react|lit|@github/relative-time-element|@github/tab-container-element|@octokit/oauth-methods|@octokit/oauth-authorization-url|@octokit/request|@octokit/request-error|@octokit/endpoint|universal-user-agent)/)',
],
// Packages are listed above in `esmPackages` for easier maintenance.
transformIgnorePatterns: [transformIgnorePattern],
moduleNameMapper: {
// Force CommonJS build for http adapter to be available.
// via https://github.com/axios/axios/issues/5101#issuecomment-1276572468
'^axios$': require.resolve('axios'),

// GitHub Primer Design System - CSS in JS
'\\.css$': 'identity-obj-proxy',
},
Expand Down
11 changes: 6 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@
"@electron/notarize": "3.1.1",
"@graphql-codegen/cli": "6.1.1",
"@graphql-codegen/schema-ast": "5.0.0",
"@octokit/core": "7.0.6",
"@octokit/graphql": "9.0.3",
"@octokit/oauth-methods": "6.0.2",
"@octokit/openapi-types": "27.0.0",
"@octokit/request": "10.0.7",
"@octokit/plugin-paginate-rest": "14.0.0",
"@octokit/plugin-rest-endpoint-methods": "17.0.0",
"@octokit/plugin-retry": "8.0.3",
"@octokit/request-error": "^7.1.0",
"@octokit/types": "16.0.0",
"@parcel/watcher": "2.5.4",
"@primer/css": "22.1.0",
"@primer/octicons-react": "19.21.2",
"@primer/primitives": "11.3.2",
"@primer/react": "38.7.1",
"@tailwindcss/postcss": "4.1.18",
"@testing-library/jest-dom": "6.9.1",
Expand All @@ -106,7 +109,6 @@
"@types/react-dom": "19.2.3",
"@types/react-router-dom": "5.3.3",
"@types/semver": "7.7.1",
"axios": "1.13.2",
"babel-jest": "30.2.0",
"clsx": "2.1.1",
"concurrently": "9.2.1",
Expand All @@ -125,7 +127,6 @@
"jest": "30.2.0",
"jest-environment-jsdom": "30.2.0",
"mini-css-extract-plugin": "2.10.0",
"nock": "13.5.6",
"postcss": "8.5.6",
"postcss-loader": "8.2.0",
"rimraf": "6.1.2",
Expand Down
Loading