Skip to content

Integrate six reviewed contributions (batch 1) - #271

Closed
hamzamerzic wants to merge 4 commits into
mobius-os:mainfrom
hamzamerzic:integration/reviewed-batch1
Closed

Integrate six reviewed contributions (batch 1)#271
hamzamerzic wants to merge 4 commits into
mobius-os:mainfrom
hamzamerzic:integration/reviewed-batch1

Conversation

@hamzamerzic

Copy link
Copy Markdown
Collaborator

Bundles six independently-reviewed, individually-verified contributions, each rebased onto current main and cherry-picked with its original authorship + Möbius co-author trailer. They touch largely disjoint areas and were confirmed absent from main before bundling.

  • Restore native mobile text selection — long-press on chat text starts normal OS selection instead of a whole-message copy gesture.
  • Fix desktop image lightbox bounds — the lightbox fills the full backdrop on desktop and dismisses on backdrop click.
  • Persist a maximized workspace pane — a full-screen pane stays maximized across the apply-on-idle reload / tab discard.
  • Keep recoverable command exits in activity details — a non-zero command exit stays calm at a glance, with the failure detail behind the activity disclosure.
  • Make screenshot verification exact and cold-start safe — automated screenshots normalize viewport pixels, cold-start the browser, and refuse stale/unauthenticated captures.
  • Harden nightly reflection interviews — reflection triages by friction/novelty, derives the activity event from data, and escalates-or-closes persistent issues.

Part of a batch clearing the reviewed Contribute backlog.

@hamzamerzic
hamzamerzic enabled auto-merge (squash) July 27, 2026 16:57
@hamzamerzic
hamzamerzic force-pushed the integration/reviewed-batch1 branch from eaa2ef6 to 597d0cd Compare July 27, 2026 17:41
@hamzamerzic
hamzamerzic force-pushed the integration/reviewed-batch1 branch from fc9ce68 to 8f01d41 Compare July 28, 2026 00:31
hamzamerzic and others added 4 commits July 28, 2026 00:41
A maximized (full-screen) pane was ephemeral React state excluded from the
persisted workspace blob, so a reload that fires while the tab is backgrounded
(apply-on-idle runs when hidden; browser tab discard) rehydrated the tiled tree
but dropped the maximize, leaving the pane minimized on return.

Persist the maximized pane to its own sessionStorage key and re-seed it on
mount, guarded to mirror the runtime reset invariants (splits enabled, a
multi-pane panes-world, the pane still exists, and id === focusedPaneId). Kept
out of the serialized split-tree blob so focusing a pane never rewrites the
tree/ratios. Seed both the state and the ref (dispatchWorkspace's reconcile
reads the ref), clear the key on un-maximize, and capture it from the ref in the
pre-reload snapshot. Adds unit coverage for the resolver and the read/write
round-trip.

Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
@hamzamerzic

Copy link
Copy Markdown
Collaborator Author

The six reviewed contributions in this batch have now merged to main through #304. Closing this superseded batch PR.

auto-merge was automatically disabled July 28, 2026 04:37

Pull request was closed

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