Skip to content

Merge release_notes/26.8 into release/26.8#22917

Merged
crazytonyli merged 2 commits into
release/26.8from
merge/release_notes-26.8-into-release-26.8
May 29, 2026
Merged

Merge release_notes/26.8 into release/26.8#22917
crazytonyli merged 2 commits into
release/26.8from
merge/release_notes-26.8-into-release-26.8

Conversation

@wpmobilebot

Copy link
Copy Markdown
Contributor

Merging release_notes/26.8 into release/26.8.

Via intermediate branch merge/release_notes-26.8-into-release-26.8, to help fix conflicts if any:

                      release_notes/26.8  ----o-- - - -
                                               \
merge/release_notes-26.8-into-release-26.8        `---.
                                                     \
                            release/26.8  ------------x- - -

@wpmobilebot wpmobilebot added the Releases Label related to managing releases label May 29, 2026
@wpmobilebot wpmobilebot added this to the 26.9 milestone May 29, 2026
@dangermattic

Copy link
Copy Markdown
Collaborator
1 Message
📖 This PR has the Releases label: some checks will be skipped.

Generated by 🚫 Danger

@crazytonyli crazytonyli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These release notes are temporary, to unblock publishing a new beta. They'll be replaced by the real editorial release notes.

@crazytonyli crazytonyli enabled auto-merge (squash) May 29, 2026 09:19
@crazytonyli crazytonyli merged commit 44cbf48 into release/26.8 May 29, 2026
19 of 23 checks passed
@crazytonyli crazytonyli deleted the merge/release_notes-26.8-into-release-26.8 branch May 29, 2026 09:24
crazytonyli pushed a commit that referenced this pull request May 29, 2026
* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8
crazytonyli added a commit that referenced this pull request May 29, 2026
* Keep JNA/UniFFI classes so wordpress-rs survives R8 in release builds (#22916)

AGP 9's R8 strips the @com.sun.jna.Structure.FieldOrder annotation that
wordpress-rs JNA bindings read reflectively at runtime, causing a launch
crash in minified release builds. Keep the JNA classes, UniFFI bindings,
and the annotation so native struct layouts still resolve.

* Add temporary release notes

* Merge release_notes/26.8 into release/26.8 (#22917)

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

* Update translations

* Update translations

* Update WordPress metadata translations for 26.8

* Update Jetpack metadata translations for 26.8

* Bump version number

---------

Co-authored-by: Tony Li <tony.li@automattic.com>
jkmassel added a commit that referenced this pull request Jun 1, 2026
* Bump version number

* Update draft release notes for 26.8

* Update draft release notes for Jetpack 26.8.

* Release Notes: add new section for next version (26.9)

* Use wordpress-rs 0.4.0

* Merge strings from libraries for translation

* Freeze strings for translation

* Keep JNA/UniFFI classes so wordpress-rs survives R8 in release builds (#22916)

AGP 9's R8 strips the @com.sun.jna.Structure.FieldOrder annotation that
wordpress-rs JNA bindings read reflectively at runtime, causing a launch
crash in minified release builds. Keep the JNA classes, UniFFI bindings,
and the annotation so native struct layouts still resolve.

* Add temporary release notes

* Merge release_notes/26.8 into release/26.8 (#22917)

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

* Update translations

* Update translations

* Update WordPress metadata translations for 26.8

* Update Jetpack metadata translations for 26.8

* Bump version number

* Merge release_notes/26.8 into release/26.8 (#22922)

* Update editorialized release notes

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

---------

Co-authored-by: Tony Li <tony.li@automattic.com>

* Update WordPress metadata translations for 26.8

* Update Jetpack metadata translations for 26.8

* Bump version number

* Bump version number

* Fix Czech confirm_remove_site translation breaking release lint

The 26.8 translation sync introduced a doubled backslash (\\") in the
Czech confirm_remove_site string. Android reads \\ as an escaped literal
backslash, which hides the %s placeholder from lint, so StringFormatMatches
fails: ChooseSiteActivity supplies 1 argument but the string is seen as
requiring 0.

Use a single-backslash escape (\") to match the English source and every
other locale.

* Fix Czech delete-confirmation translations breaking release lint

term_delete_confirmation_message carried the same doubled backslash (\\")
as confirm_remove_site, hiding its %1$s placeholder so lint sees 0 args
while TermsDataViewActivity supplies 1 (StringFormatMatches). It was the
second such error; lint prints only the first failure, so it surfaced
once confirm_remove_site was fixed.

Also fix the two identical siblings delete_menu_item_confirmation_message
and delete_menu_confirmation_message, which share the defect.

Verified locally: :WordPress:lintWordpressRelease BUILD SUCCESSFUL, 0 errors.

* Bump version number

---------

Co-authored-by: Tony Li <tony.li@automattic.com>
Co-authored-by: Jeremy Massel <1123407+jkmassel@users.noreply.github.com>
jkmassel added a commit that referenced this pull request Jun 4, 2026
* Bump version number

* Update draft release notes for 26.8

* Update draft release notes for Jetpack 26.8.

* Release Notes: add new section for next version (26.9)

* Use wordpress-rs 0.4.0

* Merge strings from libraries for translation

* Freeze strings for translation

* Keep JNA/UniFFI classes so wordpress-rs survives R8 in release builds (#22916)

AGP 9's R8 strips the @com.sun.jna.Structure.FieldOrder annotation that
wordpress-rs JNA bindings read reflectively at runtime, causing a launch
crash in minified release builds. Keep the JNA classes, UniFFI bindings,
and the annotation so native struct layouts still resolve.

* Add temporary release notes

* Merge release_notes/26.8 into release/26.8 (#22917)

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

* Update translations

* Update translations

* Update WordPress metadata translations for 26.8

* Update Jetpack metadata translations for 26.8

* Bump version number

* Merge release_notes/26.8 into release/26.8 (#22922)

* Update editorialized release notes

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

---------

Co-authored-by: Tony Li <tony.li@automattic.com>

* Update WordPress metadata translations for 26.8

* Update Jetpack metadata translations for 26.8

* Bump version number

* Bump version number

* Fix Czech confirm_remove_site translation breaking release lint

The 26.8 translation sync introduced a doubled backslash (\\") in the
Czech confirm_remove_site string. Android reads \\ as an escaped literal
backslash, which hides the %s placeholder from lint, so StringFormatMatches
fails: ChooseSiteActivity supplies 1 argument but the string is seen as
requiring 0.

Use a single-backslash escape (\") to match the English source and every
other locale.

* Fix Czech delete-confirmation translations breaking release lint

term_delete_confirmation_message carried the same doubled backslash (\\")
as confirm_remove_site, hiding its %1$s placeholder so lint sees 0 args
while TermsDataViewActivity supplies 1 (StringFormatMatches). It was the
second such error; lint prints only the first failure, so it surfaced
once confirm_remove_site was fixed.

Also fix the two identical siblings delete_menu_item_confirmation_message
and delete_menu_confirmation_message, which share the defect.

Verified locally: :WordPress:lintWordpressRelease BUILD SUCCESSFUL, 0 errors.

* Bump version number

* Merge release_notes/26.8 into release/26.8 (#22937)

* Update release notes

* Update WordPress `PlayStoreStrings.po` for version 26.8

* Update Jetpack `PlayStoreStrings.po` for version 26.8

---------

Co-authored-by: Tony Li <tony.li@automattic.com>

* Fix false connectivity banner on private Atomic sites (#22926)

* Fix false connectivity banner on private Atomic sites

Editor capability detection on Atomic sites probes the direct host via
unauthenticated REST API discovery (added in #22883). Private Atomic
hosts gate anonymous requests, so discovery fails and the My Site
"Unable to connect to your site" banner appears even though the site is
reachable. Fall back to an authenticated app-password probe against the
same host when discovery fails and credentials exist.

* Log authenticated direct-host probe failures for diagnosability

The authenticated app-password fallback previously returned a silent
`false` on a non-success response, and the no-credentials path was also
silent. Log both (mirroring the discovery-failure log) so a recurrence
of the connectivity banner can be diagnosed from AppLog rather than
being indistinguishable from "discovery failed, no creds".

* Suppress the connectivity banner while the app password is being minted

On first login an Atomic site's application password is minted
asynchronously on the My Site screen, so the connectivity capability
fetch can race ahead of it and fail purely for lack of credentials —
flashing a false "unable to connect" banner that clears on the next
refresh. Treat a credential-less fetch as pending rather than a
connection failure, mirroring the existing offline suppression; the
application-password card already owns the no-credentials state.

* Re-detect editor capabilities when an app password is established

The connectivity banner's capability fetch and the application-password
mint both run on the My Site screen with no ordering, so on first login
the fetch loses the race and capability flags aren't detected until the
next resume/refresh. Add an app-scoped CredentialsChangedNotifier that
both credential-establishment paths (headless mint and interactive
login) emit to, and have the connectivity slice re-run detection on it —
re-reading a fresh site so it observes the just-persisted credentials.
This also closes the asymmetry where only the interactive path announced
credential changes globally.

* Hoist connectivity banner suppression into a named flag

The four-way suppression condition tripped detekt's ComplexCondition
threshold once the pending-credentials term was added. Lift it into a
named `suppressBanner` flag — clearer intent, and out of the
if-condition detekt inspects. No behavior change.

* Surface the connectivity banner when the app-password mint fails

The pending-credentials suppression also hid the banner when the headless
mint *terminally* failed — and the application-password card can't render
for private Atomic sites either (its authorize-URL discovery hits the same
gated host), so the user was left with a broken site and no signal at all.

Track terminal mint failure in the renamed ApplicationPasswordMonitor (was
CredentialsChangedNotifier) and suppress only while provisioning is
genuinely in flight; once the mint fails, surface the banner. The monitor
also wakes capability detection on failure so the banner appears without
waiting for the next resume/refresh.

* Revert "Surface the connectivity banner when the app-password mint fails"

This reverts commit 357fd82.

The terminal-failure surfacing called onMintFailed on every non-success,
including transient failures, so a transient first-login mint failure
latched hasMintFailed and showed the false connectivity banner this PR
set out to suppress. Revert to the pending-suppression behavior; the
durable single-source-of-truth redesign is tracked in #22942.

---------

Co-authored-by: Automattic Release Bot <mobile+wpmobilebot@automattic.com>
Co-authored-by: Tony Li <tony.li@automattic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Releases Label related to managing releases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants