This PR introduces the YAML frontend for plaster that is meant to
eventually become the only frontend, once all `.toml` Plaster files are
migrated.
This change covers all places where the assumption about `.toml` files
was being used, inclusing `brockit`, and `git-cr` tools.
Most of the code that should be deleted in the future is well guarded
with comments leading back to the issue tracking, so the TOML parser can
be dropped eventually.
With this change, a dependency to `pyyaml` has been introduced. This
dependency has wheels provided by `vpython`, which is already the
expected python runtime for Plaster.
- Rationale for this change
We have experimented at length with `.toml` files, in order to
understand some of the shortcomings they have that would be addressed
with `.yaml` files.
* `prettier` offers YAML formatting out-of-the-box. On the other hand,
formatters for TOML files are not easy to find, as both `prettier`
and `vpython` have their own challanges with the current options
* YAML's sytanx works better with codeblocks, as it doesn't require
quoting. This makes the content seen less noisy. Looking on some of
the migrated plasters, the YAML substitutions look more readable.
* YAML has better sytanx highlight support in some editors.
Bug: https://github.com/brave/brave-browser/issues/55738
* [Origin] Honor BraveRewardsDisabled policy when starting Rewards engine
Defer `RewardsServiceImpl::CheckPreferences()` -- the gate that decides
whether to spin up the Rewards engine process -- behind a
`brave_policy::PolicyInitializationWaiter` so that the managed
`brave_rewards::prefs::kDisabledByPolicy` pref is visible by the time the
gate evaluates. Without this, `Init()` runs before the policy bundle has
been merged into the managed pref store and the engine starts -- pinging
`/v1/parameters` and `/v4/wallets/...` -- even when Brave Origin has
disabled Rewards via `BraveRewardsDisabled`.
Resolves: https://github.com/brave/brave-browser/issues/55696
This PR introduces some fallback parsing for `tomllib` use, when running
this script in a machine with a python version older than `3.11`. This
will be necessary for the time being with the Linux node still using
Python 3.10.
On Mac, we use a server-status endpoint for OnDemand VPN functionality.
The change upgrades the old (current) API `/vpnsrv/api/server-status`,
to the new one: `/api/v1.3/server-status`. The API responses are
claimed by Guardian to be identical, zero behavioural change.
On Windows, we have to manually correct the default the `ar`
`config.toml` value to `llvm-ar.exe`, as Windows defaults as a normal
Windows build uses `llvm-lib.exe`.
The Brave News inline content ads pipeline is already disabled via
https://github.com/brave/brave-core/pull/32359. This PR removes the
remaining inline content ads Android code and mojom code that no longer
has any effect.
On Windows, we need to make sure we are picking up the correct C
compiler for the WASM build, and as this value was not being provided in
the template, `clang-cl.exe` was being picked up.
This PR generates a fuller stanza in the template for the WASM build,
that replicates the host one, but makes sure to tweak this necessary
value for windows. It is also of notice that we keep the linker whatever
is the default to be picked up.
Fix AdsService init race in ViewCounterService
If `AdsService` finishes initialization before `ViewCounterService`
registers as an observer, the initialization callback never fires
and the sponsored images component is never registered. Detect this
condition after registering the observer and call the initialization
handler explicitly when AdsService is already initialized.
This PR changes how the checkout works in the rust toolchain WASM
builder, to avoid the use of `gclient sync -r {ref}`. It is not clear if
we are having issues with it exactly, but the Windows pipeline keeps
hanging, and this particular long standing `gclient` issue has caused
pipeline issues before.
This PR also follows up on the work done by the previous one, and
updates all the other scripts to output the `stderr` the same way the
rust builder is doing.
Bug: https://github.com/brave/brave-browser/issues/44921
[cr150][brockit] Fix handling of `fixup!` block messages
This PR fixes how we are handling the block messages for `fixup!`, as
the parsing for them was always assuming that they would receive the
label `will be skipped:` for not having any message in them, but
actually that doesn't appear to be the case with every `fixup!`. With
this change, `fixup!` blocks that have no message are now discarded too.
Bug: https://github.com/brave/brave-browser/issues/55466
This PR changes our `rebase --interactive` call to be use `terminal.run`
with `interactive=True`, so we don't capture the output of that command.
This will generate noise when running `brockit rebase`, however this is
necessary for the user to be able to use the editor opened due to
`EditorRecoverableFailure`.
There are also changes to `terminal`, to make sure we stop producing any
type of status update while `interactive=True` commands are ongoing.
Bug: https://github.com/brave/brave-browser/issues/55466
The Brave News `Promoted Articles` ads pipeline is already disabled via
https://github.com/brave/brave-core/pull/32359.
This PR removes the remaining Desktop frontend code and portions of the mojom
code that no longer had any effect. The remaining mojom code is still required for
Android builds and will be removed in a follow-up when the dead code for Brave
News promoted articles on Android is cleaned up.
This PR changes the function we use to run commands in the rust builder
to always allow `stderr` through. We are also adding a log whenever the
script is launched to indicate the value of `GIT_CACHE_PATH`.
Resolves https://github.com/brave/brave-browser/issues/55710
This PR doesn't change any behavior. Just simple refactoring.
`kSplitViewContentInset` is now referenced both inside and outside `MultiContentsView`
(as of cr149). The previous approach of zeroing `start_contents_view_inset_` /
`end_contents_view_inset_` in the `BraveMultiContentsView` constructor only covered the
inset fields, not the constant itself.
This PR overrides `kSplitViewContentInset = 0` via a `chromium_src` macro, so any usage
site — inside or outside `MultiContentsView` — sees zero. Brave controls split-view
padding through its own rounded corners feature, not via Chromium's default 8px insets.
## Changes
- Remove the explicit inset zeroing from `BraveMultiContentsView` constructor
- Add `chromium_src` constant override for `kSplitViewContentInset = 0`
- Add inset checks to `BraveMultiContentsViewTest` verifying the constant is 0 and content panes fill the full height
* This PR extends KeyringService with new functions to manage hidden accounts.
And adds corresponding UI to the wallet.
Hidden accounts are stored in a separate preference.
Default account can't be hidden.
Resolves https://github.com/brave/brave-browser/issues/19761
Added failed consent dialog state to handle cases where applying privacy
settings fails midway through the process and async handling
to the policy script, along with additional browser tests to cover it.
Resolves: https://github.com/brave/brave-browser/issues/55649
---------
Signed-off-by: Vadym Struts <vstruts@brave.com>
* [AI Chat] Add `ObliviousHttpAPIClient`
* Address PR feedback
* Add model key/near verification status in response
* Add encryption feature param for NEAR model feature
Drop WebContents → BindCallback registry on BravePassageEmbeddingsService
There was ever at most one active embedder/BG WebContents pair, so the
static map was 0- or 1-entry overhead. Replace it with a direct
forwarder:
* BravePassageEmbeddingsService::BindLocalAIReceiver hands a
PendingReceiver<LocalAIService> to batch_embedder_ if alive.
* BravePassageEmbeddingsServiceController exposes the same as an
instance method, accessible via Get().
* UntrustedLocalAIUI::BindInterface routes through the controller.
Eliminates SetBindCallbackForWebContents (only producer call site went
away) and RemoveBindCallbackForWebContents (was unused in production —
the registry leaked one entry per BG WebContents lifecycle).