mirror of
https://github.com/flectar/mail.git
synced 2026-11-11 17:57:54 +00:00
Tier-3 community port (maintainer: springmin), rebased onto the merged document-provider abstraction (#84) and the opener seam (#80). - platform/ohos: Slint backend (XComponent window adapter, software renderer with the experimental femtovg/wgpu path, input/IME, clipboard, system fonts), the NAPI cdylib that builds a PlatformContext (app-private paths, DocumentProvider over the ArkTS pickers, Asset Store credential store, loopback OAuth broker, external URL opener, notification publisher) and calls flectar_mail::run, the demo crate, the ArkTS shell and the build and packaging scripts (bundle name configurable, defaults to com.flectar.mail_ohos). - src/platform/ohos.rs: PDFium directory, renderer name, thread priority, preview lifecycle, email font directory; OpenHarmony stays under the mobile capability alias. - patches/fontique + crates/fontique: the Fontconfig opt-out as a patch queue applied by the platform/ohos workspace, verified from quality.yml. - .github/workflows/ohos.yml: manually dispatched tier-3 workflow, unsigned by default, signing material only from the FLECTAR_OHOS_* secrets. - src/documents.rs: run_request blocks the calling thread on mobile hosts; the picker covers the window, and keeping the presentation thread idle is what OpenHarmony needs (verified on device; desktop keeps the runtime request for the native dialog). - The email renderer and the compose editor load platform::email_font_dir() and the Han fallback, so CJK mail bodies and composed text render with the platform fonts. - New-mail notifications: a publisher seam fed by CoreEvent::MailNew; the host publishes through @kit.NotificationKit.
24 lines
558 B
JSON
24 lines
558 B
JSON
{
|
|
app: {
|
|
products: [
|
|
{
|
|
name: 'default',
|
|
compileSdkVersion: '26.0.0',
|
|
compatibleSdkVersion: '18',
|
|
targetSdkVersion: '26.0.0',
|
|
runtimeOS: 'OpenHarmony',
|
|
buildOption: {
|
|
strictMode: {
|
|
caseSensitiveCheck: true,
|
|
useNormalizedOHMUrl: false,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
buildModeSet: [{ name: 'debug' }, { name: 'release' }],
|
|
},
|
|
modules: [
|
|
{ name: 'entry', srcPath: './entry', targets: [{ name: 'default', applyToProducts: ['default'] }] },
|
|
],
|
|
}
|