Skip to content

Commit

Permalink
Merge pull request github#35542 from github/repo-sync
Browse files Browse the repository at this point in the history
Repo sync
  • Loading branch information
docs-bot authored Dec 4, 2024
2 parents 2b9be10 + 899d5e0 commit cb24f95
Show file tree
Hide file tree
Showing 13 changed files with 431 additions and 29 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
---
title: 'Analyzing and incorporating user feedback'
shortTitle: Incorporate feedback
intro: '{% data variables.product.prodname_copilot_chat_short %} can enhance the process of incorporating user feedback into your project.'
versions:
feature: copilot
category:
- 'Functionality analysis'
complexity:
- Intermediate
octicon: lightbulb
topics:
- Copilot
---

Gathering and incorporating user feedback is crucial for product development, but it can be a challenging process. Developers and product teams often struggle to effectively analyze user feedback, prioritize it, and implement changes based on that feedback without disrupting existing workflows or introducing new issues.

## Analyzing user feedback

User feedback can be overwhelming and it may be difficult to identify what you should respond to.

### Example scenario

Imagine you are a maintainer of a popular open source repository. Because the community is very invested in your project, they often open issues to provide feedback. They also frequently interact with open issues. You want to respond to this feedback, but you aren't sure where to start.

### Example prompt

This example assumes that you use labels to track issues related to user feedback in your repository.

Navigate to the **Issues** tab in your repository, then type:

`Find the issues with the feedback label that have the most reactions, and categorize them based on sentiment.`

