diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fee318ce1..358eebfa5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4 with: bundle: mail.flatpak - manifest-path: io.elementary.mail.yml + manifest-path: io.elementary.mail.json run-tests: true repository-name: appcenter repository-url: https://flatpak.elementary.io/repo.flatpakrepo diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index cc9405485..f473bb01b 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -34,7 +34,7 @@ jobs: uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4 with: bundle: mail.flatpak - manifest-path: io.elementary.mail.yml + manifest-path: io.elementary.mail.json repository-name: appcenter repository-url: https://flatpak.elementary.io/repo.flatpakrepo cache-key: "flatpak-builder-${{ github.sha }}" diff --git a/io.elementary.mail.json b/io.elementary.mail.json new file mode 100644 index 000000000..4d4fc1664 --- /dev/null +++ b/io.elementary.mail.json @@ -0,0 +1,129 @@ +{ + "app-id": "io.elementary.mail", + "runtime": "io.elementary.Platform", + "runtime-version": "7.1", + "sdk": "io.elementary.Sdk", + "command": "io.elementary.mail", + "finish-args": [ + "--filesystem=/tmp/io.elementary.mail:create", + "--env=TMPDIR=/tmp/io.elementary.mail", + "--share=ipc", + "--share=network", + "--socket=fallback-x11", + "--socket=wayland", + "--talk-name=org.gnome.evolution.dataserver.AddressBook10", + "--talk-name=org.gnome.evolution.dataserver.Calendar8", + "--talk-name=org.gnome.evolution.dataserver.Sources5", + "--talk-name=org.gnome.evolution.dataserver.UserPrompter0", + "--metadata=X-DConf=migrate-path=/io/elementary/mail/" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/share/vala", + "*.a", + "*.la" + ], + "modules": [ + { + "name": "evolution-data-server", + "buildsystem": "cmake-ninja", + "cleanup": [ + "/etc", + "/lib/evolution-data-server/*-backends", + "/libexec", + "/share/dbus-1", + "/share/GConf", + "/share/pixmaps" + ], + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DENABLE_EXAMPLES=OFF", + "-DENABLE_GOA=OFF", + "-DENABLE_GTK4=OFF", + "-DWITH_LIBDB=OFF", + "-DENABLE_WEATHER=OFF", + "-DENABLE_CANBERRA=OFF", + "-DENABLE_VALA_BINDINGS=ON", + "-DWITH_KRB5=OFF", + "-DWITH_OPENLDAP=OFF", + "-DENABLE_INTROSPECTION=ON" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/evolution-data-server.git", + "branch": "3.46.4" + } + ], + "modules": [ + { + "name": "intltool", + "cleanup": [ + "*" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz", + "md5": "12e517cac2b57a0121cda351570f1e63" + } + ] + }, + { + "name": "libical", + "cleanup": [ + "/lib/cmake", + "/libexec" + ], + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DCMAKE_INSTALL_LIBDIR=/app/lib", + "-DWITH_CXX_BINDINGS=false", + "-DSHARED_ONLY=true", + "-DGOBJECT_INTROSPECTION=true", + "-DICAL_BUILD_DOCS=false", + "-DICAL_GLIB_VAPI=true", + "-DLIBICAL_BUILD_TESTING=false" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libical/libical/releases/download/v3.0.16/libical-3.0.16.tar.gz", + "sha256": "b44705dd71ca4538c86fb16248483ab4b48978524fb1da5097bd76aa2e0f0c33" + } + ] + } + ] + }, + { + "name": "folks", + "buildsystem": "meson", + "config-opts": [ + "-Dbluez_backend=false", + "-Dofono_backend=false", + "-Dtelepathy_backend=false", + "-Dimport_tool=false", + "-Dinspect_tool=false" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/folks.git", + "tag": "0.15.5" + } + ] + }, + { + "name": "mail", + "buildsystem": "meson", + "sources": [ + { + "type": "dir", + "path": "." + } + ] + } + ] +} diff --git a/io.elementary.mail.yml b/io.elementary.mail.yml deleted file mode 100644 index c837cd94c..000000000 --- a/io.elementary.mail.yml +++ /dev/null @@ -1,104 +0,0 @@ -app-id: io.elementary.mail -runtime: io.elementary.Platform -runtime-version: '7' -sdk: io.elementary.Sdk -command: io.elementary.mail -finish-args: - - '--filesystem=/tmp/io.elementary.mail:create' - - '--env=TMPDIR=/tmp/io.elementary.mail' - - - '--share=ipc' - - '--share=network' - - '--socket=fallback-x11' - - '--socket=wayland' - - # EDS DBus interfaces - - '--talk-name=org.gnome.evolution.dataserver.AddressBook10' - - '--talk-name=org.gnome.evolution.dataserver.Sources5' - - - '--metadata=X-DConf=migrate-path=/io/elementary/mail/' -cleanup: - - '/include' - - '/lib/pkgconfig' - - '/share/vala' - - '*.a' - - '*.la' -modules: - - name: evolution-data-server - buildsystem: cmake-ninja - cleanup: - - /etc - - /lib/evolution-data-server/*-backends - - /libexec - - /share/dbus-1 - - /share/GConf - - /share/pixmaps - config-opts: - - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' - - '-DENABLE_EXAMPLES=OFF' - - '-DENABLE_GOA=OFF' - - '-DWITH_LIBDB=OFF' - - '-DENABLE_WEATHER=OFF' - - '-DENABLE_CANBERRA=OFF' - - '-DENABLE_VALA_BINDINGS=ON' - - '-DWITH_KRB5=OFF' - - '-DWITH_OPENLDAP=OFF' - - '-DENABLE_INTROSPECTION=ON' - sources: - - type: git - url: https://gitlab.gnome.org/GNOME/evolution-data-server.git - tag: '3.40.2' - modules: - - name: intltool - cleanup: - - '*' - sources: - - type: archive - url: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz - md5: 12e517cac2b57a0121cda351570f1e63 - - name: libgdata - buildsystem: meson - config-opts: - - '-Dalways_build_tests=false' - - '-Dgoa=disabled' - sources: - - type: git - url: https://gitlab.gnome.org/GNOME/libgdata.git - tag: '0.18.0' - - name: libical - cleanup: - - '/lib/cmake' - - '/libexec' - buildsystem: cmake-ninja - config-opts: - - '-DCMAKE_BUILD_TYPE=RelWithDebInfo' - - '-DCMAKE_INSTALL_LIBDIR=/app/lib' - - '-DWITH_CXX_BINDINGS=false' - - '-DSHARED_ONLY=true' - - '-DGOBJECT_INTROSPECTION=true' - - '-DICAL_BUILD_DOCS=false' - - '-DICAL_GLIB_VAPI=true' - - '-DLIBICAL_BUILD_TESTING=false' - sources: - - type: git - url: https://github.com/libical/libical.git - tag: v3.0.9 - - - name: folks - buildsystem: meson - config-opts: - - '-Dbluez_backend=false' - - '-Dofono_backend=false' - - '-Dtelepathy_backend=false' - - '-Dimport_tool=false' - - '-Dinspect_tool=false' - sources: - - type: git - url: https://gitlab.gnome.org/GNOME/folks.git - tag: '0.15.5' - - - name: mail - buildsystem: meson - sources: - - type: dir - path: . diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala index 99ebc0f33..dac0eef9e 100644 --- a/src/MessageList/MessageListItem.vala +++ b/src/MessageList/MessageListItem.vala @@ -484,6 +484,10 @@ public class Mail.MessageListItem : Gtk.ListBoxRow { private async void open_message (Camel.MimeMessage message) { yield parse_mime_content (message.content); + if (message_content == null) { + return; + } + if (message_is_html) { web_view.load_html (message_content); } else {