Closed
Bug 484982
Opened 15 years ago
Closed 15 years ago
Weave should support SeaMonkey
Categories
(Cloud Services :: General, enhancement)
Cloud Services
General
Tracking
(Not tracked)
RESOLVED
FIXED
0.4
People
(Reporter: iav, Assigned: iav)
References
Details
Attachments
(2 files, 4 obsolete files)
6.94 KB,
patch
|
Mardak
:
review+
|
Details | Diff | Splinter Review |
2.04 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.9.1b4pre) Gecko/20090323 SeaMonkey/2.0b1pre Build Identifier: Will be good if weave can work on seamonkey. At least History, passwords, tabs can work like on firefox now. Reproducible: Always
Assignee | ||
Updated•15 years ago
|
OS: Windows XP → All
Hardware: x86 → All
Updated•15 years ago
|
Target Milestone: -- → Future
Assignee | ||
Comment 1•15 years ago
|
||
This patch enables weave to install and run on seamonkey. Now clients, password and history sync works ok between firefox and seamonkey, tab sync have some starnges. Options window not available, all configurations should be done via about:config. Bookmark backend of samonkey is not firefox-compatible, and shouldn't work at all.
Attachment #369699 -
Flags: review?
Comment 2•15 years ago
|
||
(In reply to comment #1) > Created an attachment (id=369699) [details] > enable run on seamonkey looks ok so far. don't you also need some install.rdf.in changes? > Now clients, password and history sync works ok between firefox and seamonkey, > tab sync have some starnges. Options window not available, all configurations > should be done via about:config. Okay, I'm not sure what's needed to make the pref pane or tab sync work, but those should be part of this bug imo. > Bookmark backend of samonkey is not firefox-compatible, and shouldn't work at > all. Ok, then it should be disabled in the glue code. Likely the best option will be to create a new glue file similar to fx-weave-glue.js that is specific to seamonkey.
Comment 3•15 years ago
|
||
Comment on attachment 369699 [details] [diff] [review] enable run on seamonkey clearing review, as it's not really ready yet. in the future, btw, you can set review to me specifically, that way it shows up in my requests list.
Attachment #369699 -
Flags: review?
Assignee | ||
Comment 4•15 years ago
|
||
Now option window open on seamonkey from special menu item; initial state of controls not load from real state; changed settings didn't saves on exit
Comment 5•15 years ago
|
||
(In reply to comment #4) > Created an attachment (id=369970) [details] > copy firefox prefs overlay to sm dialog These look mostly the same as the Firefox ones. Wouldn't it be better to share the same dialog if so? Up to you, though, if you want to have the pref pane diverge then that's ok.
Updated•15 years ago
|
Assignee: nobody → mozdiav
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: weave should support seamonkey → Weave should support SeaMonkey
Version: unspecified → Trunk
Comment 6•15 years ago
|
||
As some areas, like esp. bookmarks integration and probably also UI, likely need a closer look here, I have proposed a Google Summer of Code project for this, and we even have someone interested in applying for it ;-)
Assignee | ||
Comment 7•15 years ago
|
||
Dan, I not want to have a separate file, I'd like to have as minimal sm-special code as possible. I did a copy only because I don't know how to avoid it. When I start this trials, hope I can find all incompatible places, and eliminate it with minimal workarounds - to avoid a special sm-specific programming future.
Comment 8•15 years ago
|
||
SeaMonkey 2.0a3 uses a <prefwindow> you may be able to overlay the prefpane over chrome://communicator/content/pref/preferences.xul
Comment 9•15 years ago
|
||
OK what you can do is to overlay chrome://communicator/content/pref/preferences.xul with a small stub overlay that adds a treeitem to <treechildren id="prefsPanelChildren"> The SeaMonkey prefpane overlay loader will then load the "fx-preferences.xul" on demand automatically. I don't recommend overlaying chrome://communicator/content/pref/preferences.xul directly with chrome://weave/content/fx-preferences.xul e.g. <?xml version="1.0"?> <?xml-stylesheet href="chrome://weave/content/preferences.css" type="text/css"?> <!DOCTYPE overlay SYSTEM "chrome://weave/locale/preferences.dtd"> <overlay id="weave_preftree_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <treechildren id="prefsPanelChildren"> <treeitem id="weaveItem" label="&prefpane.label;" prefpane="sync-prefpane" helpTopic="weave_pref_content" <-- obviously wrong. url="chrome://weave/content/fx-preferences.xul"/> </treechildren> </overlay>
Comment 10•15 years ago
|
||
+# Firefox overlay chrome://browser/content/browser.xul chrome://weave/content/sync.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://browser/content/browser.xul chrome://weave/content/fx-weave-overlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://browser/content/preferences/preferences.xul chrome://weave/content/fx-preferences.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} .... The above lines are redundant if you are going to overlay these chrome urls unconditionally for all apps using the lines below: +# others +overlay chrome://browser/content/browser.xul chrome://weave/content/sync.xul +overlay chrome://browser/content/browser.xul chrome://weave/content/fx-weave-overlay.xul +overlay chrome://browser/content/preferences/preferences.xul chrome://weave/content/fx-preferences.xul
Comment 11•15 years ago
|
||
You need to patch install.rdf.in and add compatibility information for SeaMonkey. <em:targetApplication> <Description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minVersion>2.0a3</em:minVersion> <em:maxVersion>2.0b1pre</em:maxVersion> </Description> </em:targetApplication>
Assignee | ||
Updated•15 years ago
|
Attachment #369970 -
Attachment is obsolete: true
Assignee | ||
Comment 12•15 years ago
|
||
Ok, Thank you, Phil. Now I have in sync.js: doOpenPrefs: function WeaveWin_doOpenPrefs(event) { var pane = "sync-prefpane"; if ("openPreferences" in window) openPreferences(pane); // firefox else if ("openOptionsDialog" in window) openOptionsDialog(pane); // thunderbird else if ("goPreferences" in window) goPreferences(pane); // SeaMonkey }, ------------------------------------- in sm-preferences.xul: <?xml version="1.0"?> <?xml-stylesheet href="chrome://weave/content/preferences.css" type="text/css"?> <!DOCTYPE overlay SYSTEM "chrome://weave/locale/preferences.dtd"> <overlay id="weave_preftree_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <treechildren id="prefsPanelChildren"> <treeitem id="weaveItem" label="&prefpane.label;" prefpane="sync-prefpane" url="chrome://weave/content/fx-preferences.xul"/> </treechildren> </overlay> --------------------------------------------- and in chrome.manifest: overlay chrome://communicator/content/pref/preferences.xul chrome://weave/content/sm-preferences.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} and it works!!! Only width of standart SM pref window is not enough, but I hink it's not a problem for a while. I'll do a patchfile with that changes.
Assignee | ||
Comment 13•15 years ago
|
||
Oops: data loads into the form omly on second open. On first open fields are empty.
Comment 14•15 years ago
|
||
> Only width of standart SM pref window is not enough, but I hink it's not a > problem for a while. Fortunately in SeaMonkey (unlike Firefox) our prefwindow is resizable. > var pane = "sync-prefpane"; > if ("openPreferences" in window) This is a stop gap measure. You should file a followup bug to make application detection in this function more robust. I would prefer something like: var appName = Components.classes["@mozilla.org/xre/app-info;1"] .createInstance(Components.interfaces.nsIXULAppInfo).name; switch (appName) { case: "Firefox" openPreferences(pane); break; case: "Thunderbird" openOptionsDialog(pane); break; case: "SeaMonkey" goPreferences(pane); break; case: "Fennec" ????<- no idea what nsIXULAppInfo returns. }
Assignee | ||
Comment 15•15 years ago
|
||
Attachment #369699 -
Attachment is obsolete: true
Assignee | ||
Comment 16•15 years ago
|
||
I am not completely sure, but on first look "Fennec" dos not use sync.js.
Comment 17•15 years ago
|
||
Fennec has a whole separate preferences "window" as well.
Assignee | ||
Comment 18•15 years ago
|
||
Still work. Tested on Firefox trunk and Seamonkey trunk. on Seamonkey data loads into properies form on second open.
Attachment #370247 -
Attachment is obsolete: true
Attachment #370268 -
Flags: review?(thunder)
Assignee | ||
Comment 19•15 years ago
|
||
Hint: If setting nglayout.debug.disable_xul_cache = true then weave preferences form data on seamonkey not load data at all. I'd fill a bug about it, but can't localize it.
Comment 20•15 years ago
|
||
FYI: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.9.1b4pre) Gecko/20090331 SeaMonkey/2.0b1pre Error: Weave is not defined Source file: chrome://weave/content/sync.js Line: 112 ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 78 ---------- Error: BookmarksEventHandler is not defined Source file: chrome://weave/content/bookmark-menu-overlay.js Line: 74 ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 72 ---------- Error: gWeavePrefs is not defined Source file: chrome://weave/content/preferences.js Line: 277 ---------- Warning: Timed textboxes are deprecated. Consider using type="search" instead. Source file: chrome://weave/content/wizard.xul ---------- Warning: XUL box for row element contained an inline #text child, forcing all its children to be wrapped in a block. Source file: chrome://weave/content/wizard.xul ---------- Error: $("captcha").contentDocument.getElementById("recaptcha_challenge_field") is null Source file: chrome://weave/content/wizard.js Line: 666 ---------- Error: $("captcha").contentDocument.getElementById("recaptcha_challenge_field") is null Source file: chrome://weave/content/wizard.js Line: 683
Assignee | ||
Comment 21•15 years ago
|
||
Here is my error log in seamonkey, during this log Seamonkey was started, weave sync was performed, then weave properties window was opened and closed 2 times. Log not edited, some records seems not weave-related: No chrome package registered for chrome://browser/skin/browser.css ---------- Error: BookmarksEventHandler is not defined Source file: chrome://weave/content/bookmark-menu-overlay.js Line: 74 ---------- Error: 'JavaScript component does not have a method named: "handleEvent"' when calling method: [nsIDOMEventListener::handleEvent] = NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED ---------- Error: 'JavaScript component does not have a method named: "handleEvent"' when calling method: [nsIDOMEventListener::handleEvent] = NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED ---------- Error: varvalue is undefined Source file: chrome://nightly/content/nightly.js Line: 165 ---------- Error: this.windowToFocus.content is null Source file: file:///C:/Program%20Files/SeaMonkey/components/nsSessionStore.js Line: 2092 ---------- No chrome package registered for chrome://browser/skin/browser.css ---------- Error: BookmarksEventHandler is not defined Source file: chrome://weave/content/bookmark-menu-overlay.js Line: 74 ---------- Error: 'JavaScript component does not have a method named: "handleEvent"' when calling method: [nsIDOMEventListener::handleEvent] = NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED ---------- Error: varvalue is undefined Source file: chrome://nightly/content/nightly.js Line: 165 ---------- 2009-04-02 08:41:58 Service.Util WARN Component @mozilla.org/privatebrowsing;1 requested, but doesn't exist on this platform. ---------- 2009-04-02 08:42:02 Engine.Tabs ERROR Could not process incoming record: browserWindow.Browser is undefined (module:tabs.js:250 :: TypeError) ---------- 2009-04-02 08:42:02 Engine.Tabs ERROR Could not process incoming record: browserWindow.Browser is undefined (module:tabs.js:250 :: TypeError) ---------- 2009-04-02 08:42:02 Engine.Tabs WARN Sync failed ---------- 2009-04-02 08:42:02 Service.Main WARN Some engines did not sync correctly ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 78 ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 78 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 186 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 186 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 186 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._stringBundle.getString is not a function Source file: chrome://weave/content/status.js Line: 193 ---------- Error: this._statusDialog.getButton is not a function Source file: chrome://weave/content/status.js Line: 128 ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 78 ---------- Error: document is null Source file: chrome://weave/content/preferences.js Line: 78 ---------------------------------------------------------- The error "Error: document is null Source file: chrome://weave/content/preferences.js Line: 78" is _onSync: function WeavePrefs__onSync(subject, data) { ----->document.getElementById("sync-syncnow-button"). setAttribute("disabled", "false"); document.getElementById("eraseserver-button"). setAttribute("disabled", "false"); this.onPaneLoad(); }, so, it mean "document" is not exist during some timer-initiated event. But it synchronizes history and passwords. How it can be?
Comment 22•15 years ago
|
||
At least there's still some stuff to do for Varun and his Google Summer of Code project, if it's granted ;-)
Updated•15 years ago
|
Attachment #370268 -
Flags: review?(thunder) → review+
Comment 23•15 years ago
|
||
Comment on attachment 370268 [details] [diff] [review] SeaMonkey support r2 - in progress Looks fine so far. But I haven't tested on seamonkey so I don't know what the patch might be lacking. From the weave side it's fine.
Comment 24•15 years ago
|
||
As I said I don't know if you think the patch is ready for check-in. If so please add the checkin-needed keyword.
Assignee | ||
Comment 25•15 years ago
|
||
Comment on attachment 370268 [details] [diff] [review] SeaMonkey support r2 - in progress Kairo, I'd want to merge this into weave. Is it possible on your opinion?
Attachment #370268 -
Flags: review+ → review?(kairo)
Comment 26•15 years ago
|
||
KaiRo is very busy, perhaps neil@httl would be a better reviewer?
Comment 27•15 years ago
|
||
(In reply to comment #25) > (From update of attachment 370268 [details] [diff] [review]) > Kairo, I'd want to merge this into weave. Is it possible on your opinion? FYI, there's an additional reviewer option to not overwrite r+.
Assignee | ||
Comment 28•15 years ago
|
||
(In reply to comment #26) > KaiRo is very busy, perhaps neil@httl would be a better reviewer? Maybe. I ask for KaiRo's review just because he submitted to this bug already. I just want an accept from "seamonkey people". I am newbee for bugzilla's dev usage, and not all workflow-related things are clean from the first try. What should I enter as reviewer address in request, to get Neil's review? neil@httl?
Comment 29•15 years ago
|
||
You only need r+ from a seamonkey peer if you are making any changes to it (which the patches here do not do).
Assignee | ||
Updated•15 years ago
|
Keywords: checkin-needed
Assignee | ||
Comment 30•15 years ago
|
||
Then I ask for check-in.
Comment 31•15 years ago
|
||
Comment on attachment 370268 [details] [diff] [review] SeaMonkey support r2 - in progress Carrying forward r+ from thunder@mozilla.com
Attachment #370268 -
Flags: review?(kairo) → review+
Comment 32•15 years ago
|
||
Dan: I haven't tested this yet, but from all I know it's only a first step and e.g. doesn't include things like working bookmarks (that will need some more work as SeaMonkey is [still] using a different bookmarks system than places), and it's tested only by one person (Igor), so it's quite experimental support. If you are OK with that, it would be nice to see this added to Weave code as a first step. As I mentioned here before, we have a potential GSoC project for which varunsl has applied and which would be about making Weave fully working with SeaMonkey, which probably will need some cooperation with Dan as well as testing/input from Igor, if possible.
Comment 33•15 years ago
|
||
Yep, no problem on my end. I'll get this in the weave tree soon.
Assignee | ||
Comment 34•15 years ago
|
||
Bug 486810 fix support added. check-in wanted.
Attachment #370268 -
Attachment is obsolete: true
Attachment #372526 -
Flags: review?(thunder)
Comment 35•15 years ago
|
||
> + case "SeaMonkey": > + engines = ["Bookmarks", "Form", "History", "Password", "Tab"]; We don't yet use places based bookmarks. Not sure if "Bookmarks" should be included at this point. KaiRo? > + break; > + > case "Thunderbird": > engines = ["Cookie", "Password"]; SeaMonkey shares the same back-end mailnews code with Thunderbird so I'd think we would also want "Cookie" what ever it is. Mnyromyr, your opinion?
Assignee | ||
Comment 36•15 years ago
|
||
Yes, removing bookmarks will be right until Seamonkey uses places bookmarks. Cookies doesn't metter until cookies engine will not work for firefox — if it will work at all.
Comment 37•15 years ago
|
||
For the moment, we should only enable those engines that work (with SeaMonkey), everything else should be disabled for now and can be added with further work on this.
Comment 38•15 years ago
|
||
Comment on attachment 372526 [details] [diff] [review] R3 - corrected to work after Bug 486810 fix. r=Mardak I've cleaned up the style and removed Bookmarks/Tab engines for now.
Attachment #372526 -
Flags: review?(thunder) → review+
Comment 39•15 years ago
|
||
http://hg.mozilla.org/labs/weave/rev/08161da765e7 Add seamonkey bits for manifest/install. Start with Form, History, Password engines.. No places bookmarks and tabs seem to have issues applying(?)
Status: NEW → RESOLVED
Closed: 15 years ago
Depends on: 486810
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: Future → 0.4
Comment 40•15 years ago
|
||
(In reply to comment #39) > http://hg.mozilla.org/labs/weave/rev/08161da765e7 > > Add seamonkey bits for manifest/install. Start with Form, History, Password > engines.. No places bookmarks and tabs seem to have issues applying(?) Thanks. And yes, tabs might have problems, as tabbrowser implementation differ somewhat between Firefox and SeaMonkey, another area to work on in followups :)
Updated•15 years ago
|
Component: Weave → General
Product: Mozilla Labs → Weave
Version: Trunk → unspecified
Updated•15 years ago
|
QA Contact: weave → general
Assignee | ||
Comment 41•15 years ago
|
||
It broken from the drop out about:weave page. I return similar with previous, but menu does nothing, and properties page not adds to properties window. Previously tuned sync works. Tools menu contains "weave" menu with submenus, statusbar contain weave icon, and statusbar icon shows status during update. Mouse click on status bar weave icon and choosing of any tools->weave submenu produces at js console: Error: gWeaveWin is undefined Source file: chrome://navigator/content/navigator.xul Line: 1 What I am missing?
Assignee | ||
Updated•15 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 42•15 years ago
|
||
As a note, usually it's better to open a new bug if an issue reappears due to different reasons, so that tracking of versions, etc. is not disturbed - after all, this is a new bug due to new changes.
Assignee | ||
Comment 43•15 years ago
|
||
Should I open new bug now, or it's only "for the future issues"?
Comment 44•15 years ago
|
||
(In reply to comment #43) > Should I open new bug now, or it's only "for the future issues"? Probably depends on how Weave people like it, but I'd go for this for future bugs and leave this one here as you already have a patch up.
Comment 45•15 years ago
|
||
I filed bug 526521 for this problem yesterday. So either I can dupe it against this bug or we can use to solve the problem.
Comment 46•15 years ago
|
||
(In reply to comment #45) > I filed bug 526521 for this problem yesterday. So either I can dupe it against > this bug or we can use to solve the problem. Probably best if we move it over there, then, and set this one here back to resolved.
Assignee | ||
Updated•15 years ago
|
Status: REOPENED → RESOLVED
Closed: 15 years ago → 15 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•15 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•