Closed Bug 266161 Opened 20 years ago Closed 20 years ago

[Linux, Windows] upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox (no xbl binding error)

Categories

(Toolkit :: Add-ons Manager, defect)

1.7 Branch
x86
All
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: bugzilla, Assigned: Bugzilla-alanjstrBugs)

References

Details

Attachments

(1 file, 6 obsolete files)

found while using firefox 0.9.3 and 2004102609-0.11 bits on linux fc2.

1. rm or mv ~/.mozilla to start with a fresh profile.

2. install firefox 0.9.3 (I always use a unique directory, fwiw).

3. don't migrate anything if prompted. installed the following:

* extension: Adblock v0.5.2.039 (the latest)
* theme: Pinball v0.9.8 (not the latest, but most recent compat w/ffox 0.9.3)

4. enable Pinball, quit and restart firefox 0.9.3 to ensure that Pinball and
Adblock work (which they do).

5. exit firefox 0.9.3. install firefox 2004102609-0.11 (1.0rc1 candidate).

6. upon launch of 1.0rc1, I'm prompted to check for updates for Pinball and
Adblock. as expected, a newer version of Pinball (v0.9.9.1, the latest) is
found. click to install.

7. after Pinball upgrade finishes, firefox 1.0rc1 is launched, but Pinball isn't
running...

8. go to the Themes mgr dialog and select Pinball. note that "Use Theme" is
disabled.

9. bring up context menu and (interestingly) select "Enable"; quit and restart
Firefox.

10. go to Themes: note that "Use Theme" for Pinball is enabled, click it, and
note being notified that you'll need to restart firefox.

11. quit and restart firefox 1.0rc1 yet again.

expected: firefox should launch using the Pinball 0.9.9.1 theme.

actual results: firefox does not launch. instead I get an alert dialog saying
"Error launching browser window: no XBL binding for browser."

could this be due to firefox's theme mechanism, or is it due to something in the
the Pinball theme itself?

marcia, tracy, asa: are you able to repro this?
fwiw, this wasn't a problem when I tested going from firefox 1.0PR to today's
build: but I was testing the Lila (v1.6) theme, which is not (yet) compatible
with  ffox 1.0RC1, so no theme upgrading occurred (fell back to the default
theme, as expected).
another variation:

1. start with a fresh profile under 1.0PR and install v0.9.9 of Pinball (again,
not the latest version).

2. use the Pinball theme and restart 1.0PR

