Legacy SSE GET ignores resolveAuthorizationContext expiresAt
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 73/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
Research direction
The issue identifies the legacy SSE GET deadline calculation and its use of request.tokenPayload?.exp, but names no files or tests. Start by locating that handler and the built-in token path that reads exp, then inspect nearby tests for stream expiry and authorization responses. Done means the stream closes when the resolved expiresAt passes and an already expired context receives 401.
Written by the indexing model from the issue text.
Description
Summary
With resolveAuthorizationContext, the legacy SSE GET stream does not end when the resolved expiresAt passes. A context that has already expired is still served with 200.
Cause
The legacy GET works out its deadline from request.tokenPayload?.exp only. It never reads the resolved authorization context.
Repro
- A resolver returns an
expiresAt300ms in the future. The legacy GET stream is still open after 1s. - A resolver returns an
expiresAtthat has already passed. The legacy GET still answers 200.
Suggested fix
Take the deadline from the resolved context's expiresAt, as the built-in token path does with exp. Answer an already-expired context with 401.
🤖 Generated with Claude Code
- Dominant language
- TypeScript
- Stars
- 58
- Forks
- 15
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 53
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from platformatic/mcp
-
README: the Resource URI Schemas example's file://documents/* pattern only matches that literal URIOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
platformatic/mcp#361 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
platformatic/mcp#360 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
platformatic/mcp#359 ·
Maintainers usually reply within 1 day
-
Legacy POST accepts messages that are not JSON-RPC 2.0Possibly taken @mcollina claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
platformatic/mcp#344 ·
Maintainers usually reply within 1 day
-
Legacy SSE GET drops headers set by hooks (CORS, security headers)Possibly taken @mcollina claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
platformatic/mcp#335 ·
Maintainers usually reply within 1 day
All issues in platformatic/mcp
Similar issues
-
Add: Pbs KidsOpencheck:passed streams:add
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 2 days
-
maintanance
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
inmanta/web-console#7583 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
deltachat/deltachat-desktop#6881 · 1 comment ·
Maintainers usually reply within 3 days
-
[Bug Report][3.13.7] VDataTable with select-strategy="single" shows select-all checkbox in mobile modePossibly taken @lazerg claimed this today. OpenS: triage
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
phivk/rubiks-lab#33 ·
Maintainers usually reply within 1 day