Skip to content

[MM-69551] Update desktop onboarding for DISC audience#3879

Open
matthewbirtch wants to merge 7 commits into
mattermost:masterfrom
matthewbirtch:mm-69551-onboarding-refresh
Open

[MM-69551] Update desktop onboarding for DISC audience#3879
matthewbirtch wants to merge 7 commits into
mattermost:masterfrom
matthewbirtch:mm-69551-onboarding-refresh

Conversation

@matthewbirtch

@matthewbirtch matthewbirtch commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Refresh welcome screen copy and integrations illustration to align with the DISC audience instead of open-source/devops messaging
  • Update the server connection screen title and subtitle to match the onboarding Figma designs
  • Adjust welcome/configure-server layout styles and update related E2E expectations

Test plan

  • Launch the desktop app with no configured servers and verify all four welcome carousel slides show the updated copy
  • Click Get started and confirm the server connection screen shows Connect securely to your server and Enter your server details to get started.
  • Verify the integrations slide uses the updated illustration (operational icons instead of dev tool logos)
  • Confirm responsive layout on narrow and wide window sizes for the configure server screen
  • Run e2e/specs/startup/welcome_screen_modal.test.ts and related startup/policy E2E specs

Made with Cursor

Change Impact: Low 🟢

Regression Risk: Low—updates are limited to desktop onboarding UI (welcome/server screens) including copy/casing changes, styling/layout adjustments, illustration swap (SVG), and corresponding E2E expectation updates. No authentication/session/data persistence or core/shared business logic was modified; only i18n strings and presentation components were touched.

QA Recommendation: Minimal manual QA: smoke test the welcome carousel and “Configure server” screen on desktop at least across one wide and one narrow breakpoint to verify updated text (including “Get started” casing), slide order/titles, and that layout renders correctly.
Generated by CodeRabbitAI

Screenshots

Before After
image image
image image
image image
image image
image image

Release Note

Updated onboarding and server connection welcome messaging.

Mobile equivalent PR: mattermost/mattermost-mobile#9901

Refresh welcome screen messaging and integrations illustration, align the server connection screen with updated Figma copy, and adjust related layout styles and E2E expectations.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mm-cloud-bot

Copy link
Copy Markdown

@matthewbirtch: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Details

I understand the commands that are listed here

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

An error occurred during the review process. Please try again later.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Updates UI copy, layout, and illustration for the WelcomeScreen and ConfigureServer screens. Welcome slide text and button casing change, ConfigureServer header copy and responsive layout are revised, the ToolsImage SVG is replaced, and matching e2e assertions are updated.

Changes

Welcome Screen & ConfigureServer UI Refresh

Layer / File(s) Summary
i18n copy updates
i18n/en.json
ConfigureServer title/subtitle and WelcomeScreen button and slide strings are updated with new wording.
WelcomeScreen component and styling
src/renderer/components/WelcomeScreen/WelcomeScreen.tsx, src/renderer/components/WelcomeScreen/WelcomeScreenSlide.tsx, src/renderer/components/WelcomeScreen/WelcomeScreenSlide.scss, src/renderer/components/Carousel/Carousel.scss, e2e/specs/startup/app.test.ts, e2e/specs/policy/policy.test.ts, e2e/specs/startup/welcome_screen_modal.test.ts
WelcomeScreen renders slide and button copy through FormattedMessage, updates slide defaults, adjusts spacing styles, and updates e2e assertions for the new copy.
Tools illustration replacement
src/renderer/components/Images/tools.tsx
The ToolsImage SVG is replaced with a new illustration and updated SVG structure.
ConfigureServer component and styling
src/renderer/components/ConfigureServer/ConfigureServer.tsx, src/renderer/components/ConfigureServer/ConfigureServer.scss
ConfigureServer renders new title and subtitle fallbacks with FormattedMessage, and its layout, card sizing, and responsive breakpoints are reworked.

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

