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

[HOLD for payment 2023-10-23] [HOLD for payment 2023-10-23] [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types #27394

Closed
trjExpensify opened this issue Sep 13, 2023 · 34 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff NewFeature Something to build that is a new item.

Comments

@trjExpensify
Copy link
Contributor

trjExpensify commented Sep 13, 2023

👋 @MitchExpensify, coming from here.

Problem

Today, only the workspace rooms have notification preferences. That creates a confusing experience whereby some chats you can control how you're notified, whereas others you can't. Needless to say, it's totally against our philosophy of maintaining consistency at every possible turn.

Why is this important?

Inflexible notifications are notoriously a sticking point for people, and we're gearing up to launch chat for prime time!

Solution

Add the three mute, daily and immediately notification preferences to all report types:

  • chat (i.e DMs, GroupDMs, policyExpenseChat, Rooms, Threads)
  • expense (including “transaction threads”)
  • iou (including "transaction threads")
  • task

The default setting for all report types should be immediately.

  • Note: Threads will have some additional considerations with the introduction of hidden prior to joining, but that's out of scope here, and we'll set immediately as the default for any thread you've joined.

The notification preference setting will be accessed by tapping the chat header on the Details > Settings page like you do today with rooms.

  • Note: For expense and iou reports, you can't click the header yet to access "Details", but that will soon be possible with this PR close to merging. (CC: @fedirjh).
  • Note: For groupDMs where in Details today it's just a current list of members, we'll need move those behind a Members > row and add a row for Settings >. While we're here, let's also include the groupDM avatar and chat title for more consistency with the other report details pages:
image
  • Note: For DMs where clicking the chat's header navigates to Profile, we'll add a Notify me about new messages push row directly for the notification setting:
image

CC: @JmillsExpensify @shawnborton

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0139328089cd0ca439
  • Upwork Job ID: 1703636061910941696
  • Last Price Increase: 2023-09-18
@trjExpensify trjExpensify added Daily KSv2 Planning Changes still in the thought process labels Sep 13, 2023
@trjExpensify trjExpensify self-assigned this Sep 13, 2023
@trjExpensify trjExpensify added the NewFeature Something to build that is a new item. label Sep 13, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 13, 2023

Current assignee @trjExpensify is eligible for the NewFeature assigner, not assigning anyone new.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Sep 13, 2023
@trjExpensify trjExpensify added Daily KSv2 and removed Weekly KSv2 labels Sep 13, 2023
@shawnborton
Copy link
Contributor

Hmm I'm not sure why there is a difference between groupDMs and single DMs. I would say that we should be consistent here and maybe always put the "Notify me..." row behind Settings in all cases. Otherwise just expose the "Notify me" row at the first level on both Groups and regular DMs.

For Group DMs, I see that you have a "Title" row mocked up behind Settings. Any reason for that? I feel like we can leave that out because it can't be edited.

@JmillsExpensify
Copy link

Oops I thought I pressed send either but just realized that I didn't...

I paused briefly on groupDM given that we're going to deprecate those in the coming month in favor of Groups. I kind of think the backward compatibility is a bit uncertain, in fact. Just off the cuff, I'd expect that we convert all Group DMs to Groups, so should we do anything for those right now? I kind of think we should let Groups shake out first.

@trjExpensify
Copy link
Contributor Author

Hmm I'm not sure why there is a difference between groupDMs and single DMs. I would say that we should be consistent here and maybe always put the "Notify me..." row behind Settings in all cases. Otherwise just expose the "Notify me" row at the first level on both Groups and regular DMs.

Yeah, maybe to elaborate on my thinking there. Single DMs open to a Profile, where as a groupDM opens to Details. The former is standalone where the email timezone etc are exposed on the page. That is unlike rooms that always uses Details and options rows to access various things from that page. So I opted for the groupDM Details page to be more consistent with room Details (which have both Members and Settings), than the profile page accessed from a DM.

Otherwise just expose the "Notify me" row at the first level on both Groups and regular DMs.

I thought about that as well, but then my second thought was that GroupDMs are soon getting an overhaul where you can invite members, change the name etc like a workspace room, so I thought it better to foreshadow it by keeping the notifications preference inside the Settings page where additional settings will live when that happens also as part of wave8.

@trjExpensify
Copy link
Contributor Author

For Group DMs, I see that you have a "Title" row mocked up behind Settings. Any reason for that? I feel like we can leave that out because it can't be edited.

Ah, the Name row? Happy to remove it for now, but same reason really, Groups will be able to have their names edited in short order.

@shawnborton
Copy link
Contributor

Got it. I don't feel strongly if you want to keep it as you have mocked or wait until the Group DMs get the overhaul and include it then. Seems like given that the title isn't related to notification preferences, we don't need to include it here.

@trjExpensify
Copy link
Contributor Author

Okay, happy to remove the name row and that gives us this:

image

@melvin-bot melvin-bot bot added the Overdue label Sep 18, 2023
@trjExpensify
Copy link
Contributor Author

Donezo!

@melvin-bot melvin-bot bot removed the Overdue label Sep 18, 2023
@trjExpensify trjExpensify added Internal Requires API changes or must be handled by Expensify staff and removed Planning Changes still in the thought process labels Sep 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Sep 18, 2023

Job added to Upwork: https://www.upwork.com/jobs/~0139328089cd0ca439

@melvin-bot
Copy link

melvin-bot bot commented Sep 18, 2023

Triggered auto assignment to Contributor Plus for review of internal employee PR - @mollfpr (Internal)

@melvin-bot
Copy link

melvin-bot bot commented Sep 18, 2023

Triggered auto assignment to @neil-marcellini (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@trjExpensify
Copy link
Contributor Author

Thread here where we're looking for a volunteer!

@techievivek
Copy link
Contributor

Reminder: We will need to make sure to update/add the regression tests for the changes introduced here.

CC @MitchExpensify

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Oct 13, 2023
@melvin-bot melvin-bot bot changed the title Wave8: Add notification preferences to all report types [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types Oct 13, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Oct 13, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 13, 2023

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot
Copy link

melvin-bot bot commented Oct 13, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.83-11 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-10-20. 🎊

After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

For reference, here are some details about the assignees on this issue:

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Oct 13, 2023
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types Oct 13, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 13, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.83-11 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-10-20. 🎊

After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

For reference, here are some details about the assignees on this issue:

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Oct 16, 2023
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types [HOLD for payment 2023-10-23] [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types Oct 16, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 16, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.84-10 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-10-23. 🎊

After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

For reference, here are some details about the assignees on this issue:

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Oct 16, 2023
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2023-10-23] [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types [HOLD for payment 2023-10-23] [HOLD for payment 2023-10-23] [HOLD for payment 2023-10-20] [HOLD for payment 2023-10-20] Wave8: Add notification preferences to all report types Oct 16, 2023
@melvin-bot
Copy link

melvin-bot bot commented Oct 16, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.84-10 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-10-23. 🎊

After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

For reference, here are some details about the assignees on this issue:

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Oct 20, 2023
@mollfpr
Copy link
Contributor

mollfpr commented Oct 22, 2023

@trjExpensify I think we don't need the checklist for this issue, because this a new feature.

@trjExpensify
Copy link
Contributor Author

Well, we should still consider regression tests and stuff or if it's new and could benefit from a PR checklist update etc.

Anyhow, Mitch has taken care of adding a regression test in this instance.

@trjExpensify
Copy link
Contributor Author

trjExpensify commented Oct 23, 2023

Confirming this is a flat $500 to @mollfpr for the internal PR review.

@JmillsExpensify
Copy link

$500 payment approved to @mollfpr based on post above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 Engineering Internal Requires API changes or must be handled by Expensify staff NewFeature Something to build that is a new item.
Projects
None yet
Development

No branches or pull requests

7 participants