Skip to content

chore: Release release/2026-W32 - #7097

Open
github-actions[bot] wants to merge 261 commits into
masterfrom
release/2026-W32
Open

github-actions[bot] wants to merge 261 commits into
masterfrom
release/2026-W32

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Weekly release PR

shadrak98 and others added 30 commits July 13, 2026 14:18
…oarding

feat(partner-onboarding): Improve partner onboarding
feat(partner): Gate local payment tabs behind role permission
fix: Sync apps list after a successful site update
fix(ui): Show proper versions in bench list filters
fix(wazuh): Dearmor and ensure correct permissions
get_advanced_analytics ran ~11 Elasticsearch queries sequentially in a
single request handler, so the site insights "Advanced Analytics"
section blocked on the sum of every query's latency.

Split it into eight whitelisted endpoints (one per chart) which the
dashboard now fires as independent parallel resources. Each runs in its
own worker, so wall-clock time drops to roughly the slowest single chart
instead of the sum. The underlying group-by helpers are already
@redis_cache-wrapped, so the split adds no duplicate computation.

The slow-path and slow-job breakdowns genuinely depend on the top paths
of their parent duration chart, so they stay bundled inside the request /
background-job duration endpoints rather than becoming a dependent second
wave of requests.
…ytics

perf(analytics): Split advanced site analytics into per-chart requests
ssiyad and others added 22 commits July 28, 2026 15:21
Checking the code and deleting it were still two steps, so a code replaced
in between was accepted anyway, and the delete then landed on the
replacement — leaving the caller holding a code that had just been thrown
away and being told it was wrong.

Redis does both in one step now. A small script deletes the key only if it
still holds the code being presented, which settles this and the two
callers racing for one code together: whoever the delete lands for wins,
and it lands for nobody if the code has moved on.

Comparing in Lua means storing the hash on its own rather than inside a
pickled record, so when a code was last sent moves to its own key that
expires after the resend wait. Frappe's cache namespaces keys and pickles
values on some methods and not others, so these use raw redis commands
throughout and namespace up front.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fix(account): Keep one-time passwords out of Account Request
…rest

fix(tls): Encrypt TLS private keys at rest
Turning `private_key` into a Password field left the desk "Copy Private
Key" button copying the `*****` mask, since the client only ever gets the
masked value. Whitelist `get_private_key()` and have the button fetch the
decrypted key from the server before copying. Exposure is unchanged — the
button already copied the plaintext when the field was a Code field.
…rest

fix(tls): Decrypt private key in desk copy button
fix(role): Refresh before update
Matches the slug style of the existing frappe-cloud-server-alerts channel.
The incidents channel id was hard-coded and nobody could tell whether the
guessed slug matched the real channel. Made it a setting instead of
guessing; a wrong channel is now a one-field fix in the UI.
fix: Redirect 0 site user to dashboard post-login
…abled

feat(incident): Alert on Raven when phone call alerts are disabled
The file predates biome.json's `semicolons: "asNeeded"`, so the
pre-commit hook rewrites ~45 lines on the next touch. Doing it alone
keeps the follow-up fix readable in review.
The tab labels split on ownership (Public GitHub App vs Your GitHub App),
but the real split is access: whether Frappe Cloud has a GitHub
installation on the repo. A private repo fit neither label, so users
pasted the URL into the default tab and got a raw GitHub JSON dump.

Renamed the tabs to Public/Private Repository, replaced the 404 dump
with a plain message, and made the dialog offer a link to the private
tab instead. Matched on the message text rather than the status code
because the resource only surfaces the error, not the response.
fix(dashboard): Point users at the private repo tab on a 404
@mergify

mergify Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@github-actions[bot], thanks for the contribution, but we do not accept pull requests on a master. Please close this PR and raise PR on an develop branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.