Suggested reviewers: devinbinnie, saturninoabril, NARSimoes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the PR’s main change: updating desktop onboarding copy, visuals, and layout for the DISC audience.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/renderer/components/ConfigureServer/ConfigureServer.scss`:
- Around line 208-210: The ConfigureServer styles contain an empty selector
block for .ConfigureServer__message and .ConfigureServer__card, which triggers
the block-no-empty lint rule. Remove this empty rule from ConfigureServer.scss,
or add real declarations if these selectors are meant to style something, so
Stylelint passes.

In `@src/renderer/components/ConfigureServer/ConfigureServer.tsx`:
- Line 6: The fallback header copy in ConfigureServer should use
FormattedMessage instead of calling formatMessage directly. Update the default
title/subtitle rendering in ConfigureServer so the branch that supplies the
fallback header content uses FormattedMessage, while keeping messageTitle and
messageSubtitle as raw props. Refer to ConfigureServer and its header-copy
rendering logic to swap the i18n implementation without changing the existing
prop behavior.

In `@src/renderer/components/Images/tools.tsx`:
- Around line 7-16: This SVG JSX block in tools.tsx needs formatting fixes to
satisfy CI prop-wrapping and indentation rules. Reformat the JSX inside the SVG
markup, keeping the same structure but aligning attributes and nested elements
consistently, especially around the clipPath group and the surrounding
rect/path/circle elements. Use the existing component/block in Images/tools.tsx
as the target and run the project formatter so build-linux and build-mac-no-dmg
pass again.

In `@src/renderer/components/WelcomeScreen/WelcomeScreen.tsx`:
- Line 6: The welcome screen text is still being rendered through
`formatMessage(...)` instead of the message component. In
`WelcomeScreen`/`WelcomeScreen.tsx`, update the slide titles, subtitles, and the
“Get started” label to use `FormattedMessage` for rendering visible content, and
keep `useIntl().formatMessage` only for non-rendered raw attributes or
placeholders if needed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 527313ad-be54-46c7-9499-da395829e75d

📥 Commits

Reviewing files that changed from the base of the PR and between c436e1f and dc08702.

📒 Files selected for processing (10)
  • e2e/specs/policy/policy.test.ts
  • e2e/specs/startup/app.test.ts
  • e2e/specs/startup/welcome_screen_modal.test.ts
  • i18n/en.json
  • src/renderer/components/Carousel/Carousel.scss
  • src/renderer/components/ConfigureServer/ConfigureServer.scss
  • src/renderer/components/ConfigureServer/ConfigureServer.tsx
  • src/renderer/components/Images/tools.tsx
  • src/renderer/components/WelcomeScreen/WelcomeScreen.tsx
  • src/renderer/components/WelcomeScreen/WelcomeScreenSlide.scss

Comment thread src/renderer/components/ConfigureServer/ConfigureServer.scss Outdated
Comment thread src/renderer/components/ConfigureServer/ConfigureServer.tsx Outdated
Comment thread src/renderer/components/Images/tools.tsx Outdated
Comment thread src/renderer/components/WelcomeScreen/WelcomeScreen.tsx Outdated
Reformat the integrations SVG to satisfy jsx-max-props-per-line and indent rules, and drop empty ConfigureServer media-query blocks.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matthewbirtch

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@matthewbirtch matthewbirtch reopened this Jun 30, 2026
matthewbirtch and others added 2 commits June 30, 2026 12:30
Restore react-intl FormattedMessage for default title and subtitle while keeping messageTitle and messageSubtitle as raw prop overrides.

Co-authored-by: Cursor <cursoragent@cursor.com>
Render slide titles, subtitles, and the Get started button with FormattedMessage instead of formatMessage.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matthewbirtch

Copy link
Copy Markdown
Contributor Author

@coderabbity review

@esethna esethna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @matthewbirtch, left some non-blocking comments/suggestions on the mobile PR: mattermost/mattermost-mobile#9901 (review)

Refine the welcome subtitle and integrations slide messaging per leadership review feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matthewbirtch matthewbirtch added 2: Dev Review Requires review by a core committer 3: QA Review Requires review by a QA tester labels Jul 3, 2026
matthewbirtch and others added 2 commits July 3, 2026 10:36
Simplify the Configure Server header copy per leadership feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>
Explain that a server is the team's communication hub accessed via a unique URL.

Co-authored-by: Cursor <cursoragent@cursor.com>
@devinbinnie devinbinnie removed the 2: Dev Review Requires review by a core committer label Jul 6, 2026
@caseysoftware

Copy link
Copy Markdown

Looks great. 👍

@matthewbirtch

Copy link
Copy Markdown
Contributor Author

@lindalumitchell when you have some time could I ask you to do a quick QA pass on this? It should be pretty straightforward, but let me know if you have any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3: QA Review Requires review by a QA tester release-note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants