Skip to content

sync: MonoCode main into main (2026-10-19) - #107

Merged
deluminor merged 7 commits into
mainfrom
sync/upstream-into-main-20261019
Oct 19, 2026
Merged

deluminor merged 7 commits into
mainfrom
sync/upstream-into-main-20261019

Conversation

@deluminor

@deluminor deluminor commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

This sync brings MonoCode main from 226ec5bc (v0.13.0) to e53e09aa (v0.15.0) into MOLFAR main: 103 upstream commits, 263 files. The headline is upstream's opt-in New layout (inset shell with title-bar tabs for Search/Inbox/Notes/Automations/Familiars, right panel with Changes/History, glass themes), a Resource pressure process view, provider-account handoff for usage-limited sessions, and a large set of streaming, transcript and workspace performance fixes. All MOLFAR features (local surfaces: Home/Board/Usage/Knowledge, Task Board, interactive task checkboxes, per-source Inbox filters, persisted pane widths, MOLFAR identity/branding) are kept.

Highlights

Breaking / attention

  • Default change — Smooth text reveal: today replies stream in as they arrive (paced reveal was opt-in via molfar.pacedReveal = "1"). After the sync, paced reveal is on by default unless the OS requests reduced motion. To get the old behavior back: Settings → Chat → turn off Smooth text reveal.
  • Default change — code colors: editor, diffs and replies now use VS Code Dark+ / Light+ syntax colors. No setting restores the previous palette.
  • Default change — New layout: today MOLFAR uses the classic layout. After the sync the new layout is on by default (INSET_LAYOUT_DEFAULT = true; upstream ships it opt-in). Get the old behavior back in Settings → Appearance → Layout → turn off New layout. Because of this default, upstream's "Try the new layout" invitation effectively no longer appears (the Settings toggle also dismisses it).
  • Behavior change — operator-started sessions: sessions started through the app CLI no longer open as tabs/panes by default; they appear in the sidebar under the parent session unless placement/reveal is requested.
  • Default change — Linux main pane glass: today it is on for Linux. After the sync it is off by default on Linux (BODY_GLASS_DEFAULT = !IS_LINUX, matching upstream); macOS/Windows unchanged and a stored preference still wins. Re-enable in Settings → Appearance → Translucency → Main pane glass (classic layout).
  • New Rust dependency: tokio (MIT, sync feature) in src-tauri/Cargo.toml. No new npm dependencies; pnpm-lock.yaml unaffected.
  • License notices: unchanged. No upstream changes to LICENSE/NOTICE, no new copyright/SPDX headers, no non-MIT source. build.license, rust-notices.mjs, bundle resources and host notice copies untouched.
  • Branding scan: renamed incoming identifiers to MOLFAR — new storage keys molfar.rightPanelOpen|rightPanelTab|rightPanelTabOrder|rightPanelWidth|insetLayout|insetGlass|workspaceTheme|newLayoutPromptDismissed|measureNavigation|measureStreaming, events molfar:inset-layout-change, molfar:pacedrevealchange, molfar:newlayoutpromptdismissedchange, performance marks molfar:tab-switch/molfar:stream-visible, native view ids molfar.webview-glass-tint, ObjC class MolfarWindowBackdrop, env vars MOLFAR_PRIORITY_PROBE/MOLFAR_PERFORMANCE, .molfar-terminal selector in the native context-menu guard, temp-dir prefixes, and UI text ("shows through MOLFAR", "No running work found in MOLFAR", "no longer owned by MOLFAR"). Tests and browser specs updated accordingly.
  • Checks: npm run check:web pass (594 files / 6158 tests, tsc --noEmit); cargo check and cargo fmt --check pass; npm run test:host pass; npx vitest run scripts/release/ pass; Playwright workspace-performance + layout-opt-in pass locally (full suite: the only earlier failures were the two fixed below).
  • CI fixes on this branch (first run failed): cargo fmt after the molfar rename shortened a line in provider_session_transfer.rs; the upstream workspace-performance browser fixture now stubs an empty Task Board (task_board_cards_list/runs_list/runs_running/claim_next/settings_get), whose engine otherwise logged console errors; host/cli.test.ts retries temp-dir cleanup on Windows (EPERM race after the host stops, test itself passed). Browser fixtures pin the classic layout unless a spec opts in; Linux glass unit tests pin the classic layout explicitly.

Upstream commits

Conflict status

Resolved.

