Skip to content

fix: onboarding button not rendering on macOS 15 (#420)#426

Merged
datlechin merged 2 commits intomainfrom
fix/onboarding-ui-glitch-420
Mar 22, 2026
Merged

fix: onboarding button not rendering on macOS 15 (#420)#426
datlechin merged 2 commits intomainfrom
fix/onboarding-ui-glitch-420

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

@datlechin datlechin commented Mar 22, 2026

Summary

  • Replace Group with ZStack for the Continue/Get Started button container — Group is not a layout boundary and cannot drive structural if/else transitions on macOS 15
  • Add .transition(.opacity) to both button branches (was only on "Get Started") for symmetric animation
  • Add frame(minWidth: 110) to both edge slots (Skip button and action button) to center dot indicators

Closes #420

Test plan

  • Clean install: reset onboarding state, launch app, navigate to step 3 — button should render immediately
  • Transitions between all 3 steps should be smooth
  • Dot indicators should be centered between Skip and the action button
  • cmd+tab should not be required for UI to render

Summary by CodeRabbit

  • Bug Fixes
    • DuckDB temporal columns (TIMESTAMPTZ, TIMETZ) no longer incorrectly display as null
    • macOS 15 onboarding "Get Started" button now renders properly without requiring window focus change
    • Smoother onboarding navigation with improved button alignment, consistent sizing, and quicker transition animations

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 22, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 713692e5-a96a-4b78-9c40-641d62f3d805

📥 Commits

Reviewing files that changed from the base of the PR and between 455455d and 07f5ed7.

📒 Files selected for processing (1)
  • CHANGELOG.md
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.md

📝 Walkthrough

Walkthrough

Fixed onboarding UI rendering on macOS 15 by adding explicit frame/alignment constraints and simplifying transitions; updated changelog to document the fix. Adjusted bottom navigation animation duration and transition behavior in the onboarding view.

Changes

Cohort / File(s) Summary
Documentation
CHANGELOG.md
Added a ### Fixed entry documenting the macOS 15 onboarding “Get Started” button rendering fix.
Onboarding UI Layout & Animation
TablePro/Views/Connection/OnboardingContentView.swift
Adjusted skip button min width and leading alignment; changed primary action container from Group to ZStack; unified button transitions to opacity; reduced keyed animation duration from 0.35s to 0.25s; added min width and trailing alignment to primary action container.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I nudged a shy button back into light,
Tweaked frames and fades through the silent night,
A tiny hop, a quick align—done,
Onboarding gleams now in macOS sun,
Click "Get Started" — the journey begun. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary fix: replacing Group with ZStack to resolve the onboarding button rendering issue on macOS 15, directly addressing issue #420.
Linked Issues check ✅ Passed The changes directly address issue #420: replacing Group with ZStack fixes button rendering, adding transitions provides smooth animation, and frame constraints fix alignment—all core requirements met.
Out of Scope Changes check ✅ Passed All changes are scoped to fixing the onboarding button rendering issue on macOS 15; CHANGELOG.md update documents the fix and is directly related to the issue resolution.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/onboarding-ui-glitch-420

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

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
TablePro/Views/Connection/OnboardingContentView.swift (1)

186-188: Make hidden Skip button non-interactive on the last page.

At Line 186, opacity(0) keeps the button hittable/focusable; with the new minWidth at Line 187, the invisible hit target is larger and can still trigger onboarding completion.

♻️ Suggested tweak
             .opacity(currentPage == 2 ? 0 : 1)
             .frame(minWidth: 110, alignment: .leading)
+            .allowsHitTesting(currentPage < 2)
+            .accessibilityHidden(currentPage == 2)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@TablePro/Views/Connection/OnboardingContentView.swift` around lines 186 -
188, The Skip button remains hittable when hidden because only opacity is
changed; update the Skip button in OnboardingContentView to also disable hit
testing when currentPage == 2 by adding .allowsHitTesting(currentPage != 2) (or
.disabled(currentPage == 2)) alongside the existing .opacity(currentPage == 2 ?
0 : 1) and .frame(minWidth: 110, alignment: .leading) so the invisible button
cannot be interacted with on the last page.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@TablePro/Views/Connection/OnboardingContentView.swift`:
- Around line 186-188: The Skip button remains hittable when hidden because only
opacity is changed; update the Skip button in OnboardingContentView to also
disable hit testing when currentPage == 2 by adding
.allowsHitTesting(currentPage != 2) (or .disabled(currentPage == 2)) alongside
the existing .opacity(currentPage == 2 ? 0 : 1) and .frame(minWidth: 110,
alignment: .leading) so the invisible button cannot be interacted with on the
last page.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 10288a47-5104-4d7f-b36e-dec6cbb15104

📥 Commits

Reviewing files that changed from the base of the PR and between d335145 and 455455d.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • TablePro/Views/Connection/OnboardingContentView.swift

@datlechin datlechin merged commit 842e1fe into main Mar 22, 2026
3 checks passed
@datlechin datlechin deleted the fix/onboarding-ui-glitch-420 branch March 22, 2026 10:13
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.

sometime UI failed to show when onboarding panel

1 participant