Skip to content

fix: keep sheet tab titles readable on macOS 27 - #452

Merged
eagleoflqj merged 1 commit into
masterfrom
fix/macos27-segmented-tabs
Oct 29, 2026
Merged

eagleoflqj merged 1 commit into
masterfrom
fix/macos27-segmented-tabs

Conversation

@eagleoflqj

@eagleoflqj eagleoflqj commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

On macOS 27, the Font and Add Input Methods sheets can compress their tab titles into ellipses, including the Chinese Font titles.

Replace both native TabViews with a shared SegmentedTabView that sizes the selector independently of page content. It accepts any collection of unique Hashable tab values, preserves each page's state, and excludes inactive pages from interaction and accessibility. Make the font E2E search for its target before inspecting the row so it does not depend on locale-specific font ordering.

Update fcitx5-webview from 0fb887c to 7e8ef6c, including the theme color transition improvements and macOS 27 scroll mode expand/collapse jitter fix.

Validation on macOS 27.2:

  • Debug CMake build and Swift formatting checks passed.
  • Font selection, input method addition, and customized table import Appium E2Es: 3 passed (213.45 seconds).
  • Chinese and English Font screenshots checked; standalone Font E2E passed in both languages before extraction.
  • A temporary three-tab app verified switching and independent state preservation using the shared component.

Summary by CodeRabbit

  • New Features
    • Font selection and input-method settings now use segmented controls to switch between tabs, keeping related options easy to access.
    • The font selector retains its search, previews, and selection options, while input-method settings retain their existing import behavior.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bb7e605c-3710-4325-ab71-0f0f31eeeba3
Commits

Reviewing files that changed from the base of the PR and between ba4c146 and beb51ec.

Files selected for processing: 5
  • appium/test_font.py
  • fcitx5-webview
  • src/config/FontView.swift
  • src/config/SelectInputMethod.swift
  • src/config/ui.swift

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Walkthrough

The font and input-method selectors replace native tabs with a reusable segmented tab view. The font-selection test searches for the emoji font before checking its count. The fcitx5-webview subproject reference advances to a new commit.

Changes: Segmented tab selectors

Layer / File(s) Summary
Segmented tab component
src/config/ui.swift
Adds a segmented picker and a stable-identity page stack. Unselected pages are hidden, disabled, and excluded from hit testing and accessibility.
Font and input-method selector integrations
src/config/FontView.swift, src/config/SelectInputMethod.swift, appium/test_font.py
Replaces native tabs in both selectors with the segmented component. The font-selection test searches for the emoji font before checking that one match appears.

Webview subproject reference

Layer / File(s) Summary
Webview reference update
fcitx5-webview
Updates the subproject reference to commit 7e8ef6cca003392783aa1d7df8abe0b60c22ad34.

Priority: Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Possibly related PRs

Merge Risk: Minimal · up to beb51

The selector and webview changes are mergeable after normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: keeping sheet tab titles readable on macOS 27 through the tab-view updates.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 4 files. (1 skipped: 1 unsupported.)

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

arm64 comparison

No difference.

x86_64 comparison

No difference.

@eagleoflqj
eagleoflqj merged commit 654b26a into master Oct 29, 2026
8 checks passed
@eagleoflqj
eagleoflqj deleted the fix/macos27-segmented-tabs branch October 29, 2026 04:06
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