results: get the same alert dialog in comment 0 (firefox won't start).

3. restart same profile with today's build.

results: as in comment 0, step 6: install upgrade to 0.9.9.1, etc. =that after
install completes, the wizard notes that some items were incompatible and not
installed but that ffox would periodically check for updates. (this also had
occurred in comment 0, which I had forgot to mention.) this is odd since Pinball
v0.9.9.1 appears (again disabled) in the Themes dialog.

4. enabled Pinball, selected "use theme", now going to restart...
...and after restarting today's build, I get the error again. :-\
Tested using 2004-10-26-06-0.11/ build:

I followed Sarah's steps to the letter, with one exception - downloaded the
0.9.7 pinball theme because it indicated it was for OSX.  When launching RC1, I
did get the alert to upgrade Pinball to the latest version, which I did.

After I quit and restarted, I did not receive the error that Sarah did, FF
restarted with the Pinball theme in Place.
Summary: upgrading theme when going from 0.9.3 to 1.0RC1 hoses firefox → upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox
don't think this is a [recent] regression, as this crops up when going from
1.0pr to 2004100309-0.9+ bits.
nominating: not sure how widespread this would be, or if it's an edge case. if
the latter, don't mind if it's minused (unless there's an easy, low-risk fix :).
Flags: blocking-aviary1.0?
I tested using the 0.9.8 version (interestingly enough when it installed it said
Version 0.9.7 anyway) and received the same results - no error message the
browser restarted in the Pinball theme.

After upgrading the Pinball version, I also did receive some verbiage that there
were incompatible components are something like that. I can put the full text in
this bug if it would be helpful.

(In reply to comment #4)
> Tested using 2004-10-26-06-0.11/ build:
> 
> I followed Sarah's steps to the letter, with one exception - downloaded the
> 0.9.7 pinball theme because it indicated it was for OSX.  When launching RC1, I
> did get the alert to upgrade Pinball to the latest version, which I did.
> 
> After I quit and restarted, I did not receive the error that Sarah did, FF
> restarted with the Pinball theme in Place.

I can reproduce this on WinXP when going from 1.0pr to today's build
(2004102611-0.11), when updating Pinball 0.9.8 to 0.9.9.1.
Summary: upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox → [Linux, Windows] upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox
ben to have a look
Flags: blocking-aviary1.0? → blocking-aviary1.0+
as of this writing I didn't find many other compatible themes for testing this
issue. in addition to Pinball, there's ScribbliesBrite (won't upgrade due to bug
264095) and SphereGnome. interestingly, depending on the version of SphereGnome,
firefox 1.0RC1 won't exhibit this bug.

a. SphereGnome 0.9.7, 0.9.7.4 or 0.9.7.5 installed on firefox 1.0PR does upgrade
to SphereGnome 0.9.9 when using today's 1.0RC1 bits (tested on Windows XP). the
only hitch was that the previous version persisted (separate issue, bug 264088).

b. SphereGnome 0.9.7.7, 0.9.8 or 0.9.8.2 installed on firefox 1.0PR won't
upgrade when using today's 1.0RC1 bits (tested on Windows XP), due to bug 264095.

now I'm wondering if this might be a Pinball-specific bug, rather than a Firefox
one. unless someone can find another compatible theme[s] where this issue occurs...
another theme where this is not a problem:

going from SilverSkin v2.1 on firefox 0.9.3 does upgrade to v2.5 on firefox
1.0RC1 --although bug 264088 crops up again.
Are we sure that it is downloading Pinball for non-OSX?  On your failed upgrade,
can you look in extensions and see if you have pinball-fx_0.9.9.1.jar and not
pinball-fx_0.9.9.1_OSX.jar?
(In reply to comment #12)
> On your failed upgrade,
> can you look in extensions and see if you have pinball-fx_0.9.9.1.jar and not
> pinball-fx_0.9.9.1_OSX.jar?

when I was looking at the "all releases" page for Pinball, I saw that there were
both OS X and non-OS X versions, and was pretty sure I selected the latter
(non-OS X) when on Windows and Linux. but I can recheck this when I get into the
office later today.
Was this a manual upgrade, or an automatic upgrade to Pinball using the Theme
manager?
(In reply to comment #14)
> Was this a manual upgrade, or an automatic upgrade to Pinball using the Theme
> manager?

the theme upgrade occurred automatically upon startup of 1.0RC1, within the
software update wizard.
Then you need to check what it downloaded by looking in your extensions
directory.  If Firefox 0.9.3 started up fine, then you had the right one then.
marcia, will contact the theme author to see if we can get a fix on the theme side.
Flags: blocking-aviary1.0+ → blocking-aviary1.0-
I am the theme author (this address only accepts mail from mozilla.org).  
What is the last known "good" version of Pinball?  If you can tell me that, then
I can check the changelog
(http://update.mozilla.org/themes/moreinfo.php?id=6&vid=1004&page=releases )

The only time I ran into a problem was when I was upgrading TBE at the same
time.  Other than that, I never get a binding problem when I download Pinball
for Win/Lin.

If this is limited to Pinball 0.9.9+, then something happend when I fixed the
Update Notification Button.
I played around with this on Windows XP a little more - here is what I did and
what I found:

1. Installed Firefox Preview release (fresh profile) and installed Pinball 0.9.6
version. Restarted Firefox and confirmed the theme was active.

2. Installed Firefox RC1 release. I did not get the prompt to update my theme,
but instead clicked on "Update" in the Theme Manager. UMO found the theme
update, and I installed it. Restarted the browser.

3. I then received the XBL error.

The only way I can get the browser to restart is to trash my existing Firefox
profile in the Mozilla folder.

Just to cover all the bases, I did a sanity check on Mac again and was not able
to reproduce the problem.
Ok, I was able to repeat this, which is a good thing.  Here are my results:

A file, tmp-9.xpi is created in
extensions\{fb0cbf5b-695b-4322-8b49-5dedbfb946fc}\chrome.  Where does this file
come from?  It is the new jar file, renamed.  The install was incomplete, but
the Theme Manager did not notice this.  Analyzing the contents of this jar, I
found that it is the MacOSX version!  You can tell by looking at
global/scrollbars.css.  

I was prompted to update the theme after I installed RC over top of PR.  After
it downloaded the theme, it warned me that some components couldn't be updated.  

My conclusion:
Firefox downloaded the wrong version of Pinball and failed to install it.

The update service runs over https, so we can't really analyze traffic.
Installing the right version of Pinball 0.9.9.1 results in a working browser
with the Pinball theme.
Ok, here is the query that the webservice runs:

SELECT t_main.guid AS extguid,
                  t_version.version AS extversion,
                  t_version.uri AS exturi,
                  t_version.minappver AS appminver,
                  t_version.maxappver AS appmaxver,
                  t_applications.guid AS appguid
           FROM t_main, t_version, t_applications
           WHERE t_main.guid = '{fb0cbf5b-695b-4322-8b49-5dedbfb946fc}' AND
                 t_main.id = t_version.id AND
                 t_version.appid = t_applications.appid AND
                 t_applications.guid = '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}'

Here is the result set:

 extguid  	 extversion  	 exturi  	 appminver  	 appmaxver  	 appguid
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.jar 
0.8 	0.9 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.1 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.1.jar 
0.9 	0.9 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.1 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.1_OSX.jar 	0.9
	0.9 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.2 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.2.jar 
0.9 	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.3 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.3.jar 
0.9 	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.3 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.3_OSX.jar 	0.9
	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.4 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.4_OSX.jar 	0.9
	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.4 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.4.jar 
0.9 	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.5 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.5_OSX.jar 	0.9
	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.5 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.5.jar 
0.9 	0.9.1+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.6 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.6_OSX.jar 	0.9
	0.10 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.6 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.6.jar 
0.9 	0.10 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.7 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.7_OSX.jar 	0.9
	0.10+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.7 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.7.jar 
0.9 	0.10+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.7 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.8_OSX.jar 	0.9
	0.10+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.8 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.8.jar 
0.9 	0.10+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.8 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.8_OSX.jar 	0.9
	0.10+ 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9_OSX.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9.1 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.1.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9.1 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.1_OSX.jar 
0.10 	1.0 	{ec8030f7-c20a-46

The next step is to iterate through the results.

184 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
185     // is this row for the current version?
186     if ($line['extversion'] == $reqItemVersion) {
187         // if so
188         $thisVersionData = $line;
189     } else if (vercmp ($reqItemVersion, $line['extversion']) > 0) {
190         // did we already see an update with a higher version than this?
191         if ($highestVersion != '' && vercmp ($highestVersion,
$line['extversion']) < 0)
192             continue;
193 
194         // does this update support my current app version?
195         if (vercmp($line['appmaxver'], $reqTargetAppVersion) > 0 ||
196             vercmp($reqTargetAppVersion, $line['appminver']) > 0)
197             continue;
198 
199         $highestVersion = $line['extversion'];
200         $highestVersionData = $line;
201     }
202 }

I see nothing that makes it realize that there is an OS mismatch.

http://lxr.mozilla.org/aviarybranch/source/toolkit/mozapps/extensions/service/VersionCheck.php

Client side currently has no method for determining operating system.  Nor does
this webservice.  The reason this problem occurs is that it is entirely
dependent on the order records are inserted.  If I upload OS=Win/Lin _after_
OS=MacOSX, this problem is resolved.

CC'ing more interested parties.  Pinball 0.9.9.2 will be up tonight, and in the
"right" order.  However, won't this break OSX?

So how do we fix this?  We could have install.rdf know the theme's compatibility
(bug 255619), or we could have it so that there is no difference between Win and
OSX (bug 222654), or we could have the web service check the useragent for
operating system.
Ok, I uploaded Pinball 0.9.9.2.  Note the last 4 rows of the SQL query now

{fb0cbf5b-695b-4322-8b49-5dedbfb946fc}  	0.9.9.1  
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.1.jar  
0.10  	1.0  	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9.1 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.1_OSX.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9.2 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.2_OSX.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
{fb0cbf5b-695b-4322-8b49-5dedbfb946fc} 	0.9.9.2 
http://ftp.mozilla.org/pub/mozilla.org/themes/pinball/pinball-fx_0.9.9.2.jar 
0.10 	1.0 	{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

So can someone with MacOSX try the upgrade path?  
It would break OSX, if the "ALL" version of the theme isn't OSX friendly.

The client and webservice, fail to check on OS compatibility. Though, it's a
little more complicated than that.. the webservice, needs to give "preference"
to an OS-specific version that matches over an "ALL" version as well. So it
returns on Mac, (where this problem exists most, because of all the Mac-specific
versions of themes, where there's also a not quite cross-platform, but mostly
X-P version as well.) the mac-specific version and not the X-P, if a
platform-specific version exists.

If the webservice doesn't care about OS compatibility, how do we not fail on
extensions like Mozilla Calendar? Where there's compiled code for each platform.
(In reply to comment #25)
> It would break OSX, if the "ALL" version of the theme isn't OSX friendly.
Well, it doesn't give XBL binding error, but messes with the scrollbars.

> If the webservice doesn't care about OS compatibility, how do we not fail on
> extensions like Mozilla Calendar? Where there's compiled code for each platform.

Who says that it hasn't been failing for others?  Or that people even bother to
file a bug.  It was probably only luck that I found this bug and happen to be a
UMO admin so I could debug.

The only thing I did different with 0.9.9.1 was to upload OSX _after_ Win32.

As for possible solutions, please see comment 23:

"So how do we fix this?  We could have install.rdf know the theme's
compatibility (bug 255619), or we could have it so that there is no difference
between Win and OSX (bug 222654), or we could have the web service check the
useragent for operating system."
As for Mozilla Calendar, there is only one version on UMO.  It has never been
updated, so the web service wouldn't do anything.
Uh. why not just do the simple solution? the client should pass the OS info to
the webservice, and let the webservice use that to pick the *correct* record to
return?

Bug 255619 won't help if the webservice ignores OS.
Bug 222654 would help the situation with themes (as it'd reduce the # of
mac-specific themes), (and IMO, needs to be addressed before blessing anything
on Mac as 1.0) but it would not help with extensions or themes that are
intentionally platform-specific.
Since userAgent isn't trustable, we'll have to pass navigator.platform.  

Borrowed from Venkman
if (navigator.platform.search(/mac/i) > -1)
  platform = "MacOSX";
if (navigator.platform.search(/win/i) > -1)
  platform = "Windows";
if (navigator.platform.search(/linux/i) > -1)
  platform = "Linux";

The php will have to change, too.  

We still need to tackle what happens if there is an OS=ALL and an OS=MacOSX. 
Unfortunately we have no way to say "ALL but OSX".  We could tackle that by
running two queries, first an ALL query and then an OS specific.  But what if I
released Pinball for Win/Lin 1.0, but didn't update the OSX version?  We're back
where we started.  
Because of bug 166395, navigator.platform isn't really trustable, either.  A
user can set general.platform.override.  However, most useragent changers
probably don't touch this.

The place that really needs to do more work is the web service.  The database
just isn't geared towards "All except foo".  We could change it to have columns
for each OS, instead of using an int to represent it.

OR... we could come up with unique combinations, like chmod does.  I know
Microsoft does it for things like VB constants.  We have 5 Operating Systems
1 	ALL
2 	BSD
3 	Linux
4 	MacOSX
5 	Solaris
6 	Windows

Yet another possibility: have the web service detect whether or not it is OSX
and filter the themes differently.  If it is OSX and requesting a Firefox theme,
then show only those that support OSX.  If it is not OSX, then don't show those
that are OSX only.  

Are TB and Moz split for scrollbars, too?  I think TB is.  

If we want a fast fix, I recommend that last solution.  

Re-requesting blocking, now that we've found the root cause.
Flags: blocking-aviary1.0- → blocking-aviary1.0?
Patch coming up...
Assignee: bugs → Bugzilla-alanjstrBugs
Attached file replacement php (obsolete) —
Filters the result set and sorts it.  Not in DIFF format.

The query that would be performed for Windows, Firefox, Pinball update would be


SELECT t_main.guid AS extguid, t_version.version AS extversion, t_version.uri
AS exturi, t_version.minappver AS appminver, t_version.maxappver AS appmaxver,
t_applications.guid AS appguid
FROM t_main
INNER JOIN t_version ON t_main.id = t_version.id
INNER JOIN t_applications ON t_version.appid = t_applications.appid
WHERE t_main.guid = '{fb0cbf5b-695b-4322-8b49-5dedbfb946fc}'
AND t_applications.guid = '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}'
AND (
t_version.OSID =1
OR t_version.OSID =6
)
ORDER BY t_version.MaxAppVer_int DESC , t_version.version DESC , t_version.osid
ASC 

This fixes the problem.  Replacing OSID with 3 (for OSX) makes it have the OSX
version as last.

The While loop should be rewritten so that it stops after the first complete
match, in which case we would change the last part of the sort to
t_version.osid DESC
Attached file fix with perf boost (obsolete) —
I rewrote the while loop to start with the "newest" at the top.   We will still
have the problem if an ALL is released for a theme and an OSX version is not,
but that can't be tackled without altering the DB.
Attachment #164039 - Attachment is obsolete: true
Attached patch "fix with perf boost" as a patch (obsolete) — Splinter Review
Just helping out...
Attachment #164046 - Flags: review?(bugs)
Wolf, can you look this over?
I'd rather have Vlad look at it. He's the original author of versionCheck.php
and would best understand it to review. The review request for Ben on here
probably needs to be changed to him.
Though, my only question here is, does it give priority to platform-specific
records (Mac, Win32, Linux, etc.) over All records so that the platform-specific
case is sent first?
(In reply to comment #37)
> Though, my only question here is, does it give priority to platform-specific
> records (Mac, Win32, Linux, etc.) over All records so that the platform-specific
> case is sent first?

Yes!  That is why it does ORDER BY OSID DESC.  OS=ALL is 1, and all the others
are greater than 1.

we need a theme end fix for this one.
Flags: blocking-aviary1.0? → blocking-aviary1.0-
(In reply to comment #39)
> we need a theme end fix for this one.

Not sure what you mean by that.  The theme is fine.  The service is broken.
Comment on attachment 164046 [details] [diff] [review]
"fix with perf boost" as a patch

Vlad, can you take a look at this?

Fairly simple patch for versionCheck to add OS support and prevent bustage for
platform-specific extensions/themes.
Attachment #164046 - Flags: review?(bugs) → review?(vladimir)
*** Bug 269220 has been marked as a duplicate of this bug. ***
Summary: [Linux, Windows] upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox → [Linux, Windows] upgrading theme when going from 0.9.3/1.0PR to 1.0RC1 hoses firefox (no xbl binding error)
*** Bug 269695 has been marked as a duplicate of this bug. ***
*** Bug 269761 has been marked as a duplicate of this bug. ***
*** Bug 268697 has been marked as a duplicate of this bug. ***
*** Bug 261053 has been marked as a duplicate of this bug. ***
OS: Linux → All
just noticed something..  stripos() is a PHP5 only function.. Update runs for
PHP4. strpos() is more correct. The pending patch won't work.
Attachment #164044 - Attachment is obsolete: true
Attachment #164046 - Attachment is obsolete: true
Attachment #164046 - Flags: review?(vladimir)
Attachment #166031 - Flags: superreview?(psychoticwolf)
Attachment #166031 - Flags: review?(vladd)
Comment on attachment 166031 [details] [diff] [review]
Patch with strpos instead of stripos

(wrong Vlad in the original r= request)

Looks fine to me; r=vladimir@pobox.com

Do we have a staging u.m.o server/setup for testing?
Attachment #166031 - Flags: review?(vladd) → review+
We have update-beta, yes.
Status: NEW → ASSIGNED
Comment on attachment 166031 [details] [diff] [review]
Patch with strpos instead of stripos

well, Update doesn't need SR. but since it was asked. heh.

Looks good to me. (sr=wolf)

Yeah, it can land on the trunk for update-beta for testing. but to go to the
live site, it needs to land on the update_0_9_branch, which shouldn't happen
until it's been well-tested and  is trusted.
Attachment #166031 - Flags: superreview?(psychoticwolf) → superreview+
Blocks: 252901
Blocks: 270089
Blocks: 270090, 270092
How do you propose we test this extensively?  This is a critical bug.
Blocks: 270086
Blocks: 270091
Blocks: 266866
Blocks: 261114
Blocks: 261116
Blocks: 250949
Blocks: 266969
No longer blocks: 252901
The service this patches is critical as well, and downtime just simply can't
happen there.

This can be tested on update-beta though.
(1) land the patch on the trunk. (if you need me to check it in, let me know,
I'll do it.)
(2) change the extensions.update.url to point at http://update-beta.mozilla.org
and not https://update.mozilla.org.
(3) Add the needed items to the update-beta DB if needed. (Be aware, update-beta
doesn't mirror to FTP.. so you'll have to use URLs that exist on ftp already,
since update/update-beta are mostly in sync with their repository naming, this
shouldn't be a big deal.) Alternatively, wait until update-beta is brought in
sync with update for public testing which should be very soon.
(4) Test and see if Firefox can handle it.

Sounds a bit rough, but it should work. 
Yes, please land this on trunk
Wolf -

Does the beta webservice point to the beta database?  I was testing with Pinball
and it said 0.9.9.2 was available, but beta only goes up to 0.9.8.  
Since versioncheck has it's own DB config section, probably. heh.
Well, did you change it?  Or should I just play with the live database and older
versions of Pinball for OSX?
Wolf -

CVS does NOT show these changes.  I need them so I can add other patches.  Since
you put them on update-beta, please patch trunk.
Yeah, I didn't check in the patch... sorry about that.

Though, we have a bit of a problem, the version of VersionCheck.php this patch
was made against, wasn't current.
/toolkit/mozapps/extensions/service/versionCheck.php is now
/webtools/update/update/versionCheck.php. Since there are changes between rev
1.1.2.5 and the current trunk, the patch is rejected.

Looks like we need an updated patch to check-in down here. :-)
Attachment #166031 - Attachment is obsolete: true
Attached patch Re-add P/E/T (obsolete) — Splinter Review
Attachment #167239 - Attachment is obsolete: true
Attachment #167240 - Flags: superreview?(psychoticwolf)
Attachment #167240 - Flags: review?(vladimir)
Blocks: 272046
Comment on attachment 167240 [details] [diff] [review]
Re-add P/E/T

Variable naming error.	Updated patch to follow.
Attachment #167240 - Attachment is obsolete: true
Attachment #167240 - Flags: superreview?(psychoticwolf)
Attachment #167240 - Flags: review?(vladimir)
Attachment #167295 - Flags: superreview?(psychoticwolf)
Attachment #167295 - Flags: review?(vladimir)
No longer blocks: 250949
Comment on attachment 167295 [details] [diff] [review]
Trunk patch containing OS detection

Looks good to me, it applies fine. I have this in my tree and can check it in
once it has r+
Attachment #167295 - Flags: superreview?(psychoticwolf) → superreview+
Comment on attachment 167295 [details] [diff] [review]
Trunk patch containing OS detection

Since this is just an updated patch for bitrot, I'm going to just carry forward
Vlad's r+ to this patch. :-) So this can land and testing can happen.
Attachment #167295 - Flags: review?(vladimir) → review+
Site is live.
Status: ASSIGNED → RESOLVED
Closed: 20 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: