Fix documentation accuracy across en/ru/zh and expand changelog#241
Merged
Conversation
Docs: - Correct the served /config sample in the configuration, health-checks, and internal-server docs: drop the scrubbed internal_addr and error_pages_dir keys and add async_max_fibers / async_in_flight_cap, matching what the endpoint actually returns. - Document INTERNAL_ALLOW_IPS (CIDR allow-list) and the port-only INTERNAL_ADDR loopback normalization; replace the stale "no built-in authentication or access control" claim in the internal-server security section with the allow-list plus the off-host startup warning. - Add the always-emitted oxphp_request_cancelled_total metric and the worker-supervisor metrics (request_age_seconds, long_running_total, stuck_total) to the metrics reference, and correct the async-pool per-metric emission gates. - Fix the decorator lifecycle docs: instances do not persist across requests — the per-worker cache is cleared each request, so the constructor runs once per request and property state does not carry over. - Correct the fiber-multiplexing note: oxphp_async_await_all suspends the fiber, so only await_race / await_any block inside a fiber. - Fix the $_SERVER docs: SERVER_PROTOCOL reflects the negotiated HTTP version rather than always HTTP/1.1, and SCRIPT_NAME / DOCUMENT_URI / PHP_SELF describe the resolved script path with CGI PATH_INFO semantics. - Correct oxphp_async argument rules (OxPHP\Shared\* instances may cross the thread boundary), the get_extension_funcs ordering, the Profile\mark signature default, the moveTo parameter name, and a stale server version example. - Fix the shared-state docs: the registry metric is oxphp_shared_operations_total, per-entry introspection is /__ox_shared/entry?id=<id>, pool eviction reasons are idle_timeout|evict|shutdown, Pool\Handle is not final, Map::setIfAbsent returns the previous value, Channel::recvMany takes (int $max, int $ms), and summary buckets expose only count/bytes/ops. - Add the AggregateAsyncException node to the async exception hierarchy, correct the span-event kinds and TRACE_CONTEXT wording in distributed tracing, stop quoting a non-existent TLS error string, and drop the spurious EXPOSE 9090 from the install example. - Apply every correction identically across the English, Russian, and Chinese docs. Changelog: - Add the async fiber composition feature (nested oxphp_async, ASYNC_MAX_FIBERS, in-flight cap, new async metrics, await-timeout cancellation) and the channel send-waiter wakeup fix to the Unreleased section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrects user-facing documentation that drifted from the code (largely post-0.8.0 churn around async fibers, the internal server, and the shared-state introspection surface), and expands the Unreleased changelog. Every correction was verified against the source and applied identically across the English, Russian, and Chinese docs.
Documentation fixes
Internal server / config
/configsamples in the configuration, health-checks, and internal-server docs dropped the scrubbedinternal_addr/error_pages_dirkeys and gainedasync_max_fibers/async_in_flight_cap, matching the real response.INTERNAL_ALLOW_IPS(CIDR allow-list) and the port-onlyINTERNAL_ADDRloopback normalization; replaced the stale "no built-in authentication or access control" claim with the allow-list plus the off-host startup warning.Metrics
oxphp_request_cancelled_totaland the worker-supervisor metrics (request_age_seconds,long_running_total,stuck_total); corrected the async-pool per-metric emission gates.PHP API / behavior
oxphp_async_await_allsuspends the fiber — onlyawait_race/await_anyblock.$_SERVER:SERVER_PROTOCOLreflects the negotiated HTTP version (not always HTTP/1.1);SCRIPT_NAME/DOCUMENT_URI/PHP_SELFdescribe the resolved script path with CGIPATH_INFOsemantics.oxphp_asyncacceptsOxPHP\Shared\*instances across the thread boundary; fixedget_extension_funcsordering, theProfile\markdefault, themoveToparameter name, and a stale version example.Shared state
oxphp_shared_operations_total; per-entry introspection is/__ox_shared/entry?id=<id>; pool eviction reasons areidle_timeout|evict|shutdown;Pool\Handleis not final;Map::setIfAbsentreturns the previous value;Channel::recvManytakes(int $max, int $ms); summary buckets expose onlycount/bytes/ops.Misc
AggregateAsyncExceptionto the async exception hierarchy; corrected span-event kinds andTRACE_CONTEXTwording; removed a non-existent TLS error string; dropped the spuriousEXPOSE 9090from the install example.Changelog
oxphp_async,ASYNC_MAX_FIBERS, in-flight cap, new async metrics, await-timeout cancellation) and the channel send-waiter wakeup fix to the Unreleased section.Notes