>[!TIP] To try out this prompt, you can go to the [`microsoft/vscode`](https://github.com/microsoft/vscode/issues) repository, which uses labels to track feature requests, and type: `Find the issues with the feature-request label that have the most reactions, and categorize them based on sentiment.`
### Example response

{% data reusables.copilot.example-prompts.response-is-an-example %}

{% data variables.product.prodname_copilot_short %} lists the issues with the most reactions, and provides a sentiment analysis for each issue. You can use this list to make more informed decisions when you are prioritizing your work.

For example:

```text
1. [Feedback] CLI error messages are difficult to understand
* Issue URL: #321
* Reactions: 543
* Sentiment: Negative
1. [Feedback] Add API to enable third party integration
* Issue URL: #210
* Reactions: 482
* Sentiment: Positive
1. [Feedback] Shortcut for --with-token CLI option
* Issue URL: #426
* Reactions: 187
* Sentiment: Neutral to slightly positive
```

## Generating feature specifications

Feature specifications provide a plan for development and are useful for communication and alignment prior to implementing a new feature.

### Example scenario

In this scenario, you've chosen a piece of user feedback to address. Someone requested a shortcut to an existing CLI option. Now you want to create a plan for how you'll implement this.

### Example prompt

This example assumes you are asking about an issue in the same repository where you are using {% data variables.product.prodname_copilot_chat_short %}.

`Write a feature specification for Issue #426.`

### Example response

{% data reusables.copilot.example-prompts.response-is-an-example %}

{% data variables.product.prodname_copilot_short %} generates a feature specification, similar to the following.

```text
# Feature Specification for Issue #426: Shortcut for --with-token CLI option
## Description:
Currently, the --with-token option is used to to pass in a token to commands. Typing --with-token each time is cumbersome. This feature proposes a new flag -wt as a shortcut to quickly specify the --with-token option when running various commands.
## Problem:
Typing --with-token repeatedly is time-consuming and inconvenient for users who frequently use this option.
## Solution:
Introduce a new flag -wt that serves as a shortcut for the --with-token option.
## Feature Details:
### 1. Flag Introduction:
-wt will be introduced as a shorthand for --with-token.
Usage: <command> -wt <token>
### 2. Commands Affected:
All commands that currently support the --with-token option.
### 3. Backward Compatibility:
- The existing --with-token option will continue to work as before.
- No existing functionality will be removed or altered.
### 4. Documentation:
- Update documentation to include the new -wt flag.
- Provide examples and usage scenarios for the new flag.
### 5. Testing:
- Ensure thorough testing of the -wt flag across various commands.
- Test cases should include:
- Valid and invalid tokens.
- Interaction with other options.
- Ensuring no regression in current --with-token functionality.
## Benefits:
- Improved user experience by reducing the amount of typing required.
- Streamlined command execution for users who frequently use the --with-token option.
## Potential Risks:
Minimal risk as this feature is an addition and does not alter existing functionality.
```

## Further reading

{% data reusables.copilot.example-prompts.further-reading-items %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
title: Exploring potential feature implementations
shortTitle: Explore feature implementations
intro: >-
{% data variables.product.prodname_copilot_chat_short %} can help explore
different approaches for implementing a single feature.
versions:
feature: copilot
category:
- 'Functionality analysis'
complexity:
- Intermediate
octicon: lightbulb
topics:
- Copilot
---

When tasked with implementing new features or enhancing existing ones, developers often face decisions about the best approach to take. {% data variables.product.prodname_copilot_chat_short %} can assist by analyzing the problem and generating implementation options so that you can explore multiple solutions.

## Example scenario

You're assigned the task of creating a new feature that displays the most recently viewed items on a user dashboard. Below is an example issue for implementing this functionality:

```text
[Feature Request] Add "Recent Items" section to user dashboard #753
## Issue Description
Users have requested a "Recent Items" section on their dashboard to quickly access the most recently viewed documents, projects, or files. This section should display the ten most recent items, sorted by the last access time.
## Requirements
* Display up to ten items that the user has accessed recently.
* Items must be sorted by the time they were last accessed.
* The solution should minimize database load.
* Data should reflect updates in near real-time.
* The solution should prioritize performance, especially for large datasets of items.
## Acceptance Criteria
* Dashboard loads the "Recent Items" section within 200ms under normal load.
* The solution must not degrade performance for users with thousands of items.
```

## Example prompt

You want to evaluate different approaches to this implementation to see whether they fit with your needs and constraints. Here we'll ask {% data variables.product.prodname_copilot_chat_short %} to suggest different approaches.

Navigate to the issue, then type:

`Given the criteria in Issue #753, list options for implementation and tradeoffs for each option.`

>[!TIP] When you are using {% data variables.product.prodname_copilot_short %} to help identify implementation options, it's good practice to start with a general prompt to spark ideas, like in this example. Then you can follow up with more specific questions to dive more deeply into the options it suggests.
## Example response

{% data reusables.copilot.example-prompts.response-is-an-example %}

{% data variables.product.prodname_copilot_short %} lists several different options for implementing this dashboard, along with tradeoffs for each option. Then it makes a recommendation.

For example:

```text
# Implementation Options and Tradeoffs for "Recent Items" Section
## 1. Client-Side Storage
- Description: Store recent items data in the user's browser using LocalStorage or IndexedDB.
- Tradeoffs:
- Pros:
- Reduces server load by handling data storage and retrieval on the client side.
- Immediate updates and access without server communication.
- Cons:
- Limited by browser storage capacity.
- Data lost if the user clears browser storage or switches devices.
- Security concerns with storing sensitive data on the client side.
## 2. Server-Side Storage with Database Indexing
- Description: Store recent items in the database and use indexing to quickly retrieve the most recent items.
- Tradeoffs:
- Pros:
- Centralized data storage, accessible from any device.
- Scalable and can handle large datasets efficiently with proper indexing.
- Cons:
- Increased database load, especially for frequent access updates.
- Potential latency in updating the recent items list.
## 3. In-Memory Caching (e.g., Redis)
- Description: Use an in-memory data store like Redis to cache recent items for fast retrieval.
- Tradeoffs:
- Pros:
- Extremely fast data access and updates.
- Reduces database load by offloading frequent read operations.
- Cons:
- Requires additional infrastructure and maintenance.
- Data may be lost if the cache is cleared or server restarts.
## 4. Hybrid Approach
- Description: Combine server-side storage with in-memory caching to balance performance and persistence.
- Tradeoffs:
- Pros:
- Fast access through caching, with persistent storage in the database.
- Can handle large datasets and frequent updates efficiently.
- Cons:
- Increased complexity in implementation and maintenance.
- Potential consistency issues between cache and database.
## 5. Event-Driven Updates
- Description: Use event-driven architecture to update recent items in real-time as users access documents.
- Tradeoffs:
- Pros:
- Near real-time updates with minimal delay.
- Efficient handling of updates through events rather than periodic polling.
- Cons:
- Requires setting up event handling infrastructure (e.g., message queues).
- Increased complexity in managing events and ensuring consistency.
## Recommendation
The hybrid approach (option 4) is a balanced solution, offering fast access through caching and persistence through database storage. It meets performance requirements and scales well with a large dataset, although it involves a more complex implementation.
```

## Further reading

{% data reusables.copilot.example-prompts.further-reading-items %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: Functionality analysis and feature suggestions
intro: 'Discover ways that you can use {% data variables.product.prodname_copilot %} to improve the functionality of your project.'
versions:
feature: copilot
topics:
- Copilot
children:
- /exploring-potential-feature-implementations
- /analyzing-and-incorporating-user-feedback
---
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ topics:
layout: category-landing
children:
- /debugging-errors
- /functionality-analysis-and-feature-suggestions
- /refactoring-code
- /documenting-code
- /testing-code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,3 @@ For more information, see "[AUTOTITLE](/issues/planning-and-tracking-with-projec
## Further reading

* "[AUTOTITLE](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)"
* "[AUTOTITLE](/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization)"
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ type: how_to

Issues and pull requests come with a set of default filters you can apply to organize your listings.

{% data reusables.search.requested_reviews_search %}

You can filter issues and pull requests to find:
* All open issues and pull requests
* Issues and pull requests that you've created
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ intro: 'Organization owners can change several settings, including the names of
redirect_from:
- /articles/managing-organization-settings
- /github/setting-up-and-managing-organizations-and-teams/managing-organization-settings
- /organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization
versions:
fpt: '*'
ghes: '*'
Expand Down Expand Up @@ -47,7 +48,6 @@ children:
- /integrating-jira-with-your-organization-project-board
- /upgrading-to-the-github-customer-agreement
- /disabling-project-boards-in-your-organization
- /disabling-insights-for-projects-in-your-organization
- /managing-base-permissions-for-projects
- /allowing-project-visibility-changes-in-your-organization
- /creating-rulesets-for-repositories-in-your-organization
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The new repository will no longer automatically sync with changes from the origi

> [!NOTE]
> * The new repository will not retain any of its issues, pull requests, wikis, stars, watchers, comments, child forks, or other metadata that may currently be associated with your current fork.
> * All commit metadata will be preserved. Commits may become eligible to be counted as contributions, if they meet certain criteria. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)."
> * All git commit metadata will be preserved. Commits may become eligible to be counted as contributions if they meet certain criteria. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)."
{% ifversion ghes %}

Expand Down
45 changes: 45 additions & 0 deletions data/release-notes/enterprise-server/3-11/18.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
date: '2024-12-03'
sections:
security_fixes:
- |
Packages have been updated to the latest security versions.
bugs:
- |
Creating a new comment on a pull request could incorrectly emit a `pull_request_review_comment.edited` webhook event.
- |
In some cases, ambiguous commit OIDs within a repository caused errors when selecting commits to view in a pull request.
known_issues:
- |
Custom firewall rules are removed during the upgrade process.
- |
During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start.
- |
If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see "[AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account)."
- |
The `mbind: Operation not permitted` error in the `/var/log/mysql/mysql.err` file can be ignored. MySQL 8 does not gracefully handle when the `CAP_SYS_NICE` capability isn't required, and outputs an error instead of a warning.
- |
{% data reusables.release-notes.2023-11-aws-system-time %}
- |
On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1.
- |
{% data reusables.release-notes.2023-10-git-push-made-but-not-registered %}
- |
{% data reusables.release-notes.large-adoc-files-issue %}
- |
{% data reusables.release-notes.2024-01-haproxy-upgrade-causing-increased-errors %}
- |
Repositories originally imported using ghe-migrator will not correctly track Advanced Security contributions.
- |
The `reply.[hostname]` subdomain is falsely always displaying as having no ssl and dns record, when testing the domain settings via management console **without subdomain isolation**. When regenerating the certificates with management console, the `subdomain reply.[hostname]` is missing from the ssl certification.
- |
Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised.
- |
{% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %}
- |
When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed.
- |
Services may respond with a `503` status due to an out of date `haproxy` configuration. This can usually be resolved with a `ghe-config-apply` run.
- |
Attempting to stop replications after stopping GitHub Actions on a GitHub Enterprise Server instance would fail, reporting that MSSQL was not responding. The can be avoided by start MSSQL prior to stopping replication `/usr/local/share/enterprise/ghe-nomad-jobs queue /etc/nomad-jobs/mssql/mssql.hcl`
- |
Some customers upgrading from 3.11.x or 3.12.x may experience a bug with the feature "Automatic update checks", filling the root disk with logs causing a system degradation. To prevent this, you can turn off the feature "[Enable automatic update check](/admin/upgrading-your-instance/preparing-to-upgrade/enabling-automatic-update-checks#enabling-automatic-update-checks)" in the management console.
Loading

0 comments on commit cb24f95

Please sign in to comment.