Skip to content

docs: add Angular chat app tutorials for AG-UI and LangGraph - #814

Merged
blove merged 2 commits into
mainfrom
blove/angular-chat-blog-posts-850dc4
Aug 14, 2026
Merged

docs: add Angular chat app tutorials for AG-UI and LangGraph#814
blove merged 2 commits into
mainfrom
blove/angular-chat-blog-posts-850dc4

Conversation

@blove

@blove blove commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Two net-new tutorials that build a chat app rather than a chat surface, differentiated by what each protocol actually offers.

Post Spine
Angular Chat App Tutorial with LangChain and LangGraph Multi-thread app: conversation sidebar backed by the server thread API, server-written titles, URL-as-source-of-truth routing
Angular Chat App Tutorial with AG-UI Browser-owned client tools (action / view / ask) rendering real Angular components inline, plus agent-shared state

They sit alongside the May posts rather than replacing them, and cross-link instead of re-explaining the protocol event model. Each names the other's strength: server-backed thread history is a LangGraph capability (AG-UI defines no thread-lookup endpoint), and protocol portability is AG-UI's.

Both are draft: false, featured: false — live on merge, without taking the featured slot from the Strands post.

Verified, not just written

Every snippet came from code that ran. Both backends (langgraph dev with a real graph; FastAPI + ag-ui-langgraph) and both Angular apps were scaffolded from ng new against the published @threadplane/*@0.0.57 packages and driven in a browser with a live OPENAI_API_KEY.

Confirmed end-to-end: thread restore, URL stamping, reload survival, server-generated titles, add_link mutating a browser signal store, a view card mounting inline, and an ask card resolving and freezing the transcript.

Three findings surfaced only by running it, and all three fed #813 (already merged): <chat-sidenav> has no default slot, client-tool results carry no tool name, and ng new's default 1 MB budget fails the build first.

One recommendation was cut after testing disproved it: a "just refresh twice" fix for the thread-title lag. A 1.5s delay, a 4s delay, and a 5×1.5s poll all lost the race against langgraph dev. That section now reports what was measured and recommends owning the label optimistically instead — no unverified fix ships in the post.

Checks

  • Both posts compile through the site's own remark/rehype pipeline
  • apps/website blog spec passes (12/12)
  • All internal /blog/* and /docs/* links resolve to real slugs and files

Also includes the design spec under docs/superpowers/specs/.

🤖 Generated with Claude Code

blove and others added 2 commits August 13, 2026 21:00
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two net-new tutorials that build a chat app rather than a chat surface,
differentiated by what each protocol actually offers:

- LangGraph: multi-thread app with a conversation sidebar backed by the
  server thread API, server-written titles, and URL-as-source-of-truth
  thread routing.
- AG-UI: browser-owned client tools (action/view/ask) rendering real
  Angular components inline, plus agent-shared state.

Both were scaffolded, built, and driven end-to-end against live backends
before writing; the code in each post is the code that ran.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview Aug 14, 2026 4:04am

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit 77cb0ef into main Aug 14, 2026
28 checks passed
blove added a commit that referenced this pull request Aug 14, 2026
Pushes to main do not cancel in-progress runs (cancel-in-progress is
true only for pull_request), so runs serialize and a slower older run
can reach its deploy job long after a newer commit has already shipped.
It then rebuilds --prod from its own older checkout and promotes it,
silently overwriting production.

Observed 2026-08-14: the CI run for #813 promoted at 04:37, replacing
the deployment that had published two blog posts from #814 at 04:13.
Both posts 404'd until the next merge happened to redeploy them. Nothing
failed; CI was green the whole time.

Add a freshness check to each job that promotes: resolve the current tip
of main and skip promotion when it no longer matches github.sha, logging
a warning so the skip is visible. Setup and change-detection steps still
run; only the production-touching steps are gated.

Covers all five promotions — website, cockpit, Angular examples, the
canonical demo, and the ag-ui demo. The last of those was found by the
new spec assertion, not by reading the file.

Notes on the implementation:
- Uses `git ls-remote`, not `git fetch --depth=1`: a shallow fetch would
  mark the deploy job's full clone shallow and break the --affected
  history checks that run right after it.
- Fails loudly when the tip cannot be resolved, rather than treating an
  empty result as "stale" and silently skipping every deploy.
- Gates the demo build-stamp verification too, since it asserts the
  deployed SHA equals this run's SHA.

This narrows the race to the build window rather than closing it
entirely; a commit landing mid-build can still be overtaken. Fixing that
completely means either serializing promotions or having Vercel resolve
the alias, which is a larger change.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@blove
blove deleted the blove/angular-chat-blog-posts-850dc4 branch August 14, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant