1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-01-30 22:41:33 +01:00
Commit Graph

699 Commits

Author SHA1 Message Date
Oscar Hinton
e5f83ff086
[PM-17031] Create UI-common (#12831)
Extract core functionality from `libs/angular` to allow teams to depend on `libs/ui-common` instead.

Moves the following functionality to `ui-common`.
- `I18nPipe`. `libs/angular` still has an old copy but `components` depends on the new variant from `ui-common`.
- `safeProvider`, `SafeProvider` and `SafeInjectionToken`. `libs/angular`re-exports these to avoid needing to update all consumers.
2025-01-17 10:42:31 -05:00
Todd Martin
87171289f0
Revert Opera to Mv2 build (#12921) 2025-01-17 10:16:52 -05:00
Andy Pixley
65b393e3ee
[BRE-563] Adding ability to skip electron publish (#12920) 2025-01-16 21:17:29 +00:00
Andy Pixley
3917f50fdd
[BRE-560] Display rollout percentage in run name (#12919) 2025-01-16 15:20:03 -05:00
Oscar Hinton
ca9bb52a89
Move linting dependencies to architecture (#12910) 2025-01-16 17:12:26 +01:00
Todd Martin
ffa5afb5e8
Renamed group for consistency with server renovate (#12896) 2025-01-15 17:30:01 -05:00
Daniel Riera
99937e5831
PM-14051-storybook-implementation (#12840)
* PM-14051 -initial storybook set up
-Initial stories and folder structure

* clean up typing on existing stories

* add icons file

* assign packages to autofill

* row stories

* row storiescd

* -change file nnames to avoid rendering in main storybook instance - fix folder structure to set prep for doc creation

* remove babel loader

* -fix folder structure -add new package json -edit main to correct ts-config path

* edit package name
2025-01-15 14:13:03 -05:00
Todd Martin
1916fdc87f
Adjust handling of GH action dependencies for CI/CD partnership (#12818) 2025-01-15 12:23:49 -05:00
Thomas Rittson
8c13ea894b
[PM-16917] Remove jest-extended dependency (#12798)
* add toContainPartialObjects matcher (replacing toIncludeAllPartialMembers from jest-extended)
* replace jest-extended matchers with equivalent default matchers
2025-01-15 10:43:26 -05:00
Matt Andreko
ff5043f9ff
Updated SonarQube GitHub action to v4.2.1 (#12836) 2025-01-14 08:32:32 +01:00
Todd Martin
4c8565f7f3
Modify Edge and Opera artifacts to build Mv3 - Part 1 (#12674)
* Modify Edge and Chrome artifacts to build Mv3 version to mimic Chrome

* Added back the Mv3 scripts so that workflows run on the PR will pass
2025-01-12 16:37:15 -05:00
Vince Grassia
138e07eaf7
Add fetch-depth to checkout step (#12782) 2025-01-10 09:50:21 +01:00
Michał Chęciński
1a80ae8968
[BRE-513] Remove brew bump desktop workflow (#12772) 2025-01-09 16:10:28 +01:00
Addison Beck
5c96634974
fix(ci): Adjust variable name missed during lint update (#12768) 2025-01-09 04:37:26 +00:00
Addison Beck
a9ca361523
fix(ci): Adjust for a breaking change in the Slack action (#12753) 2025-01-08 18:47:45 +00:00
Oscar Hinton
48f99099b2
[PM-16845] Lint unowned dependencies (#12748)
* Lint unowned dependencies

* Split npm ci and run linter

* Set explicit versions for unchanged parts of the workflow ....

* Rename yao-pkg

* Add owners for sdk-internal, fuses and angular-eslint/schematics

* Assign owners for angular and storybook

* Add typescript-strict-plugin

* Add two more unowned dependencies

---------

Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-01-08 13:37:08 -05:00
Addison Beck
4d576f0533
fix(ci): Resolve errors and warnings exposed by new workflow linter (#12755)
* fix(ci): Resolve errors and warnings exposed by new workflow linter

* Add missed warning
2025-01-08 13:06:19 -05:00
Jonathan Prusik
d864dc2e16
assign Autofill team ownership of lit and @emotion/css packages (#12750) 2025-01-08 10:19:18 -05:00
Thomas Avery
c0d3fe15d1
[PM-11528] Move Lock to KM ownership (#12407)
* update code owners

* Move lock component v2 to KM

* Add @bitwarden/key-management/angular to tsconfigs

* Move lock component service to KM

* Move lock component v1 to KM

* Update imports

* Move into @bitwarden/key-management

* Revert "Move into @bitwarden/key-management"

This reverts commit b7514fb8c2.

* Add to tsconfig.libs
2025-01-07 16:47:51 +01:00
renovate[bot]
0b4c22c269
[deps] BRE: Update slackapi/slack-github-action action to v2 (#12140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 11:39:01 -05:00
renovate[bot]
b370787239
[deps] BRE: Update gh minor (#11941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 18:24:57 -05:00
Vince Grassia
af4311fa21
BRE-534 - Update workflow to parallelize extension builds (#12640) 2025-01-02 14:58:34 -05:00
Vince Grassia
30b4c891df
Change logic for workflow (#12626) 2024-12-30 17:46:07 +00:00
Vince Grassia
afe11676e2
Fix syntax for bash script (#12621) 2024-12-30 15:23:20 +00:00
Daniel James Smith
0619ef507f
[PM-7114] Remove legacy Send code from browser extension (#12342)
* Remove Send grouping, type and state

* Delete Send list and add-edit

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-20 19:46:34 +00:00
Daniel James Smith
2041799174
Fix Crowdin push (#12500)
Related to https://github.com/bitwarden/clients/pull/11961

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-20 09:18:35 -05:00
Daniel García
fff412665f
Run clippy and rustfmt on CI (#12388)
* Run clippy and rustfmt on CI

* Error on warnings and fix a couple of missed lints

* Move import inside function

* Fix unix lints

* Fix windows lints

* Missed some async tests

* Remove unneeded reference
2024-12-19 22:49:45 +01:00
Matt Bishop
c628f541d1
Sign main branch Unified container builds with cosign and perform security scanning (#12403) 2024-12-16 12:35:00 -05:00
Colton Hurst
46068ff012
Slight codeowners change for ssh agent (#12405) 2024-12-16 08:39:21 -05:00
Bernd Schoolmann
5ecb6b5b1f
Add autofill to ssh-agent codeowners (#12365) 2024-12-13 16:02:16 -05:00
Todd Martin
7c8b9db58f
Revert workflow changes (#12376)
* Revert "fix: target workflows not triggering on pull_request_target (#12370)"

This reverts commit 645d36f465.

* Revert "[PM-15126] Tighten scope of our client build pipelines to remove reliance on secrets (#12243)"

This reverts commit f8c33ea04b.
2024-12-12 12:22:55 -05:00
Andreas Coroiu
645d36f465
fix: target workflows not triggering on pull_request_target (#12370) 2024-12-12 12:42:44 +00:00
Andreas Coroiu
f8c33ea04b
[PM-15126] Tighten scope of our client build pipelines to remove reliance on secrets (#12243)
* feat: create copy of desktop build for PR target

* chore: add temporary file to trigger ci

* fix: remove check-run from regular desktop build

* feat: change browser build to not use pr target

* fix: skip build-safari if secret is not available

* feat: skip safari build if secrets are not available

* feat: let windows desktop build without secrets

* fix: has_secrets not being output correctly

* feat: let macos desktop build without secrets

* feat: don't build browser as part of desktop

* feat: change CLI to pull_request

* feat: let web build without secrets

* feat: tweak lint to run on PR and not just push

* feat: add PR target workflows

* fix: remove wip files

* fix: lint on hotfix-rc branches

* feat: add new workflows to CODEOWNERS
2024-12-12 11:50:21 +01:00
Addison Beck
7a26b041cc
chore(codeowners): assign a bunch of workflows to Platform (#12328)
* chore(codeowners): assign a bunch of workflows to Platform

* fix: remove unnecassary lines
2024-12-10 11:00:42 -05:00
renovate[bot]
02c65fd1b8
[deps] BRE: Update sonarsource/sonarcloud-github-action action to v4 (#12311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 16:51:27 -05:00
Opeyemi
7e2456224d
[BRE-470] - Update Renovate Conf for BRE team (#12274) 2024-12-06 11:52:31 -05:00
Andreas Coroiu
f16bfa4cd2
[PM-9035] desktop build logic to provide credentials to os on sync (#10181)
* feat: scaffold desktop_objc

* feat: rename fido2 to autofill

* feat: scaffold electron autofill

* feat: auto call hello world on init

* feat: scaffold call to basic objc function

* feat: simple log that checks if autofill is enabled

* feat: adding some availability guards

* feat: scaffold services and allow calls from inspector

* feat: create custom type for returning strings across rust/objc boundary

* chore: clean up comments

* feat: enable ARC

* feat: add util function `c_string_to_nsstring`

* chore: refactor and rename to `run_command`

* feat: add try-catch around command execution

* feat: properly implement command calling

Add static typing. Add proper error handling.

* feat: add autoreleasepool to avoid memory leaks

* chore: change objc names to camelCase

* fix: error returning

* feat: extract some helper functions into utils class

* feat: scaffold status command

* feat: implement status command

* feat: implement password credential mapping

* wip: implement sync command

This crashes because we are not properly handling the fact that `saveCredentialIdentities` uses callbacks, resulting in a race condition where we try to access a variable (result) that has already gotten dealloc'd.

* feat: first version of callback

* feat: make run_command async

* feat: functioning callback returns

* chore: refactor to make objc code easier to read and use

* feat: refactor everything to use new callback return method

* feat: re-implement status command with callback

* fix: warning about CommandContext not being FFI-safe

* feat: implement sync command using callbacks

* feat: implement manual password credential sync

* feat: add auto syncing

* docs: add todo

* feat: add support for passkeys

* chore: move desktop autofill service to init service

* feat: auto-add all .m files to builder

* fix: native build on unix and windows

* fix: unused compiler warnings

* fix: napi type exports

* feat: add corresponding dist command

* feat: comment signing profile until we fix signing

* fix: build breaking on non-macOS platforms

* chore: cargo lock update

* chore: revert accidental version change

* feat: put sync behind feature flag

* chore: put files in autofill folder

* fix: obj-c code not recompiling on changes

* feat: add `namespace` to commands

* fix: linting complaining about flag

* feat: add autofill as owner of their objc code

* chore: make autofill owner of run_command in core crate

* fix: re-add napi annotation

* fix: remove dev bypass
2024-12-06 16:31:30 +01:00
Robyn MacCallum
f8ba01d3fa
Remove SM team from CODEOWNERS (#12258) 2024-12-05 09:46:56 -05:00
Bernd Schoolmann
80a898bd8c
[PM-14252] Switch to oo7 and drop libsecret (#11900)
* Switch to oo7 and drop libsecret

* Fix tests

* Fix windows

* Fix windows

* Fix windows

* Fix windows

* Add migration

* Update apps/desktop/desktop_native/core/src/password/unix.rs

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>

* Remove libsecret in ci

* Move allow async to trait level

* Fix comment

* Pin oo7 dependency

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-04 17:03:34 +01:00
Andreas Coroiu
9188a31b4a
fix: group zbus dependencies (#12165) 2024-12-03 16:04:51 +00:00
Will Martin
178ef353d4
[CL-269] extension router transitions (#11989) 2024-11-27 15:33:37 -05:00
Daniel James Smith
cf52c6030e
Cleaning up after removing gulp from codebase (#12117)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-25 17:51:24 +01:00
Bernd Schoolmann
341a93aa47
[Pm-9823] Extract biometric messaging service (#10862) 2024-11-22 17:41:14 -08:00
Opeyemi
9e15f7dc29
[BRE-443] - Fix Linting pre bwwl Deployment (#12066) 2024-11-20 15:05:46 +00:00
Oscar Hinton
e43a204ab2
Fix broken browser build (#12050) 2024-11-19 13:43:19 +00:00
Oscar Hinton
b55a28f755
[PM-14485] Remove manifest and index.html logic from gulp (#12033)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-19 13:25:30 +00:00
Andreas Coroiu
33f7643e15
[PM-12989] Create process for qa to build client with particular sdk version (#11601)
* feat: update sdk service abstraction with documentation and new `userClient$` function

* feat: add uninitialized user client with cache

* feat: initialize user crypto

* feat: initialize org keys

* fix: org crypto not initializing properly

* feat: avoid creating clients unnecessarily

* chore: remove dev print/subscription

* fix: clean up cache

* chore: update sdk version

* feat: implement clean-up logic (#11504)

* chore: bump sdk version to fix build issues

* chore: bump sdk version to fix build issues

* fix: missing constructor parameters

* refactor: simplify free() and delete() calls

* refactor: use a named function for client creation

* fix: client never freeing after refactor

* fix: broken impl and race condition in tests

* feat: add sdk override to desktop build

* feat: add SDK version to browser about dialog

* feat: add sdk override to browser build

* fix: `npm ci` overriding the override

* fix: artifacts not properly downloaded

* fix: switch to new repository

* feat: add debug version function to web

* feat: add sdk-version to CLI

* feat: add version to desktop

* feat: add override to cli

* feat: add override to web

* fix: cli version acting as default command

* fix: consistent workflow input name

* feat: add error handling

* feat: upgrade sdk-internal

* fix: forgot to update package lock

* fix: broken CI build

move sdk version to a regular command

* chore: revert version changes

* refactor: move error handling code

* chore: bump SDK to 0.2.0.main-1

* fix: clean up references to inputs.sdk_commit

* refactor: rename `init` to `applyVersionToWindow`
2024-11-19 13:59:59 +01:00
Vince Grassia
4d9dc9a839
BRE-438 - Update Crowdin workflow (#12038) 2024-11-18 16:15:58 +00:00
Oscar Hinton
d875ded8fa
Revert "[PM-14485] Remove manifest and index.html logic from gulp" (#12032)
This reverts commit c388697fdf.
2024-11-18 15:38:53 +01:00
Oscar Hinton
c388697fdf
[PM-14485] Remove manifest and index.html logic from gulp (#11861)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-18 11:50:24 +01:00