Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge main into branch vc-mvp-2 (#1931)
* Add fake indexeddb to support testing pin input (#1873) This is a PR in preparation for adding the PIN auth feature, which will require support for indexeddb in tests. * Add support for dynamic error keys to pin input component (#1872) * Add support for dynamic error keys to pin input component Support for dynamic keys is required to make the pin input compatible with the error texts provided by `LoginFlowError`. * Import type * Always autosubmit when PIN input is filled (#1876) * Always autosubmit when PIN input is filled On error, there is no way currently to change the input and resubmit because there is no submit button and the autosubmit only submits once. After quick check-back with Artem it was decided that the autosubmit should submit whenever the input is filled. * Fix test * Provide verify function externally to usePin flow (#1874) * Provide verify function externally to usePin flow This PR expands the usePin function to take a PIN verification function as an argument. This will later be used to immediately check whether the identity can be decrypted using the provided PIN. * Fix lint error * Implement review feedback * Add Support for PIN Identity to AuthBox (#1877) This PR adds support for pin identities to the authentication box. The feature won't become active yet, as users cannot register pin identities. The flow/functionality however can be tested using the showcase flow. Basically all of the code is taken from the `nm-set-pin` branch by @nmattia. * Refactor register to allow setting key type (#1878) This PR is in preparation for pin auth registration. For this feature, we need to have more control over the key type submitted to II. * Allow pin registration for Apple devices (#1879) This PR enables registration of PIN protected browser keys when signing up for II. The feature is enabled on Apple devices only, because it is meant as a workaround for the forced Apple iCloud integration. When adding a device later, the PIN protected browser key is not allowed, even on Apple devices. The feature is still very basic. In particular, still missing are: - the temporary key info screen - updates to the management page to correctly list temporary keys separate from passkeys - warnings on the management screen Almost all of the code is taken from the `nm-set-pin` branch by @nmattia. * Show pin protected keys in a separate list on the management page (#1880) This allows users to distinguish between the temporary keys and passkeys when visiting the management page. * Introduce information page for temporary keys (#1881) This PR introduces the information page for temporary keys to the showcase. It is not yet part of the pin registration flow. * Enable pin info page (#1882) This PR adds the pin info page to the pin registration flow. * Extract temporary key template and copy (#1883) Additional warnings, etc. need to be added. Extracting copy and separating everything related to temp keys into its own file makes it easier to modify later. * Add warning to PIN info screen (#1885) This adds the warning as shown in the figmas to the PIN info screen. * Add TempKey Security Warning to Management Screen (#1884) * Add TempKey Security Warning to Management Screen This PR adds a security warning to the management page if you have signed in using a PIN protected browser key, if there is no recovery phrase and/or passkey. * Remove unnecessary tooltip classes * Fix misleading id * Extract button duplication * Improve variable naming * Implement review feedback * Make stepper on registration finish step dependent on the auth flow (#1887) This PR extracts the stepper on the finish page and adjusts it to show the appropriate steps depending on whether a passkey or a pin protected storage key was registered. * Change PIN registration stepper to 3 steps (#1886) It also renames the first step from "set" to "set_pin" because `set` is a reserved keyword in js. * Move temp keys section above passkeys section in manage view (#1889) According to the figmans, the temp keys need to be shown first. * Highlight recovery box on no recoveries (#1888) * Highlight recovery box on no recoveries If there are no recovery methods, the recovery section is now highlighted with a warning. * Implement review feedback * Highlight passkey warning only on 0 passkeys (#1890) * Highlight passkey warning only on 0 passkeys This changes the warning highlight around passkeys to only appear if the number of passkeys is zero. Also, there is now a text shown for passkeys in the non-warning state. Together with #1888 this shifts the warning box highlight on an identity with just a single passkey from the passkey box to the recovery box. * Implement review feedback * Don't push classes * Update commit of IC artefacts (#1891) Co-authored-by: gix-bot <[email protected]> * Update selenium docker container (#1892) This PR updates the docker selenium container. In addition, it changes the resolution within the container so that the whole browser can be seen when connecting via noVNC. * Fix dapps update job not creating a PR (#1893) Fix dapps update not job not creating a PR The update action skipped on a variable that was never set, thus never actually updating the dapps file. * Fix formatting of updated dapps.json file (#1895) The dapps.json update could trigger the formatter on badly formatted json. This PR fixes the job to create the PR with acceptable formatting in the first place. * Install dependencies in dapps update (#1897) The formatter needs to be installed first before it can be run in the dapps update workflow. Fixes oversight in #1895. * Convert JPG to webp on dapp update (#1899) This automatically converts all the JPG icons to webp when updating dapps. * Fix issue with SVG conversion in dapp update (#1900) SVGs with a smaller size than 256*256 were resized in a way that just put the original image in the top-left corner. This PR fixes this and resizes the icons to appropriately fill the space. * Remove openssl install step in canister tests CI job (#1896) Remove openssl install step in canister tests CI step * Update dapps list (#1894) Update dapps Co-authored-by: gix-bot <[email protected]> * Add basic e2e test for PIN protected key registration (#1901) This adds the first basic e2e tests for the PIN registration feature. * Add PIN login e2e test (#1904) * Add PIN login e2e test This PR expands the previous test to also include a login scenario. In addtion, the asserts are improved to now check that the temp key / passkey is listed in the correct section. * Add separate recovery section * Remove recovery phrase warning banner (#1905) The recovery phrase warning banner is no longer justified as the domain migration has been put on hold. In addition, a bug (the banner being added twice) has been reported. The simplest solution to address this is to simply remove the banner. There are other nag screens / warnings still in place. * Update node version (#1903) Co-authored-by: gix-bot <[email protected]> * HTML Semantic & CSS Changes for pin workflow (#1906) * clean up pinInput component CSS * change the semantics of pinInfo * add more space on top of button * make the mainwindow narrow instead of restricting its content using max-width * re-add missing error color on pin * add a bunch of spaces before buttons * adds icon to temporary keys * authenticatorItem now takes an optional icon * Fix being prompted for PIN input after temporary key is removed (#1907) When deleting the temporary key from the identity, the key remains in browser storage. This leads to the awkward situation of the browser still prompting for the PIN even if subsequent authentication will fail. This PR introduces a check, that the browser will only use the PIN protected key if the public key is still present on the identity. * Improve confirm pin flow on pin mismatch (#1908) Previously, if the pin on the confirmation page did not match the previous input the only option was to cancel and start over. This is a very bad user experience. The behaviour is replaced with a mechanism that replaces the cancel button with a retry button that sends the user to the previous page. * Add more e2e tests for non-passkey auth (#1909) * Add more e2e test for non-passkey auth This PR adds more e2e tests for the PIN auth feature: * Login attempt with wrong PIN first * PIN registration during auth flow * auth into client application after PIN registration * Implement review feedback * Extract wrongPin variable * Add header slot to warn box (#1912) Extends the `warnBox` helper with a slot to add some template next to the exclamation mark icon. The PR will make the helper usable in more contexts relate to the non-passkey auth feature. * Use warnbox helper for temp key warning (#1913) This PR replaces the custom markup of the temp key warning with the `warnBox` helper. * Make action on temp key warning optional (#1915) This allows using the temp key warning in contexts that do not offer a button / action to take. * Add temp key warning to registration success screen (#1916) * Add temp key warning to registration success screen This adds the temp key warning also to the registration success page. * Rename slot to marketingIntroSlot * Bump chromedriver (#1914) The chrome version on the GitHub runners has changed. We need to update the chromedriver accordingly. * Add explanation paragraph to recovery method card (#1917) This PR changes the recovery method card to be consistent with the passkeys and temp keys cards: * always show card border * have a small explanatory text below the title * Update rust version (#1919) Co-authored-by: gix-bot <[email protected]> * Revert "Update rust version" (#1920) Revert "Update rust version (#1919)" This reverts commit 7c57602. * Update commit of IC artefacts (#1924) Co-authored-by: gix-bot <[email protected]> * Extract e2e test flow for recovery nag skipping (#1926) This PR extracts a flow for recovery nag skipping in the e2e tests, thus simplifying the code. * Introduce release check for verify script (#1925) This makes CI check the `verify-hash` script so that we get notified if we break it. It is not added to the canister tests workflow because it would increase runtime. * Extract e2e test flow for recovery with seed phrase (#1927) This extracts the common recovery with seed phrase flow for the e2e tests. This refactoring is done in preparation to changes to that flow (so it requires change in only one place). * Improve confusing comments (#1928) * Improve confusing comments This PR improves confusing comments surfaced in #1926. * Improve comment --------- Co-authored-by: gix-bot <[email protected]> Co-authored-by: gix-bot <[email protected]> Co-authored-by: David Aerne <[email protected]>
- Loading branch information