Skip to content

fix(chat): clear overlay-directive lint errors + regenerate api docs#742

Merged
blove merged 1 commit into
mainfrom
blove/chat-overlay-lint-apidocs
Jun 27, 2026
Merged

fix(chat): clear overlay-directive lint errors + regenerate api docs#742
blove merged 1 commit into
mainfrom
blove/chat-overlay-lint-apidocs

Conversation

@blove

@blove blove commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #737: the post-merge main CI went red on two jobs. Both fixed here.

  • Library lintconnected-overlay.directive.ts tripped @angular-eslint/no-input-rename / no-output-rename for the chatOverlay* binding aliases. Those aliases are the intended public API (namespacing the directive's inputs/outputs, mirroring CDK's cdkConnectedOverlay* convention), so this adds a justified file-level eslint-disable for the two rules. nx lint chat → 0 errors.
  • Website "Verify generated API docs are committed" — regenerated chat/api/api-docs.json for the four new public exports (ChatConnectedOverlay/ChatOverlayOrigin directives + ConnectedPosition/OverlayPositionResult types).

Functional behavior is unchanged; #737's e2e (ag-ui 28, chat 42) and Vercel production deploy were already green.

🤖 Generated with Claude Code

Post-merge main CI fixes for the connected-overlay primitive (#737):
- connected-overlay.directive.ts tripped @angular-eslint/no-input-rename /
  no-output-rename (errors in this repo) for the chatOverlay* binding aliases.
  Those aliases ARE the intended public API (namespacing under chatOverlay*,
  mirroring CDK's cdkConnectedOverlay* convention), so add a justified
  file-level eslint-disable for the two rules.
- Regenerate chat api-docs.json for the new public exports
  (ChatConnectedOverlay/ChatOverlayOrigin directives + ConnectedPosition/
  OverlayPositionResult types), which the "Verify generated API docs are
  committed" CI step requires.

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

vercel Bot commented Jun 27, 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, Comment Jun 27, 2026 11:40pm

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 Jun 27, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 1m 38s —— View job


PR Review

  • Read CLAUDE.md and gather context
  • Analyze PR diff
  • Review changed files
  • Post findings

Verdict: looks good. Both CI fixes are correct and minimal. One doc quality note worth tracking as a follow-up.

connected-overlay.directive.ts — ESLint disable

The file-level /* eslint-disable @angular-eslint/no-input-rename, @angular-eslint/no-output-rename */ is justified. Every input.required/input/output call in this file intentionally uses a chatOverlay* alias to namespace the directive's bindings following Angular CDK's convention (cdkConnectedOverlay*). The accompanying comment explains the rationale clearly. No issues.

api-docs.json — Regenerated API docs

The four new entries (ChatConnectedOverlayDirective, ChatOverlayOriginDirective, ConnectedPosition, OverlayPositionResult) faithfully reflect what the doc generator produces.

One observation (inline comment posted): The ChatConnectedOverlayDirective properties are documented under their internal TypeScript names (open, origin, positions, …) rather than the public binding aliases consumers actually use in templates (chatOverlayOpen, chatOverlayOrigin, chatOverlayPositions, …). This is a doc generator limitation, not a regression from this PR, but it will confuse consumers who rely on these docs. Worth filing a follow-up to either extend the generator to surface alias: values, or add descriptions that call out the alias names explicitly.

The two union type reorderings ("center" | "start""start" | "center") and the updated ChatSelectComponent description are incidental but correct.

No correctness bugs, security issues, or API regressions introduced.

"type": "InputSignal<string | string[]>",
"description": "",
"optional": false
},

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.

The ChatConnectedOverlayDirective properties are documented under their internal TypeScript names (open, origin, positions, panelClass, attached, outsideClick, detached) rather than the public template binding aliases (chatOverlayOpen, chatOverlayOrigin, chatOverlayPositions, chatOverlayPanelClass, chatOverlayAttached, chatOverlayOutsideClick, chatOverlayDetach).

A consumer reading these docs to understand what to bind in a template will see [open] and [origin] — which don't work — rather than [chatOverlayOpen] and [chatOverlayOrigin].

This appears to be a doc generator limitation (it reflects TypeScript property names, not Angular alias: values). Not a regression from this PR, but worth tracking as a follow-up: either updating the generator to surface aliases, or adding explicit descriptions that mention the alias names. Keeping the generated file consistent with what the tool produces is the right call here.

@blove blove merged commit f1882bf into main Jun 27, 2026
56 checks passed
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