Skip to content

Conversation

yamadashy
Copy link
Owner

This PR adds triage labels to both GitHub issue templates to ensure all new issues are properly categorized for initial review and prioritization.

Changes

  • Feature Request template: Added triage label alongside existing enhancement label
  • Bug Report template: Ensured triage label is properly formatted in YAML array syntax

Benefits

  • All new issues will be automatically tagged with triage label
  • Improves issue management workflow by ensuring no issues go unnoticed
  • Provides consistent labeling for better organization and filtering

Checklist

  • Run npm run test
  • Run npm run lint

@Copilot Copilot AI review requested due to automatic review settings August 24, 2025 15:27
Copy link
Contributor

coderabbitai bot commented Aug 24, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

GitHub issue templates updated: feature requests now preselect “enhancement” and “triage”; bug report labels reformatted to block YAML. Logger initialization changed: production uses only Cloud Logging (no console); development uses Console with timestamp/JSON. Logger level and public API unchanged.

Changes

Cohort / File(s) Summary of Changes
Issue templates
\.github/ISSUE_TEMPLATE/01_feature_request.yml, \.github/ISSUE_TEMPLATE/02_bug_report.yml
Feature request template adds “triage” to labels. Bug report template converts labels: [triage] to block-style YAML labels: with - triage; no behavioral change.
Server logger config
website/server/src/utils/logger.ts
Logger transports now depend on environment: production uses only LoggingWinston (no console); development uses Console with timestamp/JSON. Logger level logic and exported API remain the same.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Dev/Prod Env
  participant App as Application Code
  participant Logger as Logger Factory
  participant Console as Console Transport
  participant Cloud as Cloud Logging (LoggingWinston)

  Dev->>Logger: initialize()
  alt NODE_ENV=production
    Logger->>Cloud: attach transport
    note right of Cloud: Console transport omitted to avoid duplicates
  else development/other
    Logger->>Console: attach transport (timestamp + JSON)
  end

  App->>Logger: logger.info/error(...)
  alt production
    Logger->>Cloud: write log
  else development
    Logger->>Console: write log
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/triage

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @yamadashy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines issue management and refines application logging. It introduces automated 'triage' labeling for new GitHub issues, ensuring better categorization and initial review. Concurrently, it optimizes the logging setup to provide distinct behaviors for production and development environments, enhancing log clarity and efficiency.

Highlights

  • Automated Triage Label for Feature Requests: The feature request template now automatically includes the 'triage' label, ensuring all new feature requests are immediately categorized for initial review.
  • YAML Formatting Correction in Bug Report Template: The bug report template's 'triage' label definition was adjusted to conform to proper YAML array syntax, improving template consistency and reliability.
  • Environment-Specific Logging Configuration: The logging utility has been enhanced to use Cloud Logging only in production environments, preventing redundant logs, while console logging is now specifically enabled for development.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

claude bot commented Aug 24, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds triage labels to GitHub issue templates to improve issue management workflow and ensures proper categorization of new issues for review and prioritization. The PR also includes an unrelated logging configuration change that separates production and development logging transports.

  • Added triage label to both feature request and bug report issue templates
  • Fixed YAML array syntax in bug report template labels
  • Refactored logger configuration to use different transports for production vs development environments

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/ISSUE_TEMPLATE/01_feature_request.yml Added triage label to existing enhancement label list
.github/ISSUE_TEMPLATE/02_bug_report.yml Fixed YAML syntax and ensured triage label is properly formatted
website/server/src/utils/logger.ts Refactored to use Cloud Logging only in production, console logging in development

Comment on lines 4 to 20

// Configure transports based on environment
function createLogger() {
const transports: winston.transport[] = [
new winston.transports.Console({
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
}),
];
const transports: winston.transport[] = [];

// Add Cloud Logging transport only in production
if (process.env.NODE_ENV === 'production') {
// In production, use only Cloud Logging to avoid duplicates
const loggingWinston = new LoggingWinston();
transports.push(loggingWinston);
} else {
// In development, use console logging
transports.push(
new winston.transports.Console({
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
}),
);
}
Copy link
Preview

Copilot AI Aug 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] This logging configuration change appears unrelated to the PR's stated purpose of adding triage labels to GitHub issue templates. Consider moving this change to a separate PR focused on logging improvements to maintain clear commit history and easier rollbacks if needed.

Copilot uses AI. Check for mistakes.

Copy link

codecov bot commented Aug 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.41%. Comparing base (083e3ed) to head (fee25e8).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #804   +/-   ##
=======================================
  Coverage   87.41%   87.41%           
=======================================
  Files         113      113           
  Lines        6493     6493           
  Branches     1331     1331           
=======================================
  Hits         5676     5676           
  Misses        817      817           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

cloudflare-workers-and-pages bot commented Aug 24, 2025

Deploying repomix with  Cloudflare Pages  Cloudflare Pages

