Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

🐛 Bug Report: a non-string header value crashes the whole browser service

オープン
#22 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
15/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bun, playwright, typescript
領域
api, backend

調査の方向性

Start with the header schemas and the page.route handlers in src/routes/screenshots.ts and the corresponding reports route. Check how non-string header values are validated and how route callback errors are handled; the report says the failure occurs at screenshots.ts:64. Done means malformed headers return a 400 response, the service stays up, and a regression test covers both endpoints and non-string values.

索引モデルが issue の本文から書いたものです。

説明

👟 Reproduction steps
  1. Start the service (docker compose up, or bun run src/server.ts).
  2. Send a header whose value is not a string:
    curl -X POST localhost:3000/v1/screenshots -H 'content-type: application/json' \
      -d '{"url":"https://example.com","headers":{"X-Retry":1}}'
    
  3. The request gets no response, and GET /v1/health now fails: the server process has exited.

Same for POST /v1/reports, and for true, null, arrays or objects as the value.

👍 Expected behavior

A 400 validation error, like any other malformed field; the service keeps running.

👎 Actual Behavior

The schemas accept any JSON value for headers (z.record(z.string(), z.any())), but Playwright's
route.continue() only takes string values. It throws inside the page.route handler, nothing catches
the rejection, and Bun exits:

error: continue: headers[6].value: expected string, got number
      at .../src/routes/screenshots.ts:64:24

Every other capture in flight fails with it.

🎲 Appwrite version

Different version (specify in environment)

💻 Operating system

MacOS

🧱 Your Environment

appwrite/docker-browser main @ 3856d53, run locally with Bun 1.3.2 (the Dockerfile's version) and Google Chrome on macOS arm64.

👀 Have you spent some time to check if this issue has been raised before?
  • I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?

I have a fix with a regression test ready. Could this be assigned to me so I can open a PR?

主要言語
TypeScript
スター
8
フォーク
2
平均マージ
3日 8時間
マージ済み PR(30日)
4

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

appwrite/docker-browser のほかの issue

appwrite/docker-browser の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。