Skip to content

iOS improvements#12

Merged
PureWeen merged 10 commits intomainfrom
dev/kubaflo/fancy-icon
Feb 9, 2026
Merged

iOS improvements#12
PureWeen merged 10 commits intomainfrom
dev/kubaflo/fancy-icon

Conversation

@kubaflo
Copy link
Collaborator

@kubaflo kubaflo commented Feb 9, 2026

No description provided.

@kubaflo kubaflo force-pushed the dev/kubaflo/fancy-icon branch from 5cd6640 to 28ac69c Compare February 9, 2026 20:40
Swap multiple inline SVG icons for the AutoPilot PNG logo in chat messages and the session sidebar, add a large welcome logo on the Home page, and include styling to size/crop avatar images (circular avatars). Also add app icon and logo assets under Resources/wwwroot and remove outdated SVG app icon sources. These changes unify branding and improve avatar rendering across the UI.
Introduce adjustable font size controls (buttons + Cmd±/Cmd0 shortcuts) in Home, persist font size via CopilotService.SaveUiState (added fontSize to UiState and method), and apply it through a new CSS variable (--app-font-size) with a setAppFontSize JS helper. Replace static "Thinking..." text with an animated ellipsis component in ChatMessageList and add corresponding CSS keyframes/animation. Improve session creation UX by wiring session name inputs to enable/disable the Create button (OnSessionNameInput, hasSessionName) and clear state after creation. Apply numerous visual and layout refinements across CSS: update color palette/contrast, adjust sidebar width/overflow behavior, tweak message alignment and card borders, and fix various overflow/min-width issues for sidebar and session elements. Small DOM/markup tweaks and defensive JS invocations added to ensure font size persists and is applied on first render.
Polish UI and session handling: update many color/spacing/size styles (switch white to #a0b4cc, adjust avatar/gaps/font sizes, increase default app font to 20px), add inline model selector and chat/plan mode toggle in the chat input, and small header/folder button improvements.

Session sidebar improvements: add resume confirmation flow with inline actions and friendly error messages, show open sessions with a badge, allow switching to already-open sessions, and refine persisted session list sorting and layout.

CopilotService enhancements: persist session aliases (autopilot-session-aliases.json) with Get/Set API and use aliases when showing persisted sessions; mark stale tool/reasoning messages complete on load; include reconnect timestamp; persist aliases when creating/renaming sessions; update UI state default font size to 20.

Other changes: make AgentSessionInfo.Model settable, add OpenSessionFolder helper, add autopilot_text.png asset, and minor JS/CSS tweaks to support the above.
Replace many inline SVG icons with simple emoji/text and adjust related UI/UX styles for a cleaner, more compact look. Updates include: simplified avatars, role/tool/status icons, badges and action buttons; reduced paddings and font sizes in sidebar and home pages; improved button visuals and hover states; minor layout alignments. Add Mac Catalyst lifecycle hook to hide the native titlebar and clear the window Title, and set CFBundle display/name in Info.plist. These are small UX polishing changes across App.xaml.cs, multiple components, CSS files, MauiProgram.cs, and the MacCatalyst Info.plist.
Display live tool activity and concise tool-input previews in the chat UI. Introduces a ToolActivity model and a ToolActivities parameter for ChatMessageList, plus CSS for a tool activity feed. Adds SummarizeToolInput (with JSON property extraction and truncation) and shows tool inputs for both history messages and live activities. CopilotService: expands OnToolStarted to include an input summary, extracts tool input for history and events, and updates tool messages when completed. Home.razor: tracks per-turn ToolActivity instances and updates/clears them across turns and session switches. WsBridgeServer updated to match the new OnToolStarted signature.
Replace the old tool-activity card UI with compact Copilot CLI-style "action-item" entries and supporting styles. Add GetActionLabel and FormatActionDescription helpers to map tool names to labels, classes and concise descriptions (including special handling for edit/view/create/bash/grep). Change expanded result handling to a collapsible detail area (images and pre blocks), and default ChatMessage.IsCollapsed to true to reduce noise. Update the header processing indicator to a pulsing dot. In CopilotService, early-return if a response is already completed and clean up a small UI delay/comment and an old response timeout cancellation block.
Replace many hard-coded font sizes with shared CSS typography variables across components (ChatMessageList, MainLayout, NavMenu, SessionSidebar, Dashboard, Home, Settings, etc.) and tweak layout spacing for mobile safe-area. Improve user image attachments: encode and reuse filename, show a camera prefix, and restyle the attachment into an inline thumbnail + name with updated sizing and interaction. Collect pending image file paths in Home.razor and pass them to CopilotService.SendPromptAsync so attachments are included with prompts. Add an MSBuild target ReplaceAppIconIOS and include Resources/AppIcon/iOSAssets.car to copy the iOS app icon asset into the app bundle after build. Several small UI refinements for mobile header, hamburger button, and safe-area paddings.
Introduce a local Demo mode and various UI/responsive improvements. Added DemoService to simulate sessions, streaming responses, tool calls and events, and wired it into CopilotService (new ConnectionMode.Demo, demo initialization, session creation and SendPrompt handling). Project file updates: replace SVG splash with PNG, adjust macCatalyst app paths, and tweak Microsoft.Maui package versions. Numerous CSS and layout adjustments for mobile (chat bubbles, sidebar, settings, home, dashboard) and small UX fixes (safe session-id slicing, hide folder button on small screens, connection badge, save-section styling). DevTunnelService now resolves devtunnel binary from common locations. Also added splash image resource and changed web app title to "AutoPilot".
Fix macCatalyst app icon destination path and introduce multiple UI/UX polish and robustness improvements.

- Project: Corrected macCatalyst copy destinations to use AutoPilot.app (was AutoPilot.App.app).
- Home/Dashboard CSS & markup: adjusted paddings, gaps, avatar sizing, message styles, and button sizing; replaced send SVG with a filled icon and tightened layout for input row, attach, send and stop buttons for consistent square controls.
- Dashboard: added padding/flex layout improvements for the broadcast input area.
- Settings: replaced inline status text with a floating toast component (CSS + markup), added ShowStatus helper with auto-dismiss and cancellation, and wired it into various flows (QR scan, clipboard copy, server start/stop, save/reconnect) including a redirect to home on successful reconnect.
- CopilotService: made session sync logic conservative to avoid overwriting a local processing state with a remote false (prevent races) and only replace local history when the remote history has at least as many messages.

These changes improve visual consistency, provide clearer ephemeral feedback to users, and reduce race conditions when syncing session state with the server.
@PureWeen PureWeen force-pushed the dev/kubaflo/fancy-icon branch from 28ac69c to 5297b3e Compare February 9, 2026 21:18
… click expands/focuses session, preserve input text during streaming
@PureWeen PureWeen merged commit a8e3f46 into main Feb 9, 2026
PureWeen added a commit that referenced this pull request Feb 19, 2026
- Fix #9 off-by-one: CurrentIteration==0 check unreachable (now ==1)
- Fix #10 incomplete: set IsCancelled on OperationCanceledException
- Fix ConsecutiveErrors: reset to 0 after successful iteration
- Fix #11 stale comments: update hash references to string equality
- Fix #12 incomplete: mark pruned ghost evaluators in _closedSessionIds

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen added a commit that referenced this pull request Feb 20, 2026
Concurrency fixes:
- Swap _sessions before wiring event handler on reconnect (#2)
- Block ALL events from orphaned handlers, not just terminal (#3)
- Add lock(_imageQueueLock) to all image queue mutations (#4)
  including dequeue, reinsert, ClearQueue, rename, close, dispose
- Clear IsResumed on error and watchdog paths (#5)
- Add RunContinuationsAsynchronously to remaining TCS (#6)

Architecture/contract fixes:
- Add [JsonIgnore] to ShouldWarnOnStall, LastSimilarity (#7)
- Fix ConsecutiveErrors increment-before-check ordering (#8)
- Set IsCancelled on all non-success termination paths (#10)
  including stall, error-stall, max-iteration, OperationCanceled,
  empty-assignment error stall, and single-agent StopReflectionCycle
- Add session dir deletion for ghost evaluator pruning (#12)
- Add CompletedAt to StopReflectionCycle (#12 related)

Already correct (no changes needed):
- #9: CurrentIteration == 1 check was already fixed
- #11: Comments already reference string-based stall detection

Documentation:
- Update stall detection from 'hash match' to 'string equality'
- Update error handling to show ConsecutiveErrors (not ConsecutiveStalls)
- Add IsCancelled invariant to exit conditions table
- Add 5 new invariants: orphan gate, reconnect ordering,
  image queue locking, IsResumed clearing, TCS creation
- Document empty-assignment retry behavior

817/817 tests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@PureWeen PureWeen deleted the dev/kubaflo/fancy-icon branch February 22, 2026 00:16
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