Latest commit: fee25e8
Status: ✅  Deploy successful!
Preview URL: https://0069a48e.repomix.pages.dev
Branch Preview URL: https://chore-triage.repomix.pages.dev

View logs

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request makes two distinct changes. First, it adds the triage label to the GitHub issue templates, which will help with issue management. The changes to the YAML files are correct and consistent. Second, it refactors the logger configuration to use different transports for production and development environments, correctly preventing duplicate logs in production. This is a valuable improvement.

For future pull requests, it would be helpful to describe all significant changes in the description. The logger refactoring is a good change but wasn't mentioned. Also, consider separating unrelated changes into different pull requests to keep them focused.

I've added one suggestion to make the logger configuration code more concise and maintainable.

Comment on lines 7 to 20
const transports: winston.transport[] = [];

// Add Cloud Logging transport only in production
if (process.env.NODE_ENV === 'production') {
// In production, use only Cloud Logging to avoid duplicates
const loggingWinston = new LoggingWinston();
transports.push(loggingWinston);
} else {
// In development, use console logging
transports.push(
new winston.transports.Console({
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
}),
);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While the current logic is correct, it can be made more concise and maintainable. By defining an isProduction constant, you can use a ternary operator to assign the transports. This constant can then be reused on line 23 for setting the log level, avoiding a duplicate environment check and improving readability.

  const isProduction = process.env.NODE_ENV === 'production';
  const transports: winston.transport[] = isProduction
    ? [new LoggingWinston()]
    : [
        new winston.transports.Console({
          format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
        }),
      ];

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
.github/ISSUE_TEMPLATE/02_bug_report.yml (1)

3-4: Consider also pre-labeling bug reports with “bug”

Adding the canonical “bug” label alongside “triage” improves filtering and keeps symmetry with the feature template (“enhancement” + “triage”).

Apply this minimal diff:

 labels:
   - triage
+  - bug
website/server/src/utils/logger.ts (3)

10-13: Production-only Cloud Logging: confirm intent and add a safe fallback

Routing prod logs exclusively to LoggingWinston eliminates duplicate logs, but if credentials/misconfiguration occur, logs may be dropped. Consider a defensive fallback to Console when instantiation fails, so you never lose production logs.

Proposed change (keeps your current behavior, adds fallback):

-  // In production, use only Cloud Logging to avoid duplicates
-  const loggingWinston = new LoggingWinston();
-  transports.push(loggingWinston);
+  // In production, prefer Cloud Logging; fall back to console to avoid losing logs
+  try {
+    const loggingWinston = new LoggingWinston();
+    transports.push(loggingWinston);
+  } catch {
+    transports.push(
+      new winston.transports.Console({
+        format: winston.format.combine(
+          winston.format.timestamp(),
+          winston.format.json()
+        ),
+      }),
+    );
+  }

Action to verify:

  • Deploy to a staging/prod-like env with NODE_ENV=production and confirm entries appear in Cloud Logging; temporarily break ADC to validate the Console fallback still surfaces logs.

7-7: Nit: avoid shadowing “winston.transports” with local “transports”

Renaming the local array reduces cognitive load when reading code that also references winston.transports.

-  const transports: winston.transport[] = [];
+  const loggerTransports: winston.transport[] = [];
@@
-    transports.push(loggingWinston);
+    loggerTransports.push(loggingWinston);
@@
-    transports.push(
+    loggerTransports.push(
       new winston.transports.Console({
         format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
       }),
     );
@@
-  return winston.createLogger({
+  return winston.createLogger({
     level: process.env.NODE_ENV === 'production' ? 'info' : 'debug',
-    transports,
+    transports: loggerTransports,
   });

15-19: Preserve error stack traces in dev console output

Including winston.format.errors({ stack: true }) ensures Error instances preserve stack in console logs without extra plumbing.

       new winston.transports.Console({
-        format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
+        format: winston.format.combine(
+          winston.format.errors({ stack: true }),
+          winston.format.timestamp(),
+          winston.format.json()
+        ),
       }),
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4d166b5 and a636018.

📒 Files selected for processing (3)
  • .github/ISSUE_TEMPLATE/01_feature_request.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/02_bug_report.yml (1 hunks)
  • website/server/src/utils/logger.ts (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test (macos-latest, 23.x)
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (1)
.github/ISSUE_TEMPLATE/01_feature_request.yml (1)

5-5: LGTM: “triage” label added to feature requests

The YAML list syntax is correct and will pre-apply both enhancement and triage labels.

If the repository doesn’t already have a “triage” label, GitHub will attempt to create it on first use (given permissions). Please confirm the label exists with the desired color/description.

Add triage label to both feature request and bug report templates to ensure all new issues are properly categorized for initial review and prioritization.
@yamadashy yamadashy merged commit 28f6d26 into main Aug 25, 2025
57 checks passed
@yamadashy yamadashy deleted the chore/triage branch August 25, 2025 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant