Repository navigation
fix(projects): restore the regenerated webhook secret, switch to bun, add CI - #2
Conversation
The v3.1 merge dropped the reveal state from the tabbed project page, so the secret the server returns once on regeneration was never shown and was lost. Restore it, keyed by project, and add a page test that fails if the card stops receiving it or shows it on another project. Signed-off-by: Sabry Dawood <kazouya25@gmail.com>
Type aliases take the T prefix (TStatus, TDeliveryConfigInput, TProviderConfigInput, TProjectTemplateCategory), and the notification card's server merge keeps its setState in the effect with a reasoned exception, as the project form already does. Signed-off-by: Sabry Dawood <kazouya25@gmail.com>
bun.lock is the single lockfile and package.json pins bun@1.4.4. The README installs and runs with bun. A CI workflow installs with a frozen lockfile, then lints, tests and builds on every pull request and push to master. Signed-off-by: Sabry Dawood <kazouya25@gmail.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Bun version and project commands package.json, README.md |
The package metadata specifies Bun 1.4.4. The README updates prerequisites, installation, development, build, and preview commands to use Bun. |
CI workflow .github/workflows/ci.yml |
The workflow runs on pull requests to master or version/** and pushes to master. It installs dependencies with a frozen lockfile, then runs lint, tests, and build. |
Project webhook secret state
| Layer / File(s) | Summary |
|---|---|
Store and display the regenerated secret src/pages/Projects/ProjectDetailsPage.tsx, src/pages/Projects/ProjectDetailsPage.test.tsx |
The page stores the returned secret with the request's project ID and passes it to the webhook card only when the displayed project matches. Tests cover displaying the secret and clearing it after a project change. |
Type naming and lint adjustment
| Layer / File(s) | Summary |
|---|---|
Rename service types and update consumers src/services/notificationChannelService.ts, src/components/Settings/NotificationChannelsTab.tsx, src/services/notificationProviderService.ts, src/components/Settings/NotificationProvidersTab.tsx, src/services/projectTemplateService.ts, src/pages/Projects/components/ProjectTemplateWizard.tsx |
Notification configuration and project-template category types receive new names. Their union values and consuming behavior remain unchanged. |
Local type and lint adjustments src/pages/Deployments/components/CopyLogButton.tsx, src/pages/Projects/components/ProjectNotificationsCard.tsx |
CopyLogButton uses the renamed local status type. ProjectNotificationsCard adds an ESLint suppression for its seeded-state update. |
Priority:
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Bug fix
Possibly related PRs
- FutureSolutionDev/Deploy-Center-Client#1: Introduced the regenerated webhook-secret flow that this change updates to associate the revealed secret with a project and test project changes.
Merge Risk: 
Minimal · up to f9fe5
-
The regenerated secret remains scoped to its project, and normal navigation discards it when leaving the details page. No actionable merge-blocking issue remains; merge after normal checks pass.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 10 files. (3 skipped: 3 unsupported.)
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
Description
16d8325) dropped the reveal state from the tabbed project page. Because the webhook secret is write-only, the server returns a regenerated secret only once, and the page no longer passed it toProjectWebhookCard. The secret was lost, so GitHub webhooks broke after any regeneration. The reveal state is back, keyed byProjectIdso the secret never shows on another project's page. A new page test fails without this fix.Tprefix. The notification card's server merge keeps itssetStatein the effect, with a reasoned exception, the same as the project form.bun.lockis the single lockfile,package.jsonpinspackageManager: bun@1.4.4, and the README installs and runs with bun.How it was tested
bun install --frozen-lockfilewith no changes.bun run lint: 0 errors.tsc -b: 0 errors.bun run test -- --run: 5 files, 10 tests, all passing. The 2 new tests fail on master.bun run build: OK.Notes
The server repo docs still show
npmfor the client inFAQ.md,migration-v2-to-v3.mdandguides/GITHUB_SETUP.md. They will be updated in the server repo.Summary by CodeRabbit