Documentation for directAccess states the default is false, but it has defaulted to true since Parse Server 6
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 初心者へのやさしさ
- 84/100
- issue の種類
- ドキュメント
- 明瞭さ
- 明確に書かれている
- 活発さ
- 静か
- 技術スタック
- javascript
調査の方向性
src/Options/index.js の directAccess JSDoc ブロックから始め、次に resources/buildConfigDefinitions.js がそれを src/Options/Definitions.js にコピーする仕組みを確認します。矛盾するデフォルトの記述を更新し、生成されたオプションドキュメントと parse-server --help がデフォルトは true であることを示していることを確認します。
索引モデルが issue の本文から書いたものです。
説明
New Issue Checklist
- Report security issues confidentially.
- Any contribution is under this license.
- Before posting search existing issues.
Issue Description
The documentation for directAccess states that the option defaults to false, but it has defaulted to true since Parse Server 6. The contradiction sits inside a single JSDoc block, where the prose and the :DEFAULT: annotation disagree:
// src/Options/index.js
/* Set to `true` if Parse requests within the same Node.js environment as Parse Server should be routed to Parse Server directly instead of via the HTTP interface. Default is `false`.
<br><br>
If set to `false` then Parse requests within the same Node.js environment as Parse Server are executed as HTTP requests sent to Parse Server via the `serverURL`. …
<br><br>
⚠️ In environments where multiple Parse Server instances run behind a load balancer and Parse requests within the current Node.js environment should be routed via the load balancer and distributed as HTTP requests among all instances via the `serverURL`, this should be set to `false`.
:DEFAULT: true */
directAccess: ?boolean;
The true default is deliberate. It was announced as deprecation DEPPS2 and applied in Parse Server 6 (#8269). Only the prose was left behind, and it propagates: resources/buildConfigDefinitions.js copies it into src/Options/Definitions.js, which is what parse-server --help and the generated options documentation render. So every operator reading the documentation is told the opposite of what the server does.
The stale sentence is worse than a plain typo because of the ⚠️ paragraph directly beneath it. Deployments running multiple instances behind a load balancer are told they "should set this to false", while the sentence above assures them false is already the default. Those operators are the ones the warning is aimed at, and the documentation tells them no action is required, when in fact they need an explicit override.
For completeness, what the option controls: with directAccess enabled, ParseServer installs ParseServerRESTController as the SDK's REST controller.
// src/ParseServer.ts
if (process.env.PARSE_SERVER_ENABLE_EXPERIMENTAL_DIRECT_ACCESS === '1' || directAccess) {
Parse.CoreManager.setRESTController(ParseServerRESTController(appId, appRouter));
}
That controller builds a request object and calls router.tryRouteRequest(method, path, request), so a Parse.Query in Cloud Code never traverses the Express stack and middleware mounted with app.use does not run for it. That is the intended design and the point of the feature. The issue is only that operators are told the mode is off by default, so they never get to weigh it.
Steps to reproduce
- Run
parse-server --helpand read thedirectAccessentry, or open the generated options documentation. - Start Parse Server without setting
directAccessand read the resolved value, for exampleConfig.get(appId).directAccess.
Actual Outcome
The documentation says the default is false. The resolved value is true.
Expected Outcome
The documentation matches the behavior. Since the true default is intentional per DEPPS2, the fix is to the text, not the default: drop the "Default is false." sentence and state that the default is true, so the ⚠️ load-balancer guidance reads as an action rather than a reassurance.
Happy to open a PR.
Environment
Server
- Parse Server version:
9.10.1-alpha.6 - Operating system:
macOS 15.5 - Local or remote host:
local
Database
- System (MongoDB or Postgres):
MongoDB - Database version:
8.0 - Local or remote host:
local
Client
- SDK (iOS, Android, JavaScript, PHP, Unity, etc):
not applicable, server configuration - SDK version:
not applicable
Logs
No error is produced. The documented default is simply wrong.
- 主要言語
- JavaScript
- スター
- 21.4k
- フォーク
- 4.8k
- 平均マージ
- 2日 12分
- マージ済み PR(30日)
- 47
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
parse-community/parse-server のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
parse-community/parse-server#10720 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
parse-community/parse-server#10710 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
parse-community/parse-server#10699 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
parse-community/parse-server#10634 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
/installations and /audiences reject a find sent as POST + _method=GET with "Invalid key name: 0"オープン
難易度 2/5 半日 初心者へのやさしさ 65/100
parse-community/parse-server#10626 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
parse-community/parse-server の issue をすべて見る
似ている issue
-
Mend: dependency security vulnerability untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
opensearch-project/security-dashboards-plugin#2543 ·
メンテナーはふだん 1 日以内に返信
-
[quality] refresh-radar-reports.yml runs on ubuntu-latest while every other job pins ubuntu-24.04オープンagent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
難易度 1/5 1〜3時間 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
godotengine/godot-website#1432 ·
-
Add: Mooz Retroオープンchannels:add check:passed
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 2 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信