Skip to content

Commit 49aa482

Browse files
authored
Merge pull request #43658 from github/repo-sync
Repo sync
2 parents 679e855 + 31fa9b7 commit 49aa482

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

.github/instructions/code.instructions.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,33 @@ Run the following commands to validate your changes:
9494
8. Validate that any new or changed tests pass. See "Tests".
9595
9. Validate that these changes meet our guidelines. See "Guidelines".
9696
10. If you are running in agentic mode, _stop_ at this point and request review before continuing. Suggest how the human should review the changes.
97-
11. If a branch and pull request already exist, commit and push, then _concisely_ comment on the pull request that you are GitHub Copilot and what changes you made and why.
97+
11. If a branch and pull request already exist, commit and push, then _concisely_ comment on the pull request that you are GitHub Copilot and what changes you made and why.
9898
12. If this is new work and no pull request exists yet, make a pull request:
9999
- label "llm-generated"
100100
- draft mode
101101
- include "fixes owner/repo#issue" or "towards owner/repo#issue" as appropriate
102102
13. If you are in agentic mode, offer to wait for CI to run and check that it passes. If the human agrees, verify in CI: `sleep 240 && gh pr checks $number`. Address all failures, don't assume they're flakes.
103103
14. If you are in agentic mode, offer to do any or all of:
104104
- mark the pull request as ready,
105-
- assign the issue to the human if it is not already assigned,
105+
- assign the issue to the human if it is not already assigned,
106106
- _concisely_ comment on the issue explaining the change, indicating you are GitHub Copilot.
107+
108+
## Logger
109+
110+
Use `createLogger` from `@/observability/logger` instead of `console.log` in server-side code.
111+
112+
```typescript
113+
import { createLogger } from "@/observability/logger";
114+
115+
const logger = createLogger(import.meta.url);
116+
117+
logger.debug("Detailed tracing");
118+
logger.info("Normal event", { userId });
119+
logger.warn("Recoverable issue");
120+
logger.error("Failure", { error });
121+
```
122+
123+
- Pass a plain object as the second argument to add structured context (emitted as logfmt in production).
124+
- Never log secrets, tokens, or PII.
125+
- Create loggers once at module scope, not inside functions.
126+
- Do not use the logger in scripts (locally-run code); `console.log` is fine there.

content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ If you have legacy CAs that are exempt from the expiration requirement, you can
7777
If you use a username as the login extension, {% data variables.product.company_short %} validates that the named user has not been renamed since the certificate was issued. This prevents a rename attack, where a certificate issued for a username is valid even if the underlying user account changes. To enforce this, the certificate must include the `valid_after` claim, which tells us when the certificate was issued. This field is often missing if an expiration is not required for the certificate, which is why expirations are now required.
7878
{% endif %}
7979

80-
To issue a certificate for someone who uses SSH to access multiple {% data variables.product.company_short %} products, you can include two login extensions to specify the username for each product. For example, the following command would issue a certificate for USERNAME-1 for the user's account for {% data variables.product.prodname_ghe_cloud %}, and USERNAME-2 for the user's account on {% data variables.product.prodname_ghe_server %} at HOSTNAME.
80+
To issue a certificate for someone who uses SSH to access multiple {% data variables.product.company_short %} products, you can include two login extensions to specify the username for each product. For example, the following command would issue a certificate for USERNAME-1 for the user's account for {% data variables.product.prodname_ghe_cloud %}, and USERNAME-2 for the user's account on {% data variables.product.prodname_ghe_server %} or {% data variables.enterprise.data_residency %} at HOSTNAME.
8181

8282
```shell
8383
ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@github.com=USERNAME-1 extension:login@HOSTNAME=USERNAME-2 ./user-key.pub

src/search/lib/ai-search-proxy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { handleExternalSearchAnalytics } from '@/search/lib/helpers/external-sea
99
// Maximum time (ms) to wait for the initial response from the upstream
1010
// AI search service. Streaming may take longer once the connection is
1111
// established, but the connect + first-byte must complete within this window.
12-
const AI_SEARCH_TIMEOUT_MS = 4_000
12+
const AI_SEARCH_TIMEOUT_MS = 9_000
1313

1414
export const aiSearchProxy = async (req: ExtendedRequest, res: Response) => {
1515
const { query, version } = req.body ?? {}

0 commit comments

Comments
 (0)