Commit Graph
1166 Commits
Author SHA1 Message Date
springmin 062ba5da20 ohos: complete the P1 picker, IME and lifecycle fixes
- use async fileIo open/stat/mkdir/close in both picker paths so slow content providers do not block the ArkUI thread
- add the window origin to IME updateCursor coordinates, since CursorInfo is in absolute physical screen coordinates
- subscribe the page to UIAbility.onBackground through the ability eventHub so preview resources are released on every background path, while keeping onPageHide as a fallback
- cache the latest password/type request while an IME attach or detach is in flight and replay it when the transition finishes
2026-10-26 06:20:45 +08:00
springmin a9714fa1a7 ohos: harden picker, fonts, input and system integration
- chunk Asset Store secrets above its 1024-byte limit with generation-suffixed entries; publish the marker last and cover the chunked path in the self-test and unit tests
- picker: copy asynchronously, cap imports at 50 MiB, stage under a random UUID (no picked filename in the cache), and let the native side report whether a late result was accepted so the page cleans up orphaned copies
- register the native mouse callback for right-click/ContextMenuArea and reset Shift/CapsLock/auto-repeat state when the window hides or is destroyed
- register non-Latin script fallbacks for the Slint UI and the email renderer from the platform font directory
- report the system light/dark scheme through AppStorage, the NAPI bridge and SlintContext; throttle repeated IME cursor/color updates and guard overlapping IME attach calls
- expose suspendPreview for the page lifecycle so preview resources are released
2026-10-25 23:33:04 +08:00
springmin 8022c58c16 ohos: forward IME password type, action key and cursor updates
- pass the focused field's InputType::Password through the show hook, use VISIBLE_PASSWORD/DONE, and detach/attach when the keyboard type changes
- subscribe sendFunctionKey and send a full Return press/release for the keyboard action key; the reported enter-key value varies by keyboard and is not a fixed code
- forward InputMethodRequest::Update's caret rectangle to the OHOS controller's updateCursor
- remove the remaining privacy bridge closures and URL interception left after the privacy UI was dropped
2026-10-25 22:53:37 +08:00
springmin c6e3900ac9 ohos: keep the shared certificate picker path unchanged
Do not change mail_setup's mobile certificate-import flow in the port PR: Android and iOS keep their existing behavior, and the OHOS picker work stays in the platform layer. Importing a certificate through DocumentProvider can be proposed separately if the shared hosts want it.
2026-10-25 22:22:01 +08:00
Tomás Romero 9fd078f8ee chore: update screenshots 2026-10-25 15:20:35 +01:00
Tomás Romero aabd902ce8 chore: merge main 2026-10-25 15:20:34 +01:00
springmin a4125207a3 ohos: fix surface lifecycle, fences and wheel scaling
- request a redraw on Surface/SurfaceShown instead of only invalidating the cache, and skip drawing while the window is hidden so the request survives until it is shown
- wait for and close the acquire fence returned by RequestBuffer, and abort a rejected flush instead of leaking a dequeued buffer
- key buffer geometry to the current surface size so a resize on the same native window reconfigures the queue
- expose only the active renderer to Slint and re-associate the software renderer when the GPU attach or render falls back
- scale mouse-wheel degrees by the user scroll step, leaving touchpad pixel deltas at 1:1
2026-10-25 22:12:49 +08:00
springmin 6b2076977e feat: add a notification publisher seam
Sync already records chime-worthy arrivals in the notification outbox. This adds the shared dispatcher that applies the Important/All/tabs scope, waits for pending AI routing, and hands raw sender/subject/thread ids to a host publisher. Hosts format and translate the notification and attach the platform action (slot type, wantAgent); the default publisher keeps the whole path a no-op.
2026-10-25 20:55:21 +08:00
Tomás Romero d07ff17c6a docs: describe mail import 2026-10-25 13:42:46 +01:00
Tomás Romero 34adcd9ab3 feat: pick several files on phones 2026-10-25 13:42:46 +01:00
Tomás Romero 81160768d9 feat: import mail into server accounts 2026-10-25 13:42:46 +01:00
Tomás Romero 3d6fc5bf1c feat: upload imported mail to servers 2026-10-25 13:42:46 +01:00
Tomás Romero 9b305db024 feat: show the folder being imported 2026-10-25 13:42:46 +01:00
Tomás Romero f2dc30b572 feat: import in the background 2026-10-25 13:42:46 +01:00
Tomás Romero 8b991d4020 feat: ask for an account to send mail 2026-10-25 13:42:46 +01:00
Tomás Romero b69d54e3b0 feat: group digits in counts 2026-10-25 13:42:45 +01:00
Tomás Romero 0f1121679b fix: line up the transfer buttons 2026-10-25 13:42:45 +01:00
Tomás Romero 14ecf86630 feat: add mail to the import dialog 2026-10-25 13:42:45 +01:00
Tomás Romero f25af4d19d feat: show local mail 2026-10-25 13:42:45 +01:00
springmin 5c88d455f9 ohos: move privacy and notification seams out of the port
Remove the bundled policy, first-launch consent screen, bridge URL interception and Settings/onboarding rows; Flectar hosts the policy at https://flectar.com/mail/privacy/. Remove the notification publisher seam and the permission request so they can be reviewed separately.
2026-10-25 20:26:35 +08:00
springmin a11d552430 ohos: adapt credential storage to per-connection slots
main now keys CalDAV secrets by connection id and names the legacy fixed slot AccountCaldavPassword; use Slot::key() and drop the host notification publisher assignment (the seam moves to its own PR).
2026-10-25 20:26:34 +08:00
springmin 018de4b51a Merge remote-tracking branch 'origin/main' into ohos-alias
# Conflicts:
#	lang/da/LC_MESSAGES/flectar-mail.po
#	lang/de/LC_MESSAGES/flectar-mail.po
#	lang/es/LC_MESSAGES/flectar-mail.po
#	lang/flectar-mail.pot
#	lang/fr/LC_MESSAGES/flectar-mail.po
#	lang/it/LC_MESSAGES/flectar-mail.po
#	lang/ja/LC_MESSAGES/flectar-mail.po
#	lang/nl/LC_MESSAGES/flectar-mail.po
#	lang/ru/LC_MESSAGES/flectar-mail.po
#	lang/tr/LC_MESSAGES/flectar-mail.po
#	lang/zh_Hans/LC_MESSAGES/flectar-mail.po
2026-10-25 20:02:56 +08:00
Tomás Romero b2086fe75f Merge pull request #132 from flectar/iamdarkle/import-gmail-account-cant-sign-in-if-the-saved-l
fix: sign in Gmail accounts saved under another spelling
2026-10-25 03:10:59 +01:00
Tomás Romero e0e37ec084 Merge pull request #137 from flectar/iamdarkle/default-rendering-at-low-zoom-without-word-wrap
fix: wrap preformatted message text
2026-10-25 02:30:41 +01:00
Tomás Romero 14f9d5d0fa fix: refresh Gmail labels after starting offline 2026-10-25 02:27:06 +01:00
Tomás Romero d1d7a5aea3 fix: treat Gmail address spellings as one account 2026-10-25 02:27:06 +01:00
Tomás Romero de80e825d6 fix: sign in Gmail accounts saved under another spelling 2026-10-25 02:27:06 +01:00
Tomás Romero a089d7a1a8 Merge pull request #134 from flectar/iamdarkle/share-mailbox-calendar
feat: sync several calendar servers per account
2026-10-25 01:55:14 +02:00
Tomás Romero e470c88a65 feat: keep folders and flags in mail exports 2026-10-25 01:42:57 +02:00
Tomás Romero 41f9316e12 feat: import saved mail 2026-10-25 01:42:57 +02:00
Tomás Romero e244b101dc feat: add local mail 2026-10-25 01:42:57 +02:00
Tomás Romero 5dbdcde9bb fix: keep replies in their account's threads 2026-10-25 01:42:57 +02:00
Tomás Romero bdbe408d17 fix: send saved CalDAV passwords only to their server 2026-10-25 01:05:54 +02:00
Tomás Romero ba89e9cfc3 feat: sync several calendar servers per account 2026-10-25 01:05:50 +02:00
Tomás Romero 8f54005e42 refactor: share the table rebuild migration step 2026-10-25 01:05:44 +02:00
Tomás Romero 25d3955387 Merge pull request #130 from flectar/iamdarkle/maillist-filled-icons-border
feat: verification code and file chips in the message list
2026-10-25 01:03:07 +02:00
Tomás Romero daaa16261c Merge pull request #136 from flectar/iamdarkle/title-row-alignment
Align titles without a leading action
2026-10-25 00:06:35 +02:00
Tomás Romero 5cfdac0892 chore: update screenshots 2026-10-24 23:41:13 +02:00
Tomás Romero 1a54f3226b chore: show labels, files and codes in the screenshot demo 2026-10-24 23:41:09 +02:00
Tomás Romero 4cfc53d085 fix: hide list previews too narrow for a word 2026-10-24 23:41:05 +02:00
Tomás Romero d3d6e0186d feat: preview attachments from the message list 2026-10-24 23:41:01 +02:00
Tomás Romero 55a152deb2 fix: count labels that have no room for their names 2026-10-24 23:40:58 +02:00
Tomás Romero b5c15fd0e9 feat: show file types on attachment cards 2026-10-24 23:40:54 +02:00
Tomás Romero fb5f8a2474 fix: keep sender icons clear of the time 2026-10-24 23:40:50 +02:00
Tomás Romero 7edcda02c8 feat: copy verification codes from the message list 2026-10-24 23:40:47 +02:00
Tomás Romero eb924f8f2d feat: detect verification codes in received mail 2026-10-24 23:40:43 +02:00
Tomás Romero c72aed6bf6 fix: match list label chips to the reading pane 2026-10-24 23:40:39 +02:00
Tomás Romero 89b9add5dd fix: wrap preformatted message text 2026-10-24 23:32:34 +02:00
Tomás Romero edb4ca51a7 chore: update screenshots 2026-10-24 23:25:49 +02:00
Tomás Romero c2aa1bbde0 fix: align titles without a leading action 2026-10-24 23:25:49 +02:00