* Resolve the wrong subscription expiration date
* Refactor the change to include flag
* refactor the change to consider the flag
* Resolve the year bug for all subscription
* Changes for the premium user
* resolve the premium issue
* PM-11635 - Refactor Base Login Component NgOnInit to properly connect the loading of email settings from state to the processing of query params. If an email is not passed via query params (like registration / normal login), then we will try to load the email from state.
* PM-11635 - Extension login component - call parent ngOnInit as it is responsible for processing / setting email from either query params or state. The addition of the child ngOnInit prevented the parent component ngOnInit from executing.
* Move SendV2component into send-v2 subFolder
* Create SendFormContainer and related services
* Add initial SendFormComponent which uses the SendFormContainer
* Remove AdditionalOptionsSectionComponent which will be added with a future PR
* Add libs/tools/send to root tsconfig
* Register libs/tools/send/send-ui with root jest.config.js
* Register libs/tools/send/send-ui with root tailwind.config.js
* Create empty Send add edit page
- Introduces conditional routing based on extension refresh feature flag
- After selecting a Send type via the New button navigate to the new send-add-edit page and build a SendFormConfig
* Fix service injection on DefaultSendFormService
* Rename setHeader into getHeaderText, make it private and add documentation
* Set radix/base to 10 for parseInt
* Add documentation
* Rename local variable
* Removed unneeded loading state
* Remove unused originalSendId
* Run prettier
* Add link to edit an existing send
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add premium-v2.component
* (No Logic) Move existing premium.component into new premium folder
* Add new premium-v2.component to /premium route behind FF
* [PM-7846] Implement a rust based native messaging proxy and IPC system
* Only build desktop_proxy
* Bundle the desktop_proxy file
* Make sys deps optional for the proxy
* Restore accidentally deleted after-sign
* Update native cache to contain dist folder
* Add some test logging
* Native module cache seems very aggressive
* Fix invalid directory
* Fix debug print
* Remove cache force
* Remove cache debug code
* Only log to file in debug builds
* Place the binary in the correct place for mac and make sure it's signed
* Fix platform paths
* Test unsigned appx
* Revert "Test unsigned appx"
This reverts commit e47535440a.
* Fix comment
* Remove logs
* Use debug builds in native code, and test private path on MacOS
* Add connected message
* Update IPC API comments
* Update linux to also use XDG_ dir
* Update main.rs comment
* Improve docs and split some tasks spawned into separate functions
* Update send docs and return number of elements sent
* Mark `listen` as async to ensure it runs in a tokio context, handle errors better
* Add log on client channel closed
* Move binary to MacOS folder, and sign it manually so it gets the correct entitlements
* Fix some review comments
* Run prettier
* Added missing zbus_polkit dep
* Extract magic number and increase it to match spec
* Comment fix
* Use Napi object, combine nativeBinding export, always log to file
* Missed one comment
* Remove unnecessary generics
* Correct comment
* Select only codesigning identities
* Filter certificates
* Also add local dev cert
* Remove log
* Fix package ID
* debug_assert won't run the pop() in release mode
* Better error messages
* Fix review comments
* Remove unnecessary comment
* Update napi generated TS file
* Temporary fix for DDG
* Fix account switcher on logged out account on startup
* Undo space removal
* Add additional checks for null values
* Fix account switching on timeout on browser
* Fix linting
* Fix broken init in browser
* Split access-selector stories into separate stories and files
* Tweak existing stories to better represent actual use cases in our app
* Add jsdoc comments
* Add stories
- move organization-user files from libs/common/src/admin-console into libs/admin-console/src/common
- add barrel files and update imports to use barrel files
- rename OrganizationUserService to OrganizationUserApiService
- rename OrganizationUserServiceImplementation to DefaultOrganizationUserApiService
* [PM-11386] Limit presentation of inline menu for identities strictly to fields that contain valid autocomplete attribute
* [PM-11386] Limit presentation of inline menu for identities strictly to fields that contain valid autocomplete attribute
* [PM-11474] Delay cleanup of injected passkey script
* [PM-11474] Incorporating changes to ensure passkeys function within Safari script effectively
* [PM-11474] Fixing jest tests
* [PM-11474] Fixing jest tests
* rename existing fido2 components to use v1 designation
* use fido2 message type value constants in components
* add v2 fido2 components
* add search to login UX of fido2 v2 component
* add new item button in top nav of fido2 v2 component
* get and pass activeUserId to cipher key decription methods
* cleanup / PR suggestions
* Add adjust-storage-dialog-v2.component
* (No Logic) Rename old adjust-storage.component to adjust-storage-dialog.component
* (No Logic) Move existing adjust-storage-dialog.component into new adjust-storage-dialog folder
* Use adjust-storage-dialog-v2.component in adjustStorage methods when FF is on
* use shared expiration year normalization util function
* use shared exp year normalization in web and desktop client
* handle cases where input has leading zeroes
* add utils tests
* handle cases where input is all zeroes
* update base anon-layout logo/icon
* update ExtensionAnonLayout logo/icon based on theme
* remove hard-coded fill
* remove solarizedDark class
---------
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
* created trash and trash container component
* added trash to vault settings
created observable to get deleted ciphers
* export icon
added locales
* remove edit and delete footver from trash view cipher
* Added helper text when viewing deleted ciphers
* prevent premature access of isDeleted from the cipher object
* simplified the condition to show the edit button
* return cipherView for deletedCiphers$ since that is what is used in the component
* changed section header to h6
* added routing animation
* Added restore to footer
* [PM-11519] `browser` global reference triggering an error when sending an extension message
* [PM-11519] `browser` global reference triggering an error when sending an extension message
* PM-11318 - Registration Finish - Log user in after registration
* PM-11318 - Adjust registration and login message to be one msg
* PM-11318 - RegistrationFinish - Adjust messaging based on product feedback.
* PM-11318 - RegistrationFinishComp - Tweak redirect and error logic.
* Remove Firefox Exemption
* Do Not Open Sidebar On Install
* Run `chrome.runtime.reload` on All Browsers
* Update Docs & Test Name
* Should Probably Call The Sut In Test
* Update Doc Comment
* Update apps/browser/src/platform/browser/browser-api.ts
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
---------
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* (No Logic) Fix typo in billing-api-service.abstraction file name
* (Cleanup) Remove payment method components and API methods from provider portal
Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.
* Add organization endpoints to support new payment method behavior
* Add payment-v2.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* (No Logic) Move existing payment.component into new payment component folder
* Add verify-bank-account.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* Add adjust-payment-dialog-v2.component
* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder
* Add organization-payment-method.component
* Add feature flag: AC-2476-deprecate-stripe-sources-api
* Pivot organization payment method route on new feature flag
* Fix broken test
* [PM-10669] Notification bar appears inconsistently after login
* [PM-10669] Notification bar appears inconsistently after login
* [PM-10669] Migrating work from POC branch into feature branch
* [PM-10669] Incorporating styles for select element
* [PM-10669] Incorporating styles for select element
* [PM-10669] Fixing notification bar lifespan const
* [PM-10669] Incorporating logic that conditionally loads specific bootstrap autofill feature files
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating a circle checkmark icon within the success message of the notification bar
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing how we handle keyup events on the submit button
* [PM-10669] Fixing how we handle keyup events on the submit button
* [PM-10669] Fixing jest tests within notification bar
* [PM-10669] Adding a jest tests to validate behavior within AutofillInit
* [PM-10669] Adding a jest tests to validate behavior within AutofillInit
* [PM-11170] Addressing test coverage within CollectAutofillContentService
* [PM-11170] Addressing test coverage within CollectAutofillContentService
* [PM-10669] Refactoring implementation
* [PM-10669] Adding documentation to the methods incorporated within the AutofillOverlayContentService
* [PM-10669] Incorporating jest tests for the AutofillOverlayContentService
* [PM-10669] Migrating logic associated with the DomQuerySevice away from the CollectAutofillContentService
* [PM-10669] Fixing required references to DomQueryService within the implementation
* [PM-10669] Holding off on re-incorporating the userTreeWalkerStrategyFlag
* [PM-10669] Incorporating jest tests for DomQueryService
* [PM-10669] Adding jest test to validate changes within AutofillService
* [PM-10669] Adding jest tests to validate changes within AutofillOverlayContentService
* [PM-10669] Adding documentation to the OverlayNotificationsBackground class
* [PM-10669] Adding documentation to the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService
* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService
* [PM-10669] Adding new copy for the password saved/updated event in the notification bar
* [PM-10669] Fixing visual presentation of sucesss message
* [PM-10669] Fixing visual presentation of sucesss message
* [PM-10418] Incorporating fallback for when we cannot capture the form button effectively
* [PM-10669] Incorporating fixes for form submission button not being captured
* [PM-10669] Incorporating a guard to ensure that an AJAX submission captures form data after the user has entered their credentials
* [PM-10669] Incorporating a field qualification rule to ensure that we capture forms that are non-viewable on load
* [PM-10669] Incorporating a document readyState listener to ensure that we populate the notification bar once the document body is loaded
* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests
* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests
* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson
* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson
* [PM-10669] Adding jest tests to validate changes within OverlayNotificationsBackground
* [PM-10669] Adjusting timeout for modified login credentials to ensure user can enter data on form
* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms
* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms
* [PM-10669] Adjusting jest tests to ensure code coverage
* [PM-10669] Fixing issues with Safari
* [PM-10669] Fixing an invalid qualification rule
* [PM-10669] Ensuring that we capture input changes correctly when a field is going from a hidden to non-hidden state
* [PM-10669] Fixing jest tests within overlay content service
* [PM-10669] Fixing jest tests within overlay content service
* [PM-10669] Adding a jest test to validate changes to overlay content service
* [deps] Tools: Update electron to v32
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Create unavailable message for biometrics when in clamshell mode
* Move browser biometrics
* Inject nativemessagingbackground instead of using constructor
* Fix linting
* Fix build on browser
* Require userId for setting masterKeyEncryptedUserKey
* Replace folders for specified user
* Require userId for collection replace
* Cipher Replace requires userId
* Require UserId to update equivalent domains
* Require userId for policy replace
* sync state updates between fake state for better testing
* Revert to public observable tests
Since they now sync, we can test single-user updates impacting active user observables
* Do not init fake states through sync
Do not sync initial null values, that might wipe out already existing data.
* Require userId for Send replace
* Include userId for organization replace
* Require userId for billing sync data
* Require user Id for key connector sync data
* Allow decode of token by userId
* Require userId for synced key connector updates
* Add userId to policy setting during organization invite accept
* Fix cli
* Handle null userId
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
Migrate the index.html to use tailwind instead of bootstrap
* Extracted some more global styles to override the bootstrap styles for layout
frontend. We should revisit this when we remove bootstrap.
* Removed Angular specific logo for anon pages. Now uses the same css class as
loading page to prevent duplicated assets.
* Log reloading behavior
* Remove hints from responses.
changing password implies updating the hint, but no longer displays the old one. This is a security risk for shoulder surfing and breaks the escrow model we have where it is only shared via email when requested.
* Update change password hint label
* [PM-11170] Inline menu should not show incomplete login items along with passkeys
* [PM-11170] Inline menu should not show incomplete login items along with passkeys
* [PM-11170] Incorporating a fix for ciphers not being updated within the inline menu on user actions
* [PM-11170] Ensuring that conditional mediated auth does not trigger the authenticator
* [PM-11170] Adding a jest test to verify conditional mediated UI calls do not trigger the authenticator
* [PM-11170] Adding a jest test to verify conditional mediated UI calls do not trigger the authenticator
* [PM-11170] Reworking implementation to have the BrowserFido2UserInterfaceService trigger the expected behavior for the conditional mediated auth
* [PM-11170] Reworking implementation to have the BrowserFido2UserInterfaceService trigger the expected behavior for the conditional mediated auth
* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu
* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu
* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu
* [PM-10381] Add activeUserLastSync$ to SyncService
* [PM-10381] Introduce waitUtil operator
* [PM-10381] Use new activeUserLastSync$ observable to wait until a sync completes before attempting to get decrypted ciphers
* [PM-10381] Fix failing test
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* Make keypair setting more robust to prevent vault corruption on set-password component
* Use non-deprecated way to get private key
* Fix build error due to missing service
* update back logic for add/edit component to account for how the user arrived at the add/edit screen
* add tests for handle back
* update comment for cipher saved navigation
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id
* Added account service mock
* fixed cipher test
* Fixed test
* removed async from encryptCipher
* updated encryptSharedCipher to pass userId to the encrypt function
* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher
* pass in userid when setting masterKeyEncryptedUserKey
* Added activer usedId to new web refresh function
* refactor open-attachments component to push attachments route before opening the popout
* use popupRouterCache for navigating the user back
* use the PopupRouterCache for navigating the user after an attachment
* override firefox extension styles for text alignment
* remove CSS override
* turn off browser specific sidebar styles
- which solves the text-alignment issue in FF
* [deps] Tools: Update electron to v31.4.0
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Upgrade storybook to version v8 which is a major upgrade. Storybook provides an
upgrade wizard which did most of the work.
- Ran npx storybook upgrade.
- Manually updated `remark-gfm` since the newer mdx requires v 4.
- Migrated all old stories still using `Story` to `StoryObj`.