Re-extract the strings from the merged UI (account protocols, POP3 and
CardDAV changes), merge them back without line wrapping, and restore the
Simplified Chinese, Spanish and Russian translations for the privacy rows.
OHOS reports positive axis values toward the end of the content (wheel
down, or a touchpad swipe up under natural scrolling), while Slint's
positive delta scrolls toward the start. Invert both axes so the wheel
matches the rest of the system.
Upstream replaced the old account-backup import with the import-accounts
flow while rebasing; keeping the old binding left the onboarding view
referencing a callback the window no longer declares.
The advisory database published three root-certificate/verification fixes
on 2026-10-19/20 and the quality job denies warnings, so update
rustls-webpki to 0.103.16 and webpki-roots/webpki-root-certs to 1.0.10 in
the root, Android and OpenHarmony lockfiles.
Each language version now states that it applies to its market and prevails
there, instead of the Chinese version claiming precedence over English.
Clarify the controller split (Flectar for support correspondence; local mail
processing on device; the mail provider as an independent controller), the
retention of support correspondence and the international-transfer basis.
Replace the English block's appended website policy with an application
policy of the same structure as the other languages (UK GDPR bases, ICO,
CCPA/CPRA), and link to the website policy instead. Children's age now
reflects each market (14 in Spain and China, 18 in Türkiye and Russia).
The consent gate now resolves its language the same way the bundled policy
does: the system language (zh/es/tr/ru, English otherwise) through the same
language dropdown, with every label, bullet and action translated. Opening
the policy from the gate reuses the selected language.
Restyle the three actions as 48px provider-style rows (icon, label and
chevron) with Lucide assets, add the highlight card, and replace the text
Back button on the policy viewer with a back-arrow icon.
Spanish (GDPR): legal bases, the full data-subject rights including
restriction, objection and portability, the AEPD complaint route and the
one-month response deadline; the Spanish version applies to users in Spain
and the EU. Turkish (KVKK): legal bases, the Article 11 rights, the 30-day
deadline and the KVKK complaint route. Russian (152-FZ): legal bases, the
Article 14 rights, the 10-working-day deadline and Roskomnadzor. English:
UK ICO and California CCPA/CPRA statements.
The policy page now carries Simplified Chinese, English, Spanish, Turkish
and Russian sections and a selector that mirrors Settings -> General; the
application passes the configured language (system, en, es, tr, zh_Hans,
ru) when it opens the page. Settings -> About gains a "Withdraw privacy
consent" row that clears the stored choice and stops the app, so consent can
be changed at any time.
Regenerate the catalogs without line wrapping: gettext versions wrap the
Language-Team header differently, which made the translation check fail on
CI.
Ship the policy as a local page (Simplified Chinese, an English application
supplement and the official Flectar text, selected from the system language)
and link it from onboarding and Settings -> About. The first launch asks for
consent before the native module starts, so no account or mail processing
happens before the user agrees; the choice is kept in ArkData preferences.
The host opens the bundled page when the shared UI asks for the published
policy URL; other platforms keep opening the website.
PDF attachment preview is verified on device, and the READ_PASTEBOARD ACL has
been approved; note the profile requirement and drop PDF from the untested
list.
The host never called platform::configure_pdfium, so PDF preview reported
"PDF preview is not configured". Resolve this cdylib's own path with dladdr
and register its directory, which is where the hap installs the bundled
libpdfium.so. Verified on device: previewing a PDF attachment works.
The entry page is produced by build-hap.sh from page-templates/Index.<APP>.ets,
so stop tracking it and tell IDE users to copy it first. Add the oxk ArkTS lint
configuration with the rules that pass today, a section on the checks run on
device, and the known limitations (clipboard ACL, untested import flows, soft
keyboard on 2-in-1).
Run the ArkTS rules of oxk (oxc-ark) over the shell sources: give build() an
explicit return type, use the remaining catch parameters, and replace the
indexed access in the staged file name with pop(). The linter reports no
findings for entry/src/main/ets.