feat(aspire): enable browser-logs devtools integration by default + streams HTTP/2 caveat (#218)#231
Merged
Merged
Conversation
🤖 Augment PR SummarySummary: Enables Aspire browser console log forwarding for generated TypeScript AppHosts by default and documents a local HTTP/1.1 concurrency caveat for SSE streams. Changes:
Technical Notes: The browser logs integration is pinned to 🤖 Was this summary useful? React with 👍 or 👎 |
rickylabs
added a commit
that referenced
this pull request
Jul 2, 2026
…eature sweep (#233) Storefront tutorial D-01…D-05 conformance to the shipped #206–#231 surface, plus accuracy reconciliation on the fresh-ui/web-layer pages the sweep touched. D-01 (01-scaffold): Aspire dashboard URL is https; fileTree includes database/ and tests/. D-02 (02-catalog-service): real #208 CRUD surface — createCrudContract + @database/zod + context.db; errors thrown via the contract's typed errors.NOT_FOUND (no hand-rolled notFound import); router nests health under products (no invented health-router import). D-03 (03-cart-contracts): register in mod.ts, PascalCase CartContractV1, import from @my-shop/contracts and the ./versions/v1 subpath. Reconciled 02's products.contract.ts exports to the same PascalCase convention (ProductsContract/ProductsContractV1) so ch2↔ch3 imports agree. D-04 (04/05): public `netscript plugin install saga|trigger --name … --samples`. Feature recon to the sweep: DataTable→DataGrid (#209/#225), Icon primitive (#211/#224) and DataGrid in fresh-ui root exports, Dropzone/prompt-input mentions (#214/#229, #212/#226), managed <Form> class + <form> attrs (#213/#228), useIslandMutation onMutate/onSettled (#210/#227). Docs-only. build + check:links + check:caveats green. Refs #153. Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
rickylabs
added a commit
that referenced
this pull request
Jul 3, 2026
…rences, HTTP/2 opt-in, browser logs (#296) * docs(aspire): document AppHost restart/regen model, pluginReferences/dependsOn, HTTP/2 opt-in, browser logs Covers the #264 TypeScript AppHost DX gaps against shipped reality on main: - Customizing-the-generated-AppHost section + restart/regen semantics table (#264-1) - hand-edit-vs-regen escape-hatch callout (#264-2) - native-driver --allow-ffi permission note (#264-3) - reference-fields table now documents Services carrying pluginReferences + dependsOn (#264-4, #220) - HTTP/2 opt-in via ServiceTlsOptions/ServeOptions.tls + NETSCRIPT_TLS_* env, with plaintext HTTP/1.1-is-default callout (#234) - browser-logs-by-default + local-vs-deployed telemetry callout (#218/#231) - ephemeral-ports (:0) sample fix; Footguns rule-list -> good/bad patterns - next-steps cross-ref blocks on orchestration-runtime + observability hubs Docs-only. deno task verify: build + check:links pass; check:caveats passes from worktree root. Refs #232 Fixes #264 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN * chore(openhands): record run trace 28624920092-1 * docs(voice): 'genuinely small' -> 'deliberately small' in aspire explainer Voice-rubric flatten (V1); folded here to keep aspire.md in a single PR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: OpenHands Bot <openhands@all-hands.dev>
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.
Summary
Enables Aspire browser logs for generated TypeScript AppHosts by default so generated Fresh/Vite app resources can forward browser console output into the Aspire dashboard. Also documents the local HTTP/1.1 concurrent-connection caveat for durable-stream HTTP/SSE consumers.
This intentionally builds on the merged #222 AppHost generator state:
generate-aspire-config.tsand the register helpers keep the isolated-port OTLP exporter behavior, includingwithOtlpExporter({ protocol: OtlpProtocol.HttpProtobuf })and theOtlpProtocolimport.Scope
Aspire.Hosting.Browsersto generated TypeScript AppHostaspire.config.json.withBrowserLogs()for generatedType: 'app'resources after HTTP endpoint binding.Slices
3dfbbb5d3dfbbb5dValidation
aspire docs get browser-logs— confirmed TypeScript API.withBrowserLogs()and packageAspire.Hosting.Browsers.aspire integration search browsers --format Json— confirmedAspire.Hosting.Browsersversion13.4.6-preview.1.26319.6.FAIL_PLANfor gate specificity; updated plan; rerunPASS.deno test --allow-all packages/cli/src/kernel/templates/aspire/helpers/tests/— PASS, 13 passed / 123 steps.deno test --allow-all packages/cli/src/kernel/templates/aspire/generate-aspire-config_test.ts packages/cli/src/kernel/templates/aspire/helpers/tests/generators-background-app_test.ts— PASS.deno run --allow-read --allow-run .llm/tools/run-deno-check.ts --root packages/cli/src/kernel/templates/aspire --ext ts,tsx— PASS.rtk proxy deno task check— PASS, 1885 files / 16 batches.deno lint --no-config <5 touched CLI files>— PASS. Repo config-backed lint/fmt target selection excludespackages/cli; recorded in run drift.deno task check:assets-barrel— PASS.deno run -A packages/cli/bin/netscript-dev.ts init browser-logs-smoke --path .llm/tmp/run/aspire-browser-logs-default--218/scaffold --db none --ci --yes --no-git --force— PASS.aspire restorethendeno check --unstable-kv --sloppy-imports apphost.mts .helpers/register-apps.mts— PASS.npx tsc --noEmit --project tsconfig.apphost.json— PASS.docs/site,deno task build && deno task check:links && deno task check:caveats— PASS.Harness
.llm/tmp/run/aspire-browser-logs-default--218/Drift / Debt
packages/cliand docs Markdown; no source debt introduced.Closes #218