Skip to content

Fix chat UI layout issue#11

Merged
giswqs merged 3 commits intomainfrom
ui
Feb 1, 2026
Merged

Fix chat UI layout issue#11
giswqs merged 3 commits intomainfrom
ui

Conversation

@giswqs
Copy link
Member

@giswqs giswqs commented Feb 1, 2026

No description provided.

Copilot AI review requested due to automatic review settings February 1, 2026 20:32
@github-actions
Copy link

github-actions bot commented Feb 1, 2026

@github-actions github-actions bot temporarily deployed to pull request February 1, 2026 20:33 Inactive
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Solara chat sidebar layout so the message list scrolls while the input/actions remain visible, and adds pipeline stage status updates during query execution.

Changes:

  • Refactors the chat sidebar into a flex column with a scrollable messages area and a sticky input/action footer.
  • Adds reusable ChatMessage and ChatInput components, including Enter-to-send behavior.
  • Adds an optional status_callback hook to GeoAgent.chat and emits stage updates during planning/fetch/analyze/visualize.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
geoagent/ui/pages/01_chat.py Reworks chat sidebar layout/components and wires UI status updates into query execution.
geoagent/core/agent.py Extends GeoAgent.chat to accept a status callback and emits status stage signals from workflow nodes.
Comments suppressed due to low confidence (1)

geoagent/ui/pages/01_chat.py:86

  • _run_query gained a status_callback argument, but the docstring doesn’t mention it. Please update the docstring to explain what the callback receives and when it will be called.
def _run_query(query: str, target_map, status_callback=None) -> str:
    """Run a GeoAgent query synchronously.

    Passes the UI map directly as target_map so the VizAgent adds layers
    to the *displayed* widget.

    Returns:
        Response text to display
    """

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +393 to +405
def _chat_with_status(agent: GeoAgent, query: str, target_map, status_callback=None):
if status_callback is None:
return agent.chat(query, target_map=target_map)
try:
sig = inspect.signature(agent.chat)
params = sig.parameters
accepts_kwargs = any(
param.kind == inspect.Parameter.VAR_KEYWORD for param in params.values()
)
if "status_callback" in params or accepts_kwargs:
return agent.chat(
query, target_map=target_map, status_callback=status_callback
)
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

Now that GeoAgent.chat in this repo explicitly supports status_callback, the _chat_with_status wrapper (and its inspect.signature call on every request) is unnecessary complexity/overhead. Consider calling agent.chat(..., status_callback=...) directly and removing the introspection helper unless you have a concrete cross-version compatibility requirement.

Copilot uses AI. Check for mistakes.
param.kind == inspect.Parameter.VAR_KEYWORD for param in params.values()
)
if "status_callback" in params or accepts_kwargs:
return agent.chat(
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

'except' clause does nothing but pass and there is no explanatory comment.

Copilot uses AI. Check for mistakes.
@github-actions github-actions bot temporarily deployed to pull request February 1, 2026 20:56 Inactive
@giswqs giswqs merged commit 0631005 into main Feb 1, 2026
10 checks passed
@giswqs giswqs deleted the ui branch February 1, 2026 21:02
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.

2 participants