Commit Graph
1166 Commits
Author SHA1 Message Date
Tomás Romero 073633b726 test: skip fuzzy catalog entries in text fit checks 2026-10-24 05:23:21 +02:00
Tomás Romero 61ef00977c docs: add README translations 2026-10-24 04:55:21 +02:00
Tomás Romero e8382ff781 chore(l10n): check Danish, Italian, Japanese and Dutch catalogs 2026-10-24 04:45:10 +02:00
Tomás Romero d6ca8b2ee4 Merge branch 'main' into weblate-flectar-mail-mail
# Conflicts:
#	lang/fr/LC_MESSAGES/flectar-mail.po
#	lang/zh_Hans/LC_MESSAGES/flectar-mail.po
2026-10-24 04:44:59 +02:00
Tomás Romero 591c0d3063 docs: add Spanish and policies 2026-10-24 04:42:11 +02:00
Tomás Romero a2970bf0a1 Merge pull request #124 from flectar/iamdarkle/appimage-on-arch-clicking-links-does-nothing-cop
fix: open links from the AppImage
2026-10-24 04:19:39 +02:00
Tomás Romero e5441b316b Merge pull request #123 from flectar/iamdarkle/keyboard-shortcuts-dont-make-sense-and-dont-work
Make keyboard shortcuts work
2026-10-24 04:01:28 +02:00
Tomás Romero 260f9bd7ed Merge pull request #122 from flectar/iamdarkle/flatpak-copy-paste-bug-linux-cosmic-interface
fix: use the core Wayland clipboard protocol
2026-10-24 04:00:09 +02:00
Tomás Romero 7168ce8787 fix: decode stored Gmail snippets 2026-10-24 03:45:48 +02:00
Tomás Romero dd4c95e77c fix: decode Gmail snippets 2026-10-24 03:39:09 +02:00
Tomás Romero c19deb4ff0 fix: keep message previews on one line 2026-10-24 03:39:09 +02:00
Tomás Romero a5ce6cbbc8 fix: list the working shortcuts in Settings 2026-10-24 03:33:21 +02:00
Tomás Romero 9156b19394 fix: make mail keyboard shortcuts work 2026-10-24 03:33:14 +02:00
Tomás Romero a44f32e2ff feat: add Kbd key cap components 2026-10-24 03:33:02 +02:00
Tomás Romero dd276ff8c2 fix: use the core Wayland clipboard protocol 2026-10-24 03:20:46 +02:00
Tomás Romero 997176a067 chore: vendor i-slint-backend-winit 1.18.1 2026-10-24 03:16:04 +02:00
Tomás Romero 39dbfee542 fix: tune the allocator in-process 2026-10-24 03:14:54 +02:00
Tomás Romero af61c93bd8 fix: open links from the AppImage 2026-10-24 03:14:28 +02:00
Tomás Romero 4f501f8dd3 Merge pull request #118 from flectar/iamdarkle/imap-server-migration-stale
fix: JMAP sync of large mailboxes and stale account form fields
2026-10-23 19:39:40 +02:00
Tomás Romero fd291250f6 chore: update tokio and clipboard-win 2026-10-23 18:34:27 +02:00
Tomás Romero 9c83e18d20 test: advance time only once the SMTP relay has stalled 2026-10-23 18:34:27 +02:00
Tomás Romero 5fe9947495 fix: close account forms when Settings closes 2026-10-23 17:49:34 +02:00
Tomás Romero 30ff49fea9 fix: suggest mail servers only for new accounts 2026-10-23 17:49:34 +02:00
Tomás Romero 12edea5455 fix: keep account form fields in sync with their values 2026-10-23 17:49:34 +02:00
Tomás Romero 0bfdbb7aac fix: list every JMAP mailbox past the server's get limit 2026-10-23 17:49:34 +02:00
Tomás Romero ca3a86bfdf fix: say why a JMAP request failed 2026-10-23 17:49:34 +02:00
Tomás Romero 925e8aff70 fix: drop mail an account's previous server left behind 2026-10-23 17:49:34 +02:00
Tomás Romero cd182ad4f0 fix: resume interrupted JMAP full syncs 2026-10-23 17:49:34 +02:00
Tomás Romero 97262d1b03 fix: split JMAP requests that time out 2026-10-23 17:49:34 +02:00
Tomás Romero 3aaa461404 fix: list JMAP attachments outside header sync 2026-10-23 16:07:29 +02:00
Tomás Romero 4230858725 Merge pull request #116 from flectar/iamdarkle/pop3-server-deletion
feat: remove POP3 mail from the server and import POP3 accounts
2026-10-23 04:35:55 +02:00
Tomás Romero 4bd6540109 Merge pull request #115 from flectar/iamdarkle/pop3-accounts
feat: add POP3 accounts
2026-10-23 04:35:35 +02:00
Tomás Romero 052e270a45 test: remove POP3 mail from the server in the Dovecot e2e 2026-10-23 03:28:18 +02:00
Tomás Romero 35749b7235 feat: import POP3 accounts with their rule for mail on the server 2026-10-23 03:28:18 +02:00
springmin 30645131d6 i18n: regenerate the catalogs after the rebase
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.
2026-10-23 09:05:30 +08:00
Tomás Romero c04ded8f59 feat: choose how long POP3 mail stays on the server 2026-10-23 02:56:28 +02:00
Tomás Romero f4eda0f8ee feat: remove downloaded POP3 mail from the server 2026-10-23 02:46:27 +02:00
springmin fd6d1cd96e chore(ohos): refresh the lockfile for the zip dependency edge
The build resolved the zip crate's flate2 edge for the OpenHarmony
workspace; keep the committed lockfile in sync with the source.
2026-10-23 08:42:43 +08:00
springmin a5160c5f29 ohos: fix the inverted mouse wheel direction
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.
2026-10-23 08:42:43 +08:00
springmin 2ff00c2c32 ui: drop the obsolete onboarding import-backup callback
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.
2026-10-23 08:42:43 +08:00
springmin 136940e708 chore(deps): update webpki crates for RUSTSEC-2026-0381/0382/0383
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.
2026-10-23 08:42:43 +08:00
springmin ec69115da9 ohos: revise the privacy policy wording
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).
2026-10-23 08:42:43 +08:00
springmin 557c84e0a3 ohos: localise the consent screen and polish its layout
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.
2026-10-23 08:42:43 +08:00
springmin d823705bf6 ohos: add jurisdiction-specific privacy disclosures
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.
2026-10-23 08:42:43 +08:00
springmin 9b81216c79 ohos: localise the privacy policy and let consent be withdrawn
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.
2026-10-23 08:42:43 +08:00
springmin 754487188d ohos: add the privacy policy and first-run consent
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.
2026-10-23 08:42:43 +08:00
springmin 95cd321002 ohos: record the PDF preview and clipboard ACL status
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.
2026-10-23 08:42:43 +08:00
springmin 0327bf04ee ohos: configure the PDFium directory from the loaded module
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.
2026-10-23 08:42:43 +08:00
springmin 9bfd7a287a ohos: ignore the generated shell page, document lint and device status
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).
2026-10-23 08:42:43 +08:00
springmin cdea28675f ohos: clear ArkTS lint findings
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.
2026-10-23 08:42:43 +08:00