This PR introduces a generic `DialogService` which can be used by all the clients. This allows us to decouple dialogs from the `PlatformUtilsHelper`.
The `DialogService` provides a new method, `openSimpleDialog` which is the new interface for that type of dialogs.
This gives us 3 different implementations:
- Web: DialogService modern dialogs
- Browser: SweetAlert
- Desktop: Native electron based
* [PM-233] "No Items" graphic is overlapping on several screens
* [PM-233] Removing setting search input as readonly/disabled when "Send" functionality is disabled
Upgrade Electron to version 24, node to 18 and npm to 9. Electron changed to using node 18 in 23, with node 18 using npm 9 as default.
There doesn't seem to be any breaking changes except the deprecation of Windows 7, 8.1, and Server 2012. A somewhat undocumented breaking change was that elements in the title bar are now draggable which broke the account switching selector. Resolved by adding a no-drag css rule.
- electronjs.org/blog/electron-22-0
- electronjs.org/blog/electron-23-0
- electronjs.org/blog/electron-24-0
* Add disableFavicon$ to stateService
* Change IconComponent's ChangeDetectionStrategy and use disableFavicon$ observable
* Only get first result from disableFavicon observable
* Move disabledFavicon$ to SettingsService
* Update usage of disableFavicon to use SettingsService
* Remove getting and setting of disabledFavicon on login
* Settings service observable adjustments
* Fix for popup initially having a null value for the disableFavicon setting in settingsService
* Move disabledFavicon$ subscription to ngOnInit
* feat: experiment with observables
* Remove SettingsService from browser app component
* Fix storybook changes
* Update apps/web/src/app/vault/components/vault-items/vault-items.stories.ts
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* Fix mock function signature
---------
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* [PM-1351] Add property to server-config.response. Change config to be able to fetch without being authed.
* [PM-1351] fetch every hour.
* [PM-1351] fetch on vault sync.
* [PM-1351] browser desktop fetch configs on sync complete.
* [PM-1351] Add methods to retrieve feature flags
* [PM-1351] Add enum to use as key to get values feature flag values
* [PM-1351] Remove debug code
* [PM-1351] Get flags when unauthed. Add enums as params. Hourly always fetch.
* [PM-1351] add check for authed user using auth service
* [PM-1351] remove unnecessary timer on account unlock
* [PM-687] refactor observable in base accept component
* [PM-687] add emergency access invitation to global state
* [PM-687] save invite to state and check on login
* [PM-687] move emergency access check above queryParams observable
* Logic for calculating if we should apply height fix for safari
* Revert safari height fix for safari >= 16.1
* Deprecate static isBrowser funcions, using them directly is incorrect
* Changes based on feedback
* Update CSS to use & selector
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Locking all non-active accounts prior to active lead to process reload
issues.
Remove unnecessary routing
Prefer Record keys to deep Account object value
Await promises
* [AC-1340] Calling Cipher DeleteAdmin endpoints when user has canEditAnyCollection permission
* [AC-1340] Fixed CLI and Desktop builds
* [AC-1340] Changed CipherService delete methods parameter 'orgAdmin' to 'asAdmin' and to nullable
* [AC-1340] Changed variable names from 'orgAdmin' to 'asAdmin'
* [AC-1340] Reverted change on DeleteCommand
* PM-1887 - Fix Account Creation Terms of service checkbox not clickable in Safari. Reworked check for breaches and terms of service checkboxes to be implemented with Tailwind instead of a mix of Tailwind & Bootstrap as well. Confirmed checkboxes still work in Edge, Firefiox, and Chrome as well as Safari now.
* PM-1887 - Add for="<id>" attributes to bit-labels for accessibility.
* PM-1887 - Make ID consistent w/ dashes instead of underlines and dashes.
* Create and register new libs/exporter
Create package.json
Create tsconfig
Create jest.config
Extend shared and root tsconfig and jest.configs
Register with eslint
* Migrate exportService to libs/exporter
Move exportService (abstraction and impl) into libs/exporter
Refactored exportService to be split into vault-export and event-export
Created barrel-files for both exports
Moved export.service.spec.ts into vault-export
Created an export-helper, which helps build the filename (extract method refactor from ExportService)
* Move components in libs/angular into tools-subfolder
Moved components
Updated imports in jslib-services.module and jslib.module
* Register libs/exporter with browser and fix imports
Move export.component into tools-subfolder
* Register libs/exporter with cli and fix imports
Move export.command into tools-subfolder
* Register libs/exporter with desktop and fix imports
Move export.component into tools-subfolder
* Move export models to libs/exporter
* Update web imports
* Update package-lock.json
* Move export models back as it would create circular dependency
Reponse models in common rely on export models which are in libs/exporter, which relies on common
* Fix up web for event-export
* Update CODEOWNERS
* Add export-models to team-tools-dev
* Simplify domain import
* Moving EventExport into web