Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Hey there and thank you for opening this pull request! 👋🏼 We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Details: |
Contributor
Benchmark reportBundle size
|
commit: |
…, observers, shared, scenarios)
- ::prompt copy-blocks (copy/cursor/windsurf actions) on 11 of 12 pages so users can paste an actionable instruction set into Cursor / Windsurf to wire the feature in their own app - Reuse existing MDC animation components where they fit naturally: - lifecycle-flow on plugins - enricher-chain on custom-enrichers - tail-sample-decision on tail-sampling - drain-pipeline-batching on drain-pipeline - drain-fan-out on fanout-and-multi-drain - Skip identity-headers (no actionable user-facing setup, headers are automatic)
Fix factual errors that misled readers because the doc had drifted from the
runtime, plus a round of cleanup from a full review of the consolidated PR.
Doc API alignment:
- 1.stream.md: events() takes no options (use recent() to seed history),
default buffer is 500 (not 100), drop nonexistent onDrop / replay()
members, auth uses Authorization: Bearer (not ?token=), hello payload is
{ evlogVersion, bufferSize, heartbeatMs }, heartbeat default 15s, SSE on
root path (not /sse), filter option documented
- 4.pipeline-extension.md: import definePlugin from 'evlog' instead of a
fictional 'evlog/toolkit' getGlobalPluginRunner().add() pattern; show the
actual registration shapes per framework (initLogger plugins, middleware
options, Nitro hooks); fix defineEnricher signature ({ name, field?, compute })
and drop inline EvlogPlugin interface that drifted from source
- 5.sinks.md: createDrainPipeline takes one drain (fanout pattern is a
Promise.allSettled wrapper inside it), maxBufferSize (not bufferSize),
flush()/pending only (no dispose), rewrite onlyErrors to a clean
(batch: DrainContext[]) helper
- 6.framework-integration.md: runEnrich/runEnrichAndDrain (not runEnrichers)
- 2.fs-reader.md: actual extension is .jsonl (NDJSON content)
Animations:
- NdjsonTail: surface file1Visible (was unused) and reflect actual .jsonl
extension in the rendered file paths
- StreamBus, SseWire, NdjsonTail: replace magic timing offsets with named
constants (FIRST_EMIT_DELAY_MS, EMIT_TO_BUS_MS, etc.)
Cleanup:
- Dedup serverless callout (overview links to stream page) and SSE
discovery section (consumer-recipes links to stream page)
- Polish overview intro
- Playground stream.vue: link to consumer-recipes docs from the test surface
- Reformulate changeset opt-in note (server is always explicit, only the
framework integrations gate behind stream:true)
- AGENTS.md: document the two animation families (roomy vs dense), the no
viewport-shift rule, and final size target
Tests:
- Extract shared makeEvent / makeContext into test/helpers/events.ts
- Replace setTimeout(30) race in stream-server forward test with an event-
driven barrier on the hello frame (new openSSE helper that exposes
helloReceived and collectFor)
Local-only follow-up notes parked under .notes/ (gitignored).
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.
Adds a local Server-Sent Events server that exposes the in-process evlog stream over HTTP. Strict opt-in — set
evlog: { stream: true }on Nuxt ordefineStreamedInstrumentation({ stream: true })on Next.js. The mini-server runs on127.0.0.1on its own ephemeral port, prints the URL at startup, and writes it to.evlog/stream.urlso external tools can discover it.Local development and self-hosted only — does not work on serverless platforms.
Also restructures
apps/docs/content/5.build-on-top/around five axes (Sources / Pipeline / Sinks / Observers / Shared) plus four scenarios (local debug toolkit, tenant-aware logging, compliance audit, cross-app error vocab).Doc: https://evlog.dev/build-on-top/overview