Skip to content

fix: oauth/revoke is not mirrored under /api/v3/ - #2692

Merged
Nayor merged 1 commit into
mainfrom
fix/strava-revoke-endpoint-url
Sep 17, 2026
Merged

Nayor merged 1 commit into
mainfrom
fix/strava-revoke-endpoint-url

Conversation

@Nayor

@Nayor Nayor commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Contexte

Confirmé en prod : chaque appel de déconnexion Strava échoue avec un 404 depuis la migration oauth/deauthorize → oauth/revoke (#2689) :

```
"message":"Request failed with status code 404" ... url:"https://www.strava.com/api/v3/oauth/revoke"
"message":"Record Not Found","errors":[{"resource":"resource","field":"path","code":"invalid"}]
```

Contrairement à oauth/token, l'endpoint oauth/revoke de Strava n'existe qu'à https://www.strava.com/oauth/revoke, pas sous /api/v3/. Le serveur Strava répondait par un 404 de type REST ("Record Not Found") plutôt qu'une erreur d'auth, ce qui explique que les tests unitaires existants (qui mockent axios entièrement) ne l'aient pas attrapé — une URL syntaxiquement correcte mais fausse "passait" quand même le mock.

Test plan

  • Tests unitaires Strava mis à jour et passants (57/57)
  • tsc --noEmit et lint propres

Confirmed live in prod: every Strava deauthorize call has been
404ing since the oauth/deauthorize -> oauth/revoke migration
(#2689), because unlike oauth/token, Strava's oauth/revoke endpoint
only exists at https://www.strava.com/oauth/revoke, not under
/api/v3/. Strava's server was responding with a REST-style 404
("Record Not Found", field: path) instead of an auth error, which
is why it wasn't caught by the earlier unit tests (they mock axios
entirely, so a wrong-but-well-formed URL string still "worked").

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 8a704837-f6eb-42dc-a505-b0f24df9a3a7


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

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

@github-actions github-actions Bot added the bug Something isn't working label Sep 17, 2026
@codacy-production

codacy-production Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

🟢 Coverage 100.00% diff coverage · +0.00% coverage variation

Metric Results
Coverage variation ✅ +0.00% coverage variation (-3.00%)
Diff coverage ✅ 100.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (f312b61) 2214 2037 92.01%
Head commit (bc432f8) 2215 (+1) 2038 (+1) 92.01% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#2692) 2 2 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@Nayor Nayor self-assigned this Sep 17, 2026
@Nayor
Nayor merged commit 8a1634e into main Sep 17, 2026
8 of 9 checks passed
@Nayor
Nayor deleted the fix/strava-revoke-endpoint-url branch September 17, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant