Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

bug: dist/index.js is stale — calls deprecated Azure endpoint, breaking prompt/advanced modes entirely

Ouverte Adaptée aux débutants
#2 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
86/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
github-actions, javascript
Domaine
build-system, ci-cd

Piste de recherche

Commencez par action.yml pour confirmer que dist/index.js est le point d’entrée de l’exécution, puis comparez src/agent.js avec le dist/index.js généré et examinez build-dist.yml. Exécutez npm ci et npm run build, inspectez les modifications résultantes dans dist/ et vérifiez que l’artefact généré reflète le code source actuel avant de le committer.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Bug Report

Summary

dist/index.js — the actual file that runs when the action is invoked (per action.yml: main: dist/index.js) — is severely out of sync with the current src/ code. This makes prompt and advanced modes completely non-functional for every user of this action.


What the dist does (broken)
// dist/index.js — what actually runs
const response = await fetch("https://models.inference.ai.azure.com/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${token}`,
    "Content-Type": "application/json",
    // No Accept header
    // No X-GitHub-Api-Version header
    // No AbortController / timeout
  },
});

if (!response.ok) {
  core.setFailed(...); // crashes the entire action on any API error
}

// No null checks — throws if AI returns unexpected JSON shape
const resultObj = JSON.parse(data.choices[0].message.content);
What the src does (correct)
// src/agent.js — never built into dist
const response = await fetch("https://models.github.ai/inference/chat/completions", {
  headers: {
    "Authorization": `Bearer ${token}`,
    "Content-Type": "application/json",
    "Accept": "application/vnd.github+json",
    "X-GitHub-Api-Version": "2026-03-10",
  },
  signal: controller.signal, // 30s timeout via AbortController
});

if (!response.ok) {
  core.warning(...); // graceful degradation
  return [];
}
// full null-safety, JSON parse error handling, deduplication logic

Comparison Table
dist/index.js (what runs) src/agent.js (never built)
API endpoint models.inference.ai.azure.com (deprecated) models.github.ai/inference
Timeout None — hangs forever 30s AbortController
On API error core.setFailed — kills entire action core.warning + graceful []
JSON parse safety Crashes on bad AI response Try/catch with warning
Accept header Missing application/vnd.github+json
API version header Missing X-GitHub-Api-Version: 2026-03-10
Base issue merging/dedup Missing Full deduplication logic

Impact
  • prompt and advanced modes are 100% broken — the old Azure endpoint either rejects requests or returns responses in a format the old code cannot handle, causing the action to crash via setFailed.
  • preset mode still works because it does not touch the AI endpoint.
  • This affects every repository using this action in prompt or advanced mode.

Root Cause

The build-dist.yml workflow only rebuilds dist/ when a PR is merged to main. The current src/agent.js was updated with a new endpoint, timeout, better error handling, and deduplication logic — but a rebuild was never committed. The stale dist/index.js therefore still targets the old deprecated Azure endpoint.


Fix

Run npm run build and commit the result:

npm ci
npm run build
git add dist/
git commit -m "fix: rebuild dist with correct GitHub Models endpoint and error handling"
git push
Langage dominant
JavaScript
Étoiles
7
Forks
3
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.