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

fix: date-picker bug for negative UTC timezones #6096

Merged
merged 8 commits into from
Apr 18, 2023

Conversation

LinHuiqing
Copy link
Contributor

@LinHuiqing LinHuiqing commented Apr 13, 2023

Problem

(taken from #6025)
Date picker was using the midnight of the date picked and taking into account the timezone where the user is filling in the form. However, it does not make sense to do so as users will be picking particular dates rather than timings, and the understanding of the different timezones should be established as part of the question.

However, bug fix in PR #6025 almost caused an incident as the fix removed converting to UTC on the date picker itself, which was causing the selection offset bug.

Solution

Puts back the local time to UTC conversion right before submission so that dates saved in the DB are normalised to be in UTC time.

Note: local time to UTC conversion does not have to be restored for DateField as the responses for DateField are in string when encrypted anyway.

Breaking Changes

  • No - this PR is backwards compatible

Improvements:

  • Cast time to UTC only right before submitting custom date so the conversion will be completely invisible to users
  • Cast time to local timezone before being shown on the frontend so the frontend timezone will be consistent

Bug Fixes:

  • Users with negative UTC timezones will now have their date fields correctly reflecting the dates selected on their date pickers
  • zonedTimeToUTC was converting the timings to UTC and thus the actual date being referred to will not be preserved for respondents in negative UTC timezones. Implemented normalizeDateToUtc to ensure the actual date numbers are are preserved.

Before & After Screenshots

BEFORE:

Screen.Recording.2023-03-31.at.3.18.31.AM.mov

AFTER:

Disallow past dates:

Screen.Recording.2023-04-13.at.2.48.49.PM.mov

Disallow future dates:

Screen.Recording.2023-04-13.at.5.08.17.PM.mov

Custom date range:

Screen.Recording.2023-04-13.at.5.11.57.PM.mov

Tests

To ensure that all our bases are covered, try to test the most extreme timezones. Here are the suggested timezones:

  • Most common use case: Singapore - Singapore (UTC +08)
  • Negative: Alofi - Niue (UTC -11)
  • Positive: Wellington - New Zealand (UTC +12)

Preparation:

  • Create a form with a date field and open the form.

For the tests below, timezones A and B refer to the positive and negative timezones mentioned above, in any order.

Ensure that date picker for date field with "Disallow past dates" option exhibits expected behaviour:

    • Set your timezone as A.
    • On the admin panel, refresh, select and save the "Disallow past dates" option for the date field.
    • On the respondent form, refresh and open the date picker. Only the current and future dates of the timezone should be shown.
    • Select a date. The appropriate date should be reflected in the date field.
    • Change your device's timezone to B.
    • Repeat tasks 3-4.
    • Repeat tasks 2-4.
    • Change your device's timezone to A.
    • Repeat tasks 3-4.

Ensure that date picker for date field with "Disallow future dates" option exhibits expected behaviour:

    • Set your timezone as A.
    • On the admin panel, refresh, select and save the "Disallow future dates" option for the date field.
    • On the respondent form, refresh and open the date picker. Only the current and future dates of the timezone should be shown.
    • Select a date. The appropriate date should be reflected in the date field.
    • Change your device's timezone to B.
    • Repeat tasks 3-4.
    • Repeat tasks 2-4.
    • Change your device's timezone to A.
    • Repeat tasks 3-4.

Ensure that date picker for date field with "Custom date range" option exhibits expected behaviour:

    • Set your timezone as A.
    • On the admin panel, refresh and select the "Custom date range" option for the date field.
    • Select a start date.
    • Open the end date field date picker. Only the dates on or after the selected start date should be selectable.
    • Select an end date.
    • Save the selected date range. Optionally, check that the dates saved in the DB are in UTC.
    • On the respondent form, refresh and open the date picker. Only the dates in the selected date range should be selectable.
    • Select a date. The respective date should be reflected in the date field.
    • Change your device's timezone to B.
    • Repeat tasks 7-8.
    • Repeat task 2. Ensure that the start and end dates remain the same.
    • Update the start and end dates for the date field. Save it.
    • Repeat tasks 7-8.
    • Change your device's timezone to A.
    • Repeat tasks 7-8.

Note: Here's how to set your Mac's timezone.

Design/ product question: Should "Disallow past dates" and "Disallow future dates" be taking the past / future based on the admins' timezone, specified timezone or the users' timezone? Also, even when we have decided on the previous question, does it even make sense if the concept of time is not considered? E.g. if the recurring event I want to organise is at 10am, our date picker won't be able to know that so if we have a timezone in mind, it won't "filter" properly. Currently, it's simply implemented based on the users' timezone so its not disorienting.

- (FE) normalize dates to UTC before storing in DB
- (FE) load normalized dates to local timezone
- (BE) remove adjustments due to timezone
Copy link
Contributor

@foochifa foochifa left a comment

Choose a reason for hiding this comment

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

A bit premature (as its still a draft), but just wanted to highlight the date stuffs

frontend/src/utils/date.ts Outdated Show resolved Hide resolved
frontend/src/utils/fieldValidation.ts Outdated Show resolved Hide resolved
@LinHuiqing LinHuiqing marked this pull request as ready for review April 14, 2023 04:28
@LinHuiqing
Copy link
Contributor Author

Will be adding the tests in a bit! Will try to be as extensive as possible so will take a while. But the videos kinda show what I think should be in the manual tests!

@LinHuiqing LinHuiqing requested review from foochifa and tshuli April 14, 2023 04:29
@LinHuiqing
Copy link
Contributor Author

LinHuiqing commented Apr 14, 2023

Okays tests have been updated! 👍

@foochifa
Copy link
Contributor

foochifa commented Apr 17, 2023

Might be related to Shuli's comments
image

To replicate -> Create a date field -> set disallow past/future -> save
Go back into field -> unset disallow past/future -> validation failure

@LinHuiqing LinHuiqing force-pushed the fix/date-picker-timezone branch from 24f2452 to b30c58c Compare April 17, 2023 07:28
@LinHuiqing
Copy link
Contributor Author

Might be related to Shuli's comments
<image>
To replicate -> Create a date field -> set disallow past/future -> save Go back into field -> unset disallow past/future -> validation failure

@foochifa should be fixed in b30c58c

@foochifa
Copy link
Contributor

foochifa commented Apr 18, 2023

image

Yikes 😭

Is this caused by server side validation? My timezone is set in the US, hence 17/4/23 is a valid option.

Sorry mb! not a prob

@LinHuiqing
Copy link
Contributor Author

<img alt="image" width="1213" src="https://user-images.githubusercontent.com/59867455/232657986-580a76fa-d316-4d1e-8df4-ac787291a6e7.png">

Yikes 😭

Is this caused by server side validation? My timezone is set in the US, hence 17/4/23 is a valid option.

I'm assuming you selected disallow past dates, then selected 17/4/23? I can't seem to replicate it though?

@LinHuiqing LinHuiqing requested a review from tshuli April 18, 2023 03:55
Copy link
Contributor

@foochifa foochifa left a comment

Choose a reason for hiding this comment

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

Lgtm Thanks HQ!!

@LinHuiqing LinHuiqing merged commit a8ac2a2 into develop Apr 18, 2023
@LinHuiqing LinHuiqing deleted the fix/date-picker-timezone branch April 18, 2023 09:48
@foochifa foochifa mentioned this pull request Apr 19, 2023
36 tasks
LinHuiqing added a commit that referenced this pull request Apr 19, 2023
* fix(deps): bump type-fest from 3.7.2 to 3.8.0 in /shared (#6064)

Bumps [type-fest](https://github.com/sindresorhus/type-fest) from 3.7.2 to 3.8.0.
- [Release notes](https://github.com/sindresorhus/type-fest/releases)
- [Commits](sindresorhus/type-fest@v3.7.2...v3.8.0)

---
updated-dependencies:
- dependency-name: type-fest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(deps): bump vm2 from 3.9.11 to 3.9.15 (#6075)

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.11 to 3.9.15.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](patriksimek/vm2@3.9.11...3.9.15)

---
updated-dependencies:
- dependency-name: vm2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/parser from 5.57.1 to 5.58.0 in /shared (#6083)

chore(deps-dev): bump @typescript-eslint/parser in /shared

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 in /shared (#6082)

chore(deps-dev): bump @typescript-eslint/eslint-plugin in /shared

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(deps): bump vm2 from 3.9.15 to 3.9.16 (#6092)

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.15 to 3.9.16.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](patriksimek/vm2@3.9.15...3.9.16)

---
updated-dependencies:
- dependency-name: vm2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/lodash from 4.14.192 to 4.14.194 in /shared (#6100)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.192 to 4.14.194.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: prune error logs for ndi oidc key retrieval error (#6098)

* chore: prune error logs for oidc key retrieval error

* chore: handle undefined

* chore(deps-dev): bump @typescript-eslint/parser from 5.58.0 to 5.59.0 in /shared (#6105)

chore(deps-dev): bump @typescript-eslint/parser in /shared

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.58.0 to 5.59.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: date-picker bug for negative UTC timezones (#6096)

* fix: remove timezone from datepicker

* fix: datepicker bugs due to timezones

- (FE) normalize dates to UTC before storing in DB
- (FE) load normalized dates to local timezone
- (BE) remove adjustments due to timezone

* docs: futureOnly and pastOnly validators

* refactor: allow null inputs for new date util fns

* fix: date normalization fns to use date as numbers

* refactor: remove unnecessary var assignment

* fix: unset date validation

* fix: compare to dates in earliest & latest tzs

* fix(deps): bump libphonenumber-js from 1.10.26 to 1.10.28 in /shared (#6119)

Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.10.26 to 1.10.28.
- [Release notes](https://gitlab.com/catamphetamine/libphonenumber-js/tags)
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.26...v1.10.28)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 in /shared (#6104)

chore(deps-dev): bump @typescript-eslint/eslint-plugin in /shared

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.58.0 to 5.59.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: track nodejs runtime metrics in APM (#6120)

* fix(deps): bump xml2js and aws-sdk (#6084)

Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) to 0.5.0 and updates ancestor dependency [aws-sdk](https://github.com/aws/aws-sdk-js). These dependencies need to be updated together.


Updates `xml2js` from 0.4.19 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](Leonidas-from-XIV/node-xml2js@0.4.19...0.5.0)

Updates `aws-sdk` from 2.1282.0 to 2.1354.0
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.1282.0...v2.1354.0)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: aws-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: make hsts header follow recommendation from csa (#6106)

* chore: make hsts header follow recommendation from csa

Description of check in csa scanner:
The scanner checks if your website offers HSTS. It checks for the existence of a “strict transport security header“ with max-age >= 1yr, and the existence of "include subdomains“ in your website’s response header.

* fix: fix test with new HSTS value

* chore: bump version to v6.41.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Justyn Oh <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tshuli <[email protected]>
Co-authored-by: Lin Huiqing <[email protected]>
Co-authored-by: Timothee Groleau <[email protected]>
LinHuiqing added a commit that referenced this pull request Apr 19, 2023
* build: release v6.41.0 (#6128)

* fix(deps): bump type-fest from 3.7.2 to 3.8.0 in /shared (#6064)

Bumps [type-fest](https://github.com/sindresorhus/type-fest) from 3.7.2 to 3.8.0.
- [Release notes](https://github.com/sindresorhus/type-fest/releases)
- [Commits](sindresorhus/type-fest@v3.7.2...v3.8.0)

---
updated-dependencies:
- dependency-name: type-fest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(deps): bump vm2 from 3.9.11 to 3.9.15 (#6075)

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.11 to 3.9.15.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](patriksimek/vm2@3.9.11...3.9.15)

---
updated-dependencies:
- dependency-name: vm2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/parser from 5.57.1 to 5.58.0 in /shared (#6083)

chore(deps-dev): bump @typescript-eslint/parser in /shared

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 in /shared (#6082)

chore(deps-dev): bump @typescript-eslint/eslint-plugin in /shared

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(deps): bump vm2 from 3.9.15 to 3.9.16 (#6092)

Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.15 to 3.9.16.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](patriksimek/vm2@3.9.15...3.9.16)

---
updated-dependencies:
- dependency-name: vm2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/lodash from 4.14.192 to 4.14.194 in /shared (#6100)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.192 to 4.14.194.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: prune error logs for ndi oidc key retrieval error (#6098)

* chore: prune error logs for oidc key retrieval error

* chore: handle undefined

* chore(deps-dev): bump @typescript-eslint/parser from 5.58.0 to 5.59.0 in /shared (#6105)

chore(deps-dev): bump @typescript-eslint/parser in /shared

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.58.0 to 5.59.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: date-picker bug for negative UTC timezones (#6096)

* fix: remove timezone from datepicker

* fix: datepicker bugs due to timezones

- (FE) normalize dates to UTC before storing in DB
- (FE) load normalized dates to local timezone
- (BE) remove adjustments due to timezone

* docs: futureOnly and pastOnly validators

* refactor: allow null inputs for new date util fns

* fix: date normalization fns to use date as numbers

* refactor: remove unnecessary var assignment

* fix: unset date validation

* fix: compare to dates in earliest & latest tzs

* fix(deps): bump libphonenumber-js from 1.10.26 to 1.10.28 in /shared (#6119)

Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.10.26 to 1.10.28.
- [Release notes](https://gitlab.com/catamphetamine/libphonenumber-js/tags)
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.26...v1.10.28)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 in /shared (#6104)

chore(deps-dev): bump @typescript-eslint/eslint-plugin in /shared

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.58.0 to 5.59.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: track nodejs runtime metrics in APM (#6120)

* fix(deps): bump xml2js and aws-sdk (#6084)

Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) to 0.5.0 and updates ancestor dependency [aws-sdk](https://github.com/aws/aws-sdk-js). These dependencies need to be updated together.


Updates `xml2js` from 0.4.19 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](Leonidas-from-XIV/node-xml2js@0.4.19...0.5.0)

Updates `aws-sdk` from 2.1282.0 to 2.1354.0
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.1282.0...v2.1354.0)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: aws-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: make hsts header follow recommendation from csa (#6106)

* chore: make hsts header follow recommendation from csa

Description of check in csa scanner:
The scanner checks if your website offers HSTS. It checks for the existence of a "strict transport security header" with max-age >= 1yr, and the existence of "include subdomains" in your website’s response header.

* fix: fix test with new HSTS value

* chore: bump version to v6.41.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Justyn Oh <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tshuli <[email protected]>
Co-authored-by: Lin Huiqing <[email protected]>
Co-authored-by: Timothee Groleau <[email protected]>

* build: release v6.41.1 (#6134)

chore: bump version to 6.41.1

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Foo Chi Fa <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: tshuli <[email protected]>
Co-authored-by: Lin Huiqing <[email protected]>
Co-authored-by: Timothee Groleau <[email protected]>
Co-authored-by: Ken Lee Shu Ming <[email protected]>
This was referenced Apr 19, 2023
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.

3 participants