Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New welcome email #28883

Merged
merged 4 commits into from
Mar 1, 2024
Merged

Conversation

hteumeuleu
Copy link
Contributor

@hteumeuleu hteumeuleu commented Jan 24, 2024

This PR updates the welcome email to its new design final form.

Screenshot of the email

It's still incomplete though and there are a lots of points I would need help on.

  1. Where should the "Sign in" button go in the header part?
  2. In the welcome checklist, the original design had parts that could turn green if a step was completed. I've implemented this by passing a checked variable to the _checklist partial. But are those even possible to track, dev-wise? (If so, how?)
  3. In the welcome checklist, where should each action button point to?
  4. The apps buttons are images with text on them. The alt is managed via translation files. But how can we manage the images for different languages?
  5. The follow and hashtags list are absent for now (but the partials are ready). Gargron shared this code ([1]) for this but I'm don't know Ruby enough to be able to do this myself.
  6. What should the "View more people to follow" and "view more trending hashtags" links point to?
  7. What should each of the four "Learn more" links in the features section point to?
  8. haml-lint complains about lines too long but I'm not sure how to fix this.

[1] Code shared by gargron to get recommended accounts and trending hashtags

who_to_follow = AccountSuggestions.new(current_account).get(5)
trending = Trends.tags.query.allowed.limit(5)

Fixes MAS-147

Copy link

codecov bot commented Jan 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.02%. Comparing base (86500e3) to head (0b53ef1).
Report is 193 commits behind head on main.

❗ Current head 0b53ef1 differs from pull request most recent head 9c78f61. Consider uploading reports for the commit 9c78f61 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #28883   +/-   ##
=======================================
  Coverage   85.01%   85.02%           
=======================================
  Files        1059     1060    +1     
  Lines       28277    28319   +42     
  Branches     4538     4542    +4     
=======================================
+ Hits        24040    24078   +38     
- Misses       3074     3075    +1     
- Partials     1163     1166    +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ClearlyClaire
Copy link
Contributor

ClearlyClaire commented Jan 24, 2024

It's still incomplete though and there are a lots of points I would need help on.

  1. Where should the "Sign in" button go in the header part?

new_user_session_url should work!

  1. In the welcome checklist, the original design had parts that could turn green if a step was completed. I've implemented this by passing a checked variable to the _checklist partial. But are those even possible to track, dev-wise? (If so, how?)

That is a good question… while we could check at the time the email is sent, the email is sent pretty much immediately, so in practice those are unlikely to ever be checked.

  1. In the welcome checklist, where should each action button point to?

That is also a good question.

  • personalize: either settings_profile_url or web_url('start/profile')
  • follow: web_url('start/follows')
  • compose: this one is tricky… web_url('publish') would make sense on mobile but not on a larger screen. Maybe just web_url (the whole web app) or share_url (just a compose view, outside of the main web app), but none feels satisfactory
  • share: no idea, the closest I can think of is the user's profile… short_account_url(@resource.account)
  1. The apps buttons are images with text on them. The alt is managed via translation files. But how can we manage the images for different languages?

I don't know. On the subject, while I suppose we are allowed to redistribute those images, I assume this might be under a different license than the rest of Mastodon?

  1. The follow and hashtags list are absent for now (but the partials are ready). Gargron shared this code ([1]) for this but I'm don't know Ruby enough to be able to do this myself.

Alright, I can take a look later.

  1. What should the "View more people to follow" and "view more trending hashtags" links point to?

For “View more people to follow” I'd say either web_url('start/follows') or web_url('explore/suggestions'). For trending hashtags, this would be web_url('explore/tags').

  1. What should each of the four "Learn more" links in the features section point to?

The same as the corresponding links on https://joinmastodon.org/

  1. haml-lint complains about lines too long but I'm not sure how to fix this.

I will have a look and add an inline suggestion when I have one!

@ClearlyClaire
Copy link
Contributor

8. `haml-lint` complains about lines too long but I'm not sure how to fix this.

I will have a look and add an inline suggestion when I have one!

I only see it complaining about the whole template length, not line length. The mail is conceptually split in 3 pieces, those could be three different partials. Alternatively, you could ignore this for now.

@mjankowski
Copy link
Contributor

@hteumeuleu would it help to have another branch on my fork for this one that you could pull commits off of? I could attempt to fill in some of the backend stuff and handle linting issues similar to earlier PR.

@Gargron Gargron marked this pull request as ready for review February 19, 2024 04:10
@Gargron
Copy link
Member

Gargron commented Feb 19, 2024

Template should be ready now. I've added a one hour delay to sending the welcome e-mail so the user has some time to go through in-app onboarding first, otherwise the checklist would always have all items unchecked.

.haml-lint.yml Outdated Show resolved Hide resolved
@brendanjones
Copy link

brendanjones commented Feb 19, 2024

This is more a note for the future, but IMO it'd be good to replace the link to trending hashtags with a link to a curated onboarding flow for hashtags, like described in #20854 (comment).

Trending hashtags is often full of weird, indecipherable, not in English, or just plain boring (e.g. #Monday) tags, so I don't think I've ever followed a hashtag from the trending hashtags list. It's more a curiosity, and I don't think sending new users there is very valuable.

The email looks fantastic, amazing work.

Copy link
Contributor

This pull request has merge conflicts that must be resolved before it can be merged.

@Gargron Gargron force-pushed the features/email-welcome branch 2 times, most recently from 55c9b2e to 0b53ef1 Compare February 19, 2024 18:20
Copy link
Contributor

This pull request has resolved merge conflicts and is ready for review.

Copy link
Contributor

This pull request has merge conflicts that must be resolved before it can be merged.

Copy link
Contributor

github-actions bot commented Mar 1, 2024

This pull request has resolved merge conflicts and is ready for review.

@ClearlyClaire ClearlyClaire added this pull request to the merge queue Mar 1, 2024
Merged via the queue into mastodon:main with commit 934cab7 Mar 1, 2024
31 checks passed
@mjankowski
Copy link
Contributor

This looks great - glad it's in. Might open some tidy-up PRs on the mailer views/partials.

One tiny thing I noticed in preview -- looks like when we converted the button text from placeholder to actual labels, there's a width/wrapping issue (see "personalize" button in image)...

Screenshot 2024-03-01 at 12 01 03 PM

lutoma pushed a commit to ohaisocial/mastodon that referenced this pull request Mar 19, 2024
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
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.

None yet

5 participants