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

build: release v6.83.0 #6822

Closed
wants to merge 8 commits into from
Closed

build: release v6.83.0 #6822

wants to merge 8 commits into from

Conversation

wanlingt
Copy link
Contributor

@wanlingt wanlingt commented Oct 19, 2023

New

  • fix(sgid-login): add graceful handling of errors when work email is invalid #6819
  • test: fix error message for InvalidFileKeyError #6821
  • chore: update serverless package.json #6820
  • fix(storybook): build crash, and missing NumberField customVal #6808
  • chore: increase hot lambda to 10 #6815
  • feat(sgid-myinfo): add even more sgid myinfo fields #6807
  • build: merge release 6.82.0 into develop #6801
  • feat(sgid-login): general availability and multi-employment #6763
  • feat: add more myinfo sgid fields #6766
  • build: release v6.82.0 #6800
  • chore: bump version to v6.83.0 0e9c4bc

Dependencies

Dev-Dependencies

  • chore(deps-dev): bump @babel/traverse from 7.22.11 to 7.23.2 in /serverless/virus-scanner #6809
  • chore(deps-dev): bump @babel/traverse from 7.20.1 to 7.23.2 in /frontend #6810

Tests

feat(sgid-login): general availability and multi-employment #6763

@wanlingt

Note: See ticket for instructions to install the chrome extension to help in testing sgid login.

Regression
OTP login, logout

  • Ensure that logging-in through OTP shows your dashboard
  • Ensure that after logging-out will redirect you if you head to /dashboard

New Feature
sgID login flow happy flow

  • Ensure that you are logged out
  • Ensure that going to /login/select-profile brings you back to /login
  • Ensure that going to /dashboard brings you back to /login
  • Ensure that clicking Log in with singpass app will bring you to sgid login page where you are presented with a qrcode
  • Ensure that scanning the qrcode with a valid account will bring you to /login/select-profile with 1 account
  • Ensure that clicking on the account brings you to

Prevent sgID login-jacking; expire select-profile session

  • Click Log in with singpass app, and scan the QRCode
  • Ensure that you are on the /login/select-profile page
  • Ensure that you are still on the page when you refresh
  • Stay on /login/select-profile for more than 5 minutes
  • Ensure that you are redirect back to /login after 5 mins

No work employment admin

  • Click Log in with singpass app, and scan the QRCode (find a profile that has no work employment)
  • Ensure that you are on the /login/select-profile page
  • Ensure that you see a dialog prompting Singpass login isn't available to you yet
  • Ensure that there's no close button, and the dialog cannot be dismissed through backdrop press
  • Ensure that clicking on CTA button redirects Admin back to /login

Multi-work employment admin

  • Click Log in with singpass app, and scan the QRCode (find a profile that has multiple work employment)
  • Ensure that you are on the /login/select-profile page
  • Ensure that you see multiple entries of work employment
  • Ensure that the selected profile is correctly logged in
  • Return to /login/select-profile
  • Ensure that clicking on a different profile through allows you to switch profile (so long it is within 5 mins)
  • Ensure that the selected profile is correctly logged in
    Note: profile switching is an out-of-scope feature, that is can be extended in the future

Non-whitelisted admin login

  • Click Log in with singpass app, and scan the QRCode (find a profile that is not from a whitelisted domain)
  • Ensure that you are on the /login/select-profile page
  • Click on the profile
  • Ensure that you see a dialog prompting You don't have access to this service
  • Ensure that clicking on close button, and backdrop press will dismiss the dialog
  • Ensure that clicking on CTA button redirects Admin back to /login

feat(sgid-myinfo): add even more sgid myinfo fields #6807

  • On an email-mode form, select 'Singpass app-only with myInfo' as the authentication method
  • Add the following MyInfo fields to the form:
  • Workpass Expiry Date
  • Residential Status
  • Dialect
  • Occupation
  • Country of Marriage
  • Marriage cert number
  • Marriage date
  • Divorce date
  • Submit a test form using the SGID chrome extension. The fields related to marriage/divorce should be editable.

