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

Mark/update notification settings design #18159

Merged
merged 4 commits into from
Nov 1, 2022

Conversation

matter-q
Copy link
Contributor

@matter-q matter-q commented Oct 19, 2022

What

Closes #17087

How

Notification settings design page redesign

  • Moved the Save changes button under the card
  • Changed the behavior of the notification form
  • Added button Need help with Webhook URL?
  • Created notification guide panel

Figma design

Loom

Updated Loom with the latest changes:
https://www.loom.com/share/b8ecd9f3a3b04a7f8c5a93fc696f80d2

@github-actions github-actions bot added area/platform issues related to the platform area/frontend Related to the Airbyte webapp labels Oct 19, 2022
@matter-q matter-q marked this pull request as ready for review October 19, 2022 13:49
@matter-q matter-q requested a review from a team as a code owner October 19, 2022 13:49
@matter-q matter-q force-pushed the mark/update-notification-settings-design branch from fbe8ac6 to 5cbffc3 Compare October 19, 2022 13:52
Copy link
Contributor

@edmundito edmundito left a comment

Choose a reason for hiding this comment

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

The code is looking really good. I did some local testing and there are a couple of areas that can be improved in terms of indicating success and error. The rest is mostly style issues.

Additionally, we are trying to move away from using the public folder (#15956) and instead the webhook-guide.png image should be alongside the webhook component.

"settings.metrics": "Metrics",
"settings.notificationSettings": "Notification Settings",
"settings.notificationsParameters": "Notifications parameters",
Copy link
Contributor

Choose a reason for hiding this comment

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

@andyjih This change is for the title of the Notifications page to follow what was exactly in the Figma. What should it be here? Notification Settings, Notifications, or Notification parameters?

Copy link
Contributor Author

@matter-q matter-q Oct 24, 2022

Choose a reason for hiding this comment

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

@andyjih Could you also provide messages for the Test action button when it's a success and failed operation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My question is covered by Nicolas Philippot

Copy link
Contributor

Choose a reason for hiding this comment

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

Decided on Notification Settings during standup

const webhookChange = async (action: WebhookAction, data: WebhookPayload) => {
setFormAction((value) => ({ ...value, [action]: true }));
if (action === WebhookAction.Test) {
await testWebhook(data);
Copy link
Contributor

Choose a reason for hiding this comment

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

There should be a feedback message when the notification test succeeds or fails, the same for trying to save the connection. There is no feedback message, even on the main branch. Would it be possible to fix this here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we have a specific service or component for notifications? Like we have a message when the connection with the server is unavailable (it's a small toast). The previous implementation was not good and not standard for all such forms.

Copy link
Contributor

Choose a reason for hiding this comment

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

Agree with @edmundito. Also tested locally, and we indeed need to show the user the webhook URL testing (was it successful or not)

@matter-q yeah, we have such a service -

const NotificationService = ({ children }: { children: React.ReactNode }) => {

Please note, there can be 2 possible cases when a testing hook request can be failed:

  • 4xx status response from BE (if we have sent the totally wrong URL)
  • 2xx status response from 3rd party hook service (need to check the response)

I've used the https://webhook.site/ service for testing webhooks

Copy link
Contributor Author

Choose a reason for hiding this comment

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

After a conversation with Nicolas Philippot, we decided to handle only the error message on the Test button. The error message should be below the input.

Copy link
Contributor

@dizel852 dizel852 left a comment

Choose a reason for hiding this comment

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

Overall - code LGTM.
Was reviewing after @edmundito comment fixes.

Left a comment regarding NoficationsService.

@matter-q matter-q force-pushed the mark/update-notification-settings-design branch 2 times, most recently from 55a370d to fe8e521 Compare October 25, 2022 14:28
Copy link
Contributor

@edmundito edmundito left a comment

Choose a reason for hiding this comment

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

Had some notes about the error handling

@matter-q matter-q force-pushed the mark/update-notification-settings-design branch from c15e5bd to 561010a Compare October 25, 2022 21:50
Copy link
Contributor

@dizel852 dizel852 left a comment

Choose a reason for hiding this comment

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

Code LGTM, tested locally.
Let's wait for final approval from @edmundito

@edmundito question:
Currently, we show the input error in case the test is failed.
Why we decided do not to show the message in case of successful testing?

@matter-q matter-q marked this pull request as draft October 28, 2022 10:18
@matter-q matter-q changed the title Mark/update notification settings design [WIP] Mark/update notification settings design Oct 28, 2022
@matter-q
Copy link
Contributor Author

Waiting for final UI decision from Niko 😀

@dizel852
Copy link
Contributor

@Upmitt

@matter-q matter-q force-pushed the mark/update-notification-settings-design branch from 8ea279b to a519116 Compare October 28, 2022 16:36
@matter-q matter-q changed the title [WIP] Mark/update notification settings design Mark/update notification settings design Nov 1, 2022
@matter-q matter-q marked this pull request as ready for review November 1, 2022 01:10
- Removed styled-components
- Added new behavior 'Test' and 'Submit' buttons
- Removed styled-components
- Added new behavior 'Test' and 'Submit' buttons
- Removed styled-components
- Added new behavior 'Test' and 'Submit' buttons
- Removed styled-components
- Added new behavior 'Test' and 'Submit' buttons
@matter-q matter-q force-pushed the mark/update-notification-settings-design branch from 555973d to 40fe886 Compare November 1, 2022 01:11
Copy link
Contributor

@edmundito edmundito left a comment

Choose a reason for hiding this comment

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

Tested locally and testing/save/validation rules work as expected!
Tested links on doc and both navigate to the correct page

@matter-q matter-q merged commit e7ae961 into master Nov 1, 2022
@matter-q matter-q deleted the mark/update-notification-settings-design branch November 1, 2022 17:26
letiescanciano added a commit that referenced this pull request Nov 2, 2022
* master: (59 commits)
  🪟🔧 Remove styled components (round 1) (#18766)
  Bump Airbyte version from 0.40.17 to 0.40.18 (#18827)
  ci: add job and run id to test reports (#18832)
  hide ConfigPersistence inside ConfigRepository to discourage use (#18803)
  Remove the bulk actions from ConfigPersistence (#18800)
  remove config persistence from seeding logic (#18749)
  Remove ConfigPersistence usage from SecretsMigrator (#18747)
  Add normalization changelog and bump normalization version in platform (#18813)
  🐛Source Exchange Rates: Fix handling error during check connection (#18726)
  🐛Destination Google Sheets: Fix empty headers list (#18729)
  Bump helm chart version reference to 0.40.40 (#18815)
  Use equalsIgnoreCase (#18810)
  [charts/airbyte-cron] Cleanup env vars (#18787)
  🐛 Source Facebook Marketing: reduce request limit after specific error (#18734)
  Parameterize test_empty_streams and test_stream_with_1_airbyte_column by destination (#18197)
  Correct coinmarket spec (#18790)
  ci: use custom test-reporter action to upload job results (#18004)
  Fix unit tests in source relational db (#18789)
  query to include data plane attributes (#18531)
  Mark/update notification settings design (#18159)
  ...
natalyjazzviolin pushed a commit that referenced this pull request Nov 3, 2022
* Update Notification Settings design

- Removed styled-components
- Added new behavior 'Test' and 'Submit' buttons
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend Related to the Airbyte webapp area/platform issues related to the platform team/platform-move
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update Notification Settings design
4 participants