Closed Bug 247322 Opened 20 years ago Closed 19 years ago

No error when installing 0.9 and not 0.9+ compatible extensions in firefox 0.9+

Categories

(Toolkit :: Add-ons Manager, defect)

x86
Windows ME
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: twanno, Assigned: bugs)

References

Details

(Keywords: fixed-aviary1.0, Whiteboard: switch to RDF may fix this)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7) Gecko/20040617 Firefox/0.9.0+
Build Identifier: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7) Gecko/20040617 Firefox/0.9.0+

When I try to install an extension with em:maxVersion of 0.9 in install.rdf in
firefox 0.9+ no error shows and there is a entry in the Extension Manager which
states: "This Item will be installed after you restart Firefox". But it is not
installed after restarting firefox and the entry in the Extension Manager
persists with the same message.

Reproducible: Always
Steps to Reproduce:
1.Install a 0.9, but not higher version, compatible extension in firefox 0.9+
2.Restart Firefox
3.Look at entry in the Extension Manager

Actual Results:  
A message in the Extension Manager at the extension entry stating "This Item
will be installed after you restart Firefox"

Expected Results:  
Show a warning that the extension is incompatible, and not open the install
extension dialog, so firefox never tries to install the extension when the
versions don't match.
This is very similar to Bug 245734, not sure if it's close enough to be
considered a duplicate or not though.
Confirming. If the fix for one bug fixes the other as well, we can still dupe
one to the other.

If you right-click such an extensions and select About, the js console displays:
Error: description has no properties
Source File: chrome://mozapps/content/extensions/about.js
Line: 33

If you disable the extension and restart Firefox, you get the "Finishing
Extension Installation..." dialog; Firefox hangs there.
Closing the dialog and restarting Firefox doesn't help.
You have to clean up or delete profile/extensions/Extensions.rdf to make Firefox
launch again.

I already filed bug 247357 (umo displays extensions and themes with
maxVersion=0.9 for my 0.9.0+ Firefox).
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.0?
(In reply to comment #2)
> Confirming. If the fix for one bug fixes the other as well, we can still dupe
> one to the other.

Fair enough.

> If you right-click such an extensions and select About, the js console displays:
> Error: description has no properties
> Source File: chrome://mozapps/content/extensions/about.js
> Line: 33

That's probably Bug 246429

> > If you right-click such an extensions and select About,
> > the js console displays:
> > Error: description has no properties
> > Source File: chrome://mozapps/content/extensions/about.js
> > Line: 33
> 
> That's probably Bug 246429
Yes indeed, your patch for that bug fixes that.
Here's a testcase to try with, not only does this never correctly install, but
trying to install any other extension in the same or in a future session
triggers the "Finishing Extension Installation" hang.
I'd like to change the summary to something like:

No error when installing extension with maxVersion lower than Firefox version,
any future extension install causes hang

But I won't because I'm not sure if changing summaries like that is OK.

p.s. For reference this bug is also affecting Firefox 0.9 users because the
undoclosetab extension on umo has a maxVersion of 0.8.0+, once they've installed
that all future installs will display the "Finishing..." window.
*** Bug 248184 has been marked as a duplicate of this bug. ***
The problem is in nsExtensionManager.installExtensionInternal in
nsExtensionManager.js. It calls canInstallItem() which returns -1 for an invalid
version field, 0 for a version field that doesn't match the current app and a
GUID for everything else. However it then does this:

var extensionID = this.canInstallItem(ds);
if (extensionID != -1) {
[...]
}
else if (extensionID == 0)
[...]

So the second case (extensionID == 0) is unreachable since a value of 0 will
always trigger the first case.
Indeed, discovered this earlier today, FIXED. 
Indeed, discovered this earlier today, FIXED. 
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
*** Bug 248127 has been marked as a duplicate of this bug. ***
Removing blocking request from fixed bug.
Flags: blocking-aviary1.0?
This isn't fixed for Linux. Tested today's branch build and it resulted in no
warning and then a crash on exit (bug 257196)  If we can avoid that crash by
fixing this for linux, that'd make me smile.
Flags: blocking-aviary1.0PR+
reopening.  The dialog doesn't appear until you exit the application on Windows,
and on Linux it tries to appear on exit but crashes due to re-initializing the
native theme code (bug 257196).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Can you restate the test case to reproduce? I tried installing the extension in
the first attachment with my patch to 257304, it did not install (showed a
message explaining why, it only works with Firefox 0.8+) 
the patches I have for 257304 seem to fix the problem bryner was seeing when
installing content holder from umo. 
Depends on: 257304
Whiteboard: switch to RDF may fix this
Fixed on branch, having merging troubles, will land on trunk shortly
Keywords: fixed-aviary1.0
Blocks: 258062
This should be fixed on trunk by the aviary landing.
Status: REOPENED → RESOLVED
Closed: 20 years ago19 years ago
Resolution: --- → FIXED
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: