After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 540362 - [webkit-composer] Use webkit for composer
[webkit-composer] Use webkit for composer
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.2.x (obsolete)
Other All
: Normal enhancement
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[webkit] evolution[composer]
: 576153 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-06-26 19:02 UTC by Veerapuram Varadhan
Modified: 2015-03-31 08:10 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
evo-webkit-hacky-r35828 (10.89 KB, patch)
2008-10-14 01:40 UTC, alp
needs-work Details | Review

Description Veerapuram Varadhan 2008-06-26 19:02:31 UTC
Upgrade to Webkit from gtkhtml.  Webkit is more powerful, light-weight and essentially is a good rendering engine than gtkhtml.
Comment 1 Matthew Barnes 2008-06-26 19:10:25 UTC
Jeff tells me Alp has a patch for viewing emails with WebKit.  That's a good first step.  Care to post it here for review?

Getting the /composer/ to use WebKit will take a bit more doing.

Here's WebKit's own tracker bug for adding GObject-based editing capabilities.  This bug depends on it.  https://bugs.webkit.org/show_bug.cgi?id=19456
Comment 2 Srinivasa Ragavan 2008-07-27 17:39:26 UTC
Alp, can you upload your patch? 
Comment 3 André Klapper 2008-09-12 15:12:30 UTC
Alp, can you upload your patch (if this hasn't been done yet)?

GNOME 2.26 target, though not a blocker one - release team just wants to switch the entire Gnome platform from XulRunner to WebKit, so switching from GtkHtml3 to Webkit would be great too.
Pinged the gnucash folks to also port their app (bug 551976), don't know of other apps depending on gtkhtml3 though.
Comment 4 alp 2008-10-14 01:40:03 UTC
Created attachment 120547 [details] [review]
evo-webkit-hacky-r35828

Very basic WebKit viewer, just a hack.

Sorry I missed this bug earlier.
Comment 5 Diego Escalante Urrelo (not reading bugmail) 2008-10-14 03:32:58 UTC
:-)
Comment 6 Srinivasa Ragavan 2008-10-14 04:20:02 UTC
Thanks alp. Lemme see, how to take it to main stream
Comment 7 Matthew Barnes 2008-10-14 11:23:54 UTC
I suggest we maintain the patch on a 'webkit' branch, and merge it to trunk once we have a WebKit-based composer.  I can look after keeping the branch up-to-date if you want.  This was at the top of my list once 'kill-bonobo' is done.
Comment 8 André Klapper 2009-02-24 16:48:30 UTC
(well - it's not a hard requirement for 2.28 but a nice to have. other stuff like bonobo deprecation is way more important, hence removing gnome-target)
Comment 9 Matthew Barnes 2009-03-21 14:27:05 UTC
*** Bug 576153 has been marked as a duplicate of this bug. ***
Comment 10 Ruchir Brahmbhatt 2009-03-21 14:39:15 UTC
I would love to see this in 2.28 or at least in 3.0.
Comment 11 André Klapper 2009-03-21 20:00:17 UTC
(In reply to comment #10)
> I would love to see this in 2.28 or at least in 3.0.

Yes, we all would, but such comments are not helpful at all and are not motivating for developers, while contributed patches might be.
Comment 12 lduperval 2009-10-25 23:55:50 UTC
Is there a Webkit branch available? I am on Ubuntu and the latest release comes out in a few days and it contains 2.28. I don't think webkit support is enabled yet. If possible, I'd like to make my own build with Alp's patch once I upgrade.
Comment 13 Matthew Barnes 2009-10-26 15:08:53 UTC
No, WebKit support isn't available yet.  We're still waiting to WebKit to provide DOM bindings for GObject so we can use WebKit also for composing mails and drop GtkHTML entirely.  It's on the back burner right now.
Comment 14 Dima 2010-01-17 02:00:04 UTC
Hmmmm Do you really need Dom binding? Why not just abuse Javascript a bit?

http://arstechnica.com/open-source/guides/2009/07/how-to-build-a-desktop-wysiwyg-editor-with-webkit-and-html-5.ars

I'm working on porting this to C for my app.....
Comment 15 Dima 2010-01-17 02:18:00 UTC
Also some more inspiration from Qt with more stuff enabled.

http://labs.trolltech.com/blogs/2009/03/12/wysiwyg-html-editor/
http://qt.gitorious.org/qt-labs/graphics-dojo/trees/master/htmleditor

I'll post the Gtk/C version when it will be on-par with these two.
Comment 16 Matthew Barnes 2010-01-17 03:17:21 UTC
Yes, we need the DOM bindings.
Comment 17 Matthew Barnes 2010-05-19 12:41:30 UTC
I have a private webkit branch started now with the preview panes in Contacts, Memos and Tasks (including text search) essentially done.  However the Mail and Composer are by far the most complex parts that deal with HTML, so the branch is really just getting off the ground.  Once I get a little further with it I will post it publicly.
Comment 18 Ruchir Brahmbhatt 2010-05-19 13:03:21 UTC
That's a great news. J
Comment 19 David Woodhouse 2010-08-25 08:24:07 UTC
How soon are we likely to have this? I've been playing with Valgrind and I'm coming to the conclusion that gtkhtml leaks like a sieve (bug 623265 list many leaks but isn't exhaustive).

If we're going to ditch gtkhtml imminently, it may not be worth bothering with. Otherwise, I'm half tempted to suggest we start using talloc in gtkhtml ;)
Comment 20 Matthew Barnes 2010-08-25 11:56:10 UTC
It's probably another six months out, at least.  GtkHtml is on life support at this point.
Comment 21 Yotam Benshalom 2011-01-04 04:10:19 UTC
gtkhtml is also a nightmare when composing bidi content. It seemingly switches alignment and indentation randomly, adds non-deletable line feeds, makes it impossible to navigate with the arrow keys (you keep going back to where you were), crashes evolution totally, you name it.
It will be a great relief when webkit finally replaces it.
Comment 22 scott.parkerson 2011-02-17 16:48:56 UTC
Bumping. What's the status on this?
Comment 23 André Klapper 2011-02-17 18:05:25 UTC
(In reply to comment #22)
What's the status

See http://live.gnome.org/Evolution/Planning292
Comment 24 André Klapper 2011-08-23 10:55:42 UTC
As far as I know, Dan Vrátil is working on this.
Comment 25 Ruchir Brahmbhatt 2011-08-23 10:57:20 UTC
Wow, that's great news.
Comment 26 André Klapper 2011-08-24 16:36:31 UTC
According to team meeting today:
This will not happen for 3.2, trying to fix this for 3.4 (March 2012).
Comment 27 Michal 'hramrach' Suchanek 2012-02-08 17:11:42 UTC
Hello,

would it be possible to build a version that uses webkit to view HTML and composes only plaintext thus avoiding gtkhtml at least for some use cases?
Comment 28 Dan Vrátil 2012-02-08 17:16:23 UTC
Hello,

rendering emails in WebKit is currently under development (see the webkit branch in git) and will be available in Evolution 4.5.x (hopefully 4.5.1). The composer is still GtkHTML based, but should be replaced by WebKit in Evolution 4.6 (planned for Autumn).
Comment 29 Dan Vrátil 2012-02-08 17:19:39 UTC
Sorry, I meant 3.X.X of course.
Comment 30 André Klapper 2012-07-11 11:47:23 UTC
Short status update:
Evolution 3.6 (09/2012) will include WebKit rendering (displaying emails).
Evolution 3.8 (03/2013) will likely include WebKit editing (composing emails).
Comment 31 Emre Erenoglu 2013-06-09 22:16:49 UTC
Adding myself as I need the webkit editing.
Comment 32 deepak.dasgupta 2013-11-04 13:52:14 UTC
Adding myself into the mailing list

Sorry for spam.

BR, /Deepak
Comment 33 Marco Marzetti 2014-01-30 09:21:10 UTC
The composing part has been moved first to 3.10, then to 3.11 and now it will probably to 3.12.

What's the actual status?
Comment 34 Milan Crha 2014-01-30 10:07:15 UTC
Check the webkit-composer branch [1], Tomas is working on it. If you can compile evolution yourself, then any help with testing is appreciated. Also check currently opened bug reports about the webkit composer at [2]

[1] https://git.gnome.org/browse/evolution/log/?h=wip/webkit-composer
[2] https://bugzilla.gnome.org/buglist.cgi?query_format=advanced;short_desc=[webkit-composer];bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;short_desc_type=allwordssubstr;product=Evolution

and on a WhiteBoard string, which includes also bug s which would be nice to have done together/after webkit composer is done:

https://bugzilla.gnome.org/buglist.cgi?status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=webkit%20composer&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&product=Evolution
Comment 35 Emre Erenoglu 2014-01-30 10:55:32 UTC
I'm willing to test this. But there's no guide or something to compline it. I installed JHBuild environment and successfully compiled and ran 3.11.3. 
But when I checked-out the webkit branch, it did not compile somehow on the same system.
So a guide would be appreciated. At least, can someone tell, if we just checkout the webkit branch & compile, or do we have to merge it with head of normal evolution branch, or what? What is the version that webkit branch using? Is it the head? Something old?  (I don't know how git works, so sorry if I asked some stupid question)
Comment 36 André Klapper 2014-01-30 11:32:32 UTC
Switching the branch that you want to compile is a general topic and not Evolution specific, so it should be covered on https://wiki.gnome.org/Git/Developers - please check and feel free to ask questions on evolution-hackers@ or gnome-love@ mailing list, as providing general Git support is out of scope for this specific bug report. Thanks. :)
Comment 37 Tomas Popela 2014-01-30 11:57:53 UTC
Right now you just need to checkout the wip/webkit-composer in Evolution and that's all. But before I do another rebase (probably next week) you need to have evolution-data-server on https://git.gnome.org/browse/evolution-data-server/commit/?id=e92f0fd7fb7fd67cda56c778b419b2dfae0b2388
Comment 38 Emre Erenoglu 2014-01-30 12:46:20 UTC
Tomas, thanks. I have this line now in my .jhbuildrc
branches['evolution'] = (None, 'wip/webkit-composer') 
hope this is the correct one, I'm unable to checkout now at work, but will do tonight.
Comment 39 Emre Erenoglu 2014-02-01 18:26:49 UTC
Tomas, I think I will need to wait for your rebase next week(hope it won't need the evolution-data-server then), since I'm unable to compile evolution with the master evolution-data-server at the moment due to following error:
mail-folder-cache.c: In function 'ping_store_exec':
mail-folder-cache.c:1275:3: error: implicit declaration of function 'camel_store_noop_sync' [-Werror=implicit-function-declaration]
mail-folder-cache.c:1275:3: warning: nested extern declaration of 'camel_store_noop_sync' [-Wnested-externs]
Comment 40 Emre Erenoglu 2014-02-14 08:52:50 UTC
Tomas, I compiled your branch last week and using it. Since it's running on jhbuild environment on Ubuntu 13.10, it's not that stable, but I'm pretty happy at the moment to be finally able to use Evolution in our Outlook environment. I'll be syncing the branch from time to time and continue the test.

Until now, I've only seen one glitch, but I could not reproduce it. I selected a text to paste somewhere else, then the selection got stuck and I could not anymore use the mouse to move the cursor wherever I wanted in the text. Only the keyboard worked to move the cursor. I sent that message and all is good again.
Comment 41 Emre Erenoglu 2014-02-14 10:25:33 UTC
Some more issues I just faced now:

- When I insert an image into the mail by dragging & dropping, the image is inserted. But then it's not selectable as an object. You can only select it if you select it like text (ie cursor buttons with shift or mouse select and move). 

- The remote party could only see 10% of the inserted image. Rest is blank. I think this is major issue.

- I deleted an address from the address TO or CC line, but i can't undo it (ie by CTRL-Z)

- When I try to forward a calendar item using "forward as iCalendar", there's a dialog which pops up if we want to strip HTML or not, if you click Yes or No, it does not matter, you can't edit address lines to add people you want to forward to. The invitation text is also not visible in the editor widget. So I'm puzzled how to forward an invitation.

Shall I open bug reports?
Comment 42 André Klapper 2014-02-14 12:27:37 UTC
Emre: Thanks for testing. As this is a tracking bug, please file separate bug reports for the problems you faced, one per issue.
Comment 43 Emre Erenoglu 2014-02-17 13:35:26 UTC
OK, I will do after some time due to busy work schedule.

Tomas, Andre, how can i understand that I am actually using the webkit composer? I can see that it no longer messes up the formatting of the mails I respond, that's very good in itself, but I still can't see font selection, font size settings in the composer window. It's still some styles and +- size sections. For example, my company's signature needs a specific font & font size. I guess no way to obey it at this moment. 

New bugs:
- Signature editing window is acting weird
- when you start new mail, if you press enter after first line, cursor jumps way bottom of the window, but the sent mail is correct.
I'll file bug reports as well for these.
Comment 44 Emre Erenoglu 2014-02-18 14:54:37 UTC
All bugs filed. When I find new ones, I'll file them as well.
Comment 45 deepak.dasgupta 2014-02-18 15:49:46 UTC
Hello,

Which evolution release is planned for webkit composer to be publicly available?

Thanks for information.

BR, /Deepak
Comment 46 Matthew Barnes 2014-02-18 16:27:27 UTC
Not yet known, it's still under development.

The earliest would be Evolution 3.14 in March, 2015.
Comment 48 Olav Vitters 2014-06-23 09:43:10 UTC
This still left one define in configure.ac, I removed that just now.

diff --git a/configure.ac b/configure.ac
index e08fc28..efd6a76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,7 +45,6 @@ m4_define([soup_minimum_version], [2.42])
 m4_define([soup_encoded_version], [SOUP_VERSION_2_42])

 m4_define([eds_minimum_version], [evo_version])
-m4_define([gtkhtml_minimum_version], [4.5.2])
 m4_define([gdk_pixbuf_minimum_version], [2.24.0])
 m4_define([gcr_minimum_version], [3.4])
 m4_define([enchant_minimum_version], [1.1.7])
Comment 49 Olav Vitters 2014-06-23 21:38:24 UTC
evolution-shell.pc.in still has the following:
Requires: gtk+-3.0 libebackend-1.2 webkitgtk-3.0 libgtkhtml-4.0 gtkhtml-editor-4.0


Shouldn't that be removed as well?

Causes problems such as:

checking for BIJIBEN... no
configure: error: Package requirements ( evolution-calendar-3.0
		    evolution-data-server-1.2
                    gio-unix-2.0
                    glib-2.0 >= 2.28
                    goa-1.0
                    gtk+-3.0 >= 3.11.4
		    libecal-1.2
                    libxml-2.0
                    tracker-sparql-1.0
                    uuid
                    webkitgtk-3.0) were not met:

Package 'libgtkhtml-4.0', required by 'evolution-shell-3.0', not found
Comment 50 Milan Crha 2014-06-24 06:55:36 UTC
You are right, there were still left some references to GtkHTML in Evolution, unfortunately. I removed them (those in "active code") here:

Created commit a1f29eb in evo master (3.13.4+) [1]

[1] https://git.gnome.org/browse/evolution/commit/?id=a1f29eb