Product code

  • src/app/App.tsx — kept MOLFAR's useLocalSurfaceState (board/usage/knowledge) and added upstream's app-view tab state; activeAppView/automations AppViewSurface key off automationsSurfaceOpen (MOLFAR's automationsViewOpen also covers local surfaces). Took upstream's extracted sessionSidebar/app-view/usageFooter blocks and dropped the old inline copies; ported MOLFAR props into them (open hidden while a local surface is shown, onStopAgent, onOpenKnowledge/knowledgeActive, automationsActive={automationsSurfaceOpen}, railExtraActions, LocalSurfaceViews, focusAutomationId/onFocusAutomationConsumed). Kept both onOpenBoardCard/onOpenUsageSurface and upstream's title-tab handlers. Operator prompt keeps MOLFAR's notes/Task Board text and takes upstream's sidebar-placement wording. Imports: added only missing upstream symbols.
  • src/features/sessions/ui/AgentMarkdown.tsx — kept MarkdownCheckbox/TaskToggleContext, localImageSources, allowRemoteMedia, onToggleTask; added upstream MarkdownPictureSource, documentPath, MarkdownCommit/parseBlocks (replacing the removed MarkdownFadeContext), with all providers nested.
  • src/features/sessions/ui/AgentTranscript.tsx — upstream useToolDetail with MOLFAR's molfarToolCall.
  • src/features/sessions/ui/wordFade.tsx — took upstream (key moved to displayPrefs, reveal default on).
  • src/features/settings/ui/SettingsView.tsx — took upstream's layout-aware Translucency group; kept MOLFAR's Toggle import.
  • src/features/settings/model/appearance.ts / displayPrefs.ts — took upstream keys/constants under molfar.*; kept MOLFAR BODY_GLASS_DEFAULT = true.
  • src/features/inbox/ui/InboxView.tsx — MOLFAR per-source filtersBySource[source] pruned against upstream's shownProjects.
  • src/features/automations/ui/AutomationsView.tsx — kept MOLFAR's sorted imports plus inProjectScope; props include both scopeProject and focusAutomationId/onFocusAutomationConsumed.
  • src/app/shell/ProjectRail.tsx, src/features/files/ui/FileTree.tsx, src/main.tsx, src/shared/hooks/useDragResize.ts — imports/initializers from both sides.
  • src/app/shell/Sidebar.tsx (clean patch, follow-up) — upstream's shared-rail onCommit wrote removed rememberedWidth; now persists via MOLFAR's savePaneWidth.
  • src/integrations/harness/core/child.ts — added transferProviderSession before MOLFAR's restoreFamiliarCodexAgentState.
  • src/styles/index.css — added .transcript-turn[data-history-height], kept molfar-transcript-search-match.
  • src-tauri/src/lib.rs / main.rs — dev-bundle check moved into run() per upstream using MOLFAR's app_context(); connectors-mcp entry and task_board+tool_detail modules kept.
  • src-tauri/src/macos.rs — upstream native backdrop + tint view and versioned dev plist, with MOLFAR ids and DEV_BUNDLE_ID; test asserts both.

Vatra-owned paths

  • package.json, Cargo.toml, src-tauri/tauri.conf.json — kept MOLFAR version 1.0.18, productName, identifier.
  • package-lock.json, Cargo.lock — ours, regenerated (tokio added to molfar).
  • CHANGELOG.md — kept MOLFAR history; added ## [Unreleased] entries for this range.

Release notes issue: #106

Upstream commits:
- Stop the composer runner's frame loop while its tab is in the background (#975)
- Don't treat a refused fast mode as the session's usage limit (#958)
- Stop a resumed session's replayed background-task notification from ending the turn early (#532)
- Show skills when the 16 KiB prefix cuts a UTF-8 character (#978)
- Stop every composer keystroke from re-checking the whole page's styles on macOS (#985)
- Keep a blank session's account in the project that chose it (#967)
- Fix macOS dev bundle version metadata (#983)
- Run the remote host on Linux without systemd (#990)
- Add Close All Tabs to the tab context menu (#1005)
- Find git-lfs for local git commands launched from Finder (#1004)
- Show the selection menu for a reply's whole last paragraph (#1001)
- Place diff scrollbar change markers by rendered line height (#1002)
- Hide the page-only Reload context menu (#1003)
- Improve session responsiveness and fix completion scroll jumps
- Show images in the Markdown preview (#1027)
- Keep the running clock when a message joins a turn mid-way (#1021)
- fix(artifacts): make HTML artifact surface/muted/border opaque (#1020)
- Stop every keystroke from querying the whole page for the shortcut recorder
- Stop rebuilding every composer's @-mention index after each agent tool call
- Improve workspace performance and resource management
- Stop every focus move from re-checking the whole page's styles
- Add the inset workspace layout
- Add inset workspace themes and tidy composer layout
- Add inset-layout Settings header and layout-aware settings rows
- Add project settings flyout and changes dot to inset layout
- Round usage chips and session rows to rounded-md
- Scope Inbox, Notes, and Automations to the active project
- Add hover-peek behavior for collapsed sidebar
- Move development badge to usage footer
- Add Mono tabs to the inset glass layout
- Use neutral theme tint for inset layout
- Preserve full-height layout during right panel transitions
- Use applied workspace theme for native window tint
- Unify inset glass hairline strokes
- Move development indicator into the title bar
- Share inset sidebar width with project rail
- Align transcript scrolling with top and bottom fades
- Align mono tabs with sidebar projects
- Polish orchestration sidebar glass layout
- Keep operator-started sessions in the sidebar
- Make the new glass layout opt-in
- Merge remote-tracking branch 'origin/main' into mc/linear-style-glass-layout
- Redesign resource pressure notice with grouped stop controls
- Preserve opaque window state across theme changes
- Keep headerless sidebar resizer visually transparent
- Keep resource monitoring independent of approval toasts
- Merge remote-tracking branch 'origin/main'
- Make right panel tabs reorderable and add project space tooltips
- Optimize workspace performance and preserve transcript state
- Release v0.14.0
- Measure visible reader position in browser release checks
- Preserve reader anchors near paragraph gaps
- Retain displayed snapshots when session panes become hidden
- Release v0.14.0 from tested main
- Credit every contributor in the v0.14.0 changelog
- Merge pull request #1046 from hardbeat920/release/0.14.0-stable
- Release hidden transcripts beyond recent tabs to bound memory
- Rename recent IDs hook to released IDs
- Defer large tool output until transcript expansion
- Remove hidden-tab transcript release
- Merge release/0.14.0 into mc/linear-style-glass-layout
- Suspend the sound audio context after cues finish playing
- Merge published main and retain optimisation notes as unreleased
- Align browser cache coverage with bounded transcript retention
- Keep reader anchors current throughout wheel momentum
- Record scroll adjustments in completion browser traces
- Refresh reader bookmarks after delayed native scrolling
- Preserve character bookmarks through reflow and cached tab restores
- Anchor visible characters and warm the changes review surface
- Distinguish animation handoffs from native reader scrolling
- Merge pull request #1045 from hardbeat920/release/0.14.0
- Avoid replaying transcript animations when revisiting tabs
- Merge main into mc/linear-style-glass-layout
- Merge new layout and glass appearance into main
- Improve empty session layout responsiveness
- Soften session review card borders
- Prevent workspace tab flicker during view transitions
- Fix tab closing around Mono and app view tabs
- Disable right panel toggle on app views
- Stabilize translucent card rendering on macOS
- Use native macOS backdrop blur for workspace glass
- Merge pull request #1038 from zcy22606/fix/group-focus-within-invalidation
- Merge pull request #1028 from zcy22606/fix/keydown-recorder-check
- Merge pull request #1029 from zcy22606/fix/mention-index-rebuilds
- Merge remote-tracking branch 'origin/main'
- Polish inset usage chips and modal surfaces
- Handle fullscreen traffic light insets in title bars
- Refine message queue styling and inset composer integration
- Add a dedicated Git history tab to the right sidebar
- Keep review tabs mounted and speed up unified diff rendering
- Drive code syntax colors from workspace theme variables
- Switch code syntax colors to VS Code Dark+ and Light+
- Route session sidebar shortcut to right panel in inset layout
- Carry usage-limited sessions to another provider account
- Animate project dock open and close in inset layout
- Animate split panes sliding in and out with file pane deferral
- Add unreleased changelog entries for new layout and fixes
- Format provider session transfer tests with rustfmt
- Fix browser CI tab dragging and reader anchoring
- Wait for reveal progression in browser pacing test
- Render prefetched diffs without suspending during streaming
- Let cold-loaded surfaces mount while sessions stream
- Release v0.15.0

Resolved conflicts: kept MOLFAR versions/identity in manifests and regenerated lockfiles; combined MOLFAR local surfaces (board, usage, knowledge), task-list checkboxes, local image sources, per-source inbox filters and pane-width persistence with upstream's inset layout, app-view tabs, document images and provider session transfer; ported the dev-bundle version metadata onto MOLFAR's bundle id. Branding scan renamed incoming monocode.* storage keys, monocode:* events, MONOCODE_* env vars and MonoCode UI text to MOLFAR.
Copilot AI balanced review requested due to automatic review settings October 19, 2026 07:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@deluminor
deluminor merged commit 719f5d3 into main Oct 19, 2026
12 checks passed
@deluminor
deluminor deleted the sync/upstream-into-main-20261019 branch October 20, 2026 13:58
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