feat: add more myinfo sgid fields #6766

  • On an email-mode form, select 'Singpass app-only with myInfo' as the authentication method
  • Add all the available MyInfo fields to the form. These are:
    • Sex,
    • Race,
    • Nationality,
    • HousingType,
    • HdbType,
    • RegisteredAddress,
    • BirthCountry,
    • VehicleNo,
    • Employment,
    • WorkpassStatus,
    • Marital,
    • MobileNo
  • Submit a test form using the SGID chrome extension

Regression Test

  • On an email-mode form, select 'Singpass with MyInfo' as the authentication method
  • Select the same fields as above
  • Submit the form

Deploy Notes

feat(sgid-myinfo): add even more sgid myinfo fields #6807 and feat: add more myinfo sgid fields #6766

  • Ensure that all the SGID scopes have been added to the SGID Developer Portal FormSG app (done)
  • Turn on the Growthbook feature flag (set as true for OGP, default is set to false), adjust the growthbook rollout percentage accordingly

feat(sgid-login): general availability and multi-employment #6763

  • SGID_ADMIN_LOGIN_REDIRECT_URI to be updated to https://form.gov.sg/api/v3/auth/sgid/login/callback' with their respectively subdomains for staging,staging-alt,staging-alt2, uat, and prod
  • Register POCDEX scope (pocdex.public_officer_details) on developer.id.gov.sg

wanlingt and others added 8 commits October 17, 2023 09:36
* feat: use fe app URL for local dev redirect

* feat: add new myinfo sgid fields

new fields: sex, race, nationality, housingtype, hdbtype

* feat: add registered address

* feat: log if missing myinfo field is from sgid or singpass login

* feat: use isDataReadOnly property

* feat: add growthbook

* feat: add more sgid fields

* chore: promote -sgid config to use env site name

(cherry picked from commit e9d9288)

* fix: fix linting errors

* feat: change formatVehicles input type

* fix: set agency shortname as growthbook attribute

* fix: catch errors when parsing vehicles

* feat: account for blank fields

* feat: account for NA in missing field values check

* fix: clean up code

* fix: remove comment

* fix: include SGID_SUPPORTED_V1 in SGID_SUPPORTED_V1

* fix: include more details in comment

* feat: add logging to _isDataReadOnly for Singpass and SGID MyInfo

* fix: remove console.log statement

* feat: update mobile_number_with_country_code scope

* fix: return empty string when fieldValue is NA

---------

Co-authored-by: Ken <[email protected]>
* feat: use pocdex sgid employment scope

* feat: fe sgid page, components

* fix: req.session typing

* feat: add be profiles handling, refactor callback to profile-select

* feat: add be routes

* fix: add cleaning of response from sgid

* feat: handle multi-employment profiles

* feat: add error modals

* chore: ui design changes on login page

* feat: handle empty workprofiles

* refactor: convert to async func

* refactor: add utils to resolve redirection to local fe url

* chore: remove test code

* feat: add expiry to prevent login jacking

* fix: add error toasts

* chore: remove unused type

* refactor: rename logincallbackpage to selectprofilepage

* chore: add jsdocs comments

* chore: remove test code

* feat: add cta support url

* refactor: move constant external urls to shared constants

* chore: promote -sgid config to use env site name

* fix: fix playwright finding two button elements

* chore: update scope from public_officer_employments to public_officer_details

* fix: update to match typing returned from sgid

* chore: use agencies instead of organisations in copy

* chore: use statuscode constants

* refactor: extract apikey as const
build: merge release 6.82.0 into develop
…end (#6810)

Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.1 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…erless/virus-scanner (#6809)

chore(deps-dev): bump @babel/traverse in /serverless/virus-scanner

Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.11 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add residential status and workpassexpirydate

* feat: add more myinfo fields

* fix: fix typos in scopes

* feat: update copy to reflect field parity
@wanlingt wanlingt closed this Oct 19, 2023
@wanlingt wanlingt deleted the release_v6.83.0 branch October 19, 2023 06:35
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