Closed Bug 651927 Opened 13 years ago Closed 13 years ago

production deploy demos.mozilla.org 2.2 release

Categories

(mozilla.org Graveyard :: Server Operations, task)

All
Other
task
Not set
minor

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: ozten, Assigned: cshields)

References

()

Details

(Whiteboard: [4/27: 9:00AM])

Target release date Thrs Apr 28th

Instructions:
1) webowonder - Update from the prod branch
git pull origin prod 
2) run db migrations
Use the update process we used for the initial release to get new CSS, JS, and
db migrations. This was probably:
./bin/update-site.py -e prod
3) webowonder-demos
git pull origin master
4) locale directory
svn up

This is a small release to launch 1 new demo.
Whiteboard: [4/28 ?:??]
Per corey's email, we're thinking it will be 4/27.
Whiteboard: [4/28 ?:??] → [4/27 ?:??]
QA has confirmed we can ship tomorrow.  An AM slot would be preferable.
Whiteboard: [4/27 ?:??] → [4/27:??]
Whiteboard: [4/27:??] → [4/27:9 AM??]
9am wfm
Assignee: server-ops → jdow
Is 9:30 doable? Last minute request from paul...
I think that should work.
Component: Server Operations: Web Content Push → Operations: Deployment Requests
Product: mozilla.org → Mozilla Services
Whiteboard: [4/27:9 AM??] → [4/27: 9:30AM]
Version: other → unspecified
Hi, Mozilla Services doesn't work with demos.m.o; perhaps this bug was meant for a different product/component?
Component: Operations: Deployment Requests → Server Operations
Product: Mozilla Services → mozilla.org
Version: unspecified → other
Can we move this back to 9:00 like I planned?
Assignee: jdow → cshields
Whiteboard: [4/27: 9:30AM] → [4/27: 9:00AM]
The reason we wanted to move it 30 min is because Austin will be in a can at 9:00 and Paul will be returning from a talk, leaving just me an Raymond. If 9:30 is not possible, then we'll push at 9:00 but we may need support if something breaks around 9:30.
And by can, I meant cab. Damn autocorrect!
Ok, 9:30 it is.. 

Prep work:

(In reply to comment #0)
> Instructions:
> 1) webowonder - Update from the prod branch
> git pull origin prod 

[root@mradm02 webowonder]# git pull origin prod
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From https://github.com/mozilla/webowonder
 * branch            prod       -> FETCH_HEAD
Updating 12782ac..9fa31e6
Fast-forward
 apps/wow/views.py            |    8 ++-
 migrations/36-marble-run.sql |   90 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+), 3 deletions(-)
 create mode 100644 migrations/36-marble-run.sql

> 2) run db migrations
> Use the update process we used for the initial release to get new CSS, JS, and
> db migrations. This was probably:
> ./bin/update-site.py -e prod

(skipping for now..  this will need to be run from mradm02, and migrations may need to be run by hand from ip-admin02 or one of the engagement nodes)

> 3) webowonder-demos
> git pull origin master

[root@mradm02 mozillademos.org]# git pull origin master
remote: Counting objects: 108, done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 106 (delta 11), reused 106 (delta 11)
Receiving objects: 100% (106/106), 1.12 MiB | 972 KiB/s, done.
Resolving deltas: 100% (11/11), completed with 2 local objects.
From https://github.com/mozilla/webowonder-demos
 * branch            master     -> FETCH_HEAD
Updating b1f3949..688391a
Fast-forward
 demos/marblerun/.htaccess                          |    1 +
 demos/marblerun/404.html                           |   26 +
 demos/marblerun/422.html                           |   26 +
 demos/marblerun/500.html                           |   26 +
 demos/marblerun/demo.html                          |  382 +
 demos/marblerun/example-ajax-calls.txt             |   36 +
 demos/marblerun/favicon.ico                        |  Bin 0 -> 5686 bytes
 demos/marblerun/font/MARBLERUN.zip                 |  Bin 0 -> 6202 bytes
 demos/marblerun/images/background-gray.png         |  Bin 0 -> 185298 bytes
 demos/marblerun/images/background-yellow.png       |  Bin 0 -> 486505 bytes
 demos/marblerun/images/boost.png                   |  Bin 0 -> 2462 bytes
 demos/marblerun/images/editor-basicbricks.png      |  Bin 0 -> 1879 bytes
 demos/marblerun/images/editor-button-auto.png      |  Bin 0 -> 4848 bytes
 demos/marblerun/images/editor-button-back.png      |  Bin 0 -> 2476 bytes
 demos/marblerun/images/editor-button-clear.png     |  Bin 0 -> 5071 bytes
 demos/marblerun/images/editor-button-facebook.png  |  Bin 0 -> 2351 bytes
 demos/marblerun/images/editor-button-help.png      |  Bin 0 -> 2879 bytes
 demos/marblerun/images/editor-button-like.png      |  Bin 0 -> 4467 bytes
 demos/marblerun/images/editor-button-new.png       |  Bin 0 -> 2489 bytes
 demos/marblerun/images/editor-button-next.png      |  Bin 0 -> 4908 bytes
 demos/marblerun/images/editor-button-previous.png  |  Bin 0 -> 4920 bytes
 demos/marblerun/images/editor-button-publish.png   |  Bin 0 -> 5102 bytes
 demos/marblerun/images/editor-button-repeat.png    |  Bin 0 -> 5256 bytes
 demos/marblerun/images/editor-button-run.png       |  Bin 0 -> 4307 bytes
 demos/marblerun/images/editor-button-twitter.png   |  Bin 0 -> 2404 bytes
 demos/marblerun/images/editor-load.png             |  Bin 0 -> 3578 bytes
 demos/marblerun/images/editor-meter-background.png |  Bin 0 -> 3043 bytes
 demos/marblerun/images/editor-ruler.png            |  Bin 0 -> 1361 bytes
 demos/marblerun/images/editor-specialbricks.png    |  Bin 0 -> 1988 bytes
 demos/marblerun/images/editor-text-background.png  |  Bin 0 -> 4149 bytes
 demos/marblerun/images/editor-warning-publish.png  |  Bin 0 -> 4395 bytes
 demos/marblerun/images/first-visit-close.png       |  Bin 0 -> 1274 bytes
 demos/marblerun/images/font-button.png             |  Bin 0 -> 10432 bytes
 demos/marblerun/images/logo-fhs.png                |  Bin 0 -> 2868 bytes
 demos/marblerun/images/logo-mediaCube.png          |  Bin 0 -> 6237 bytes
 demos/marblerun/images/logo.png                    |  Bin 0 -> 27815 bytes
 demos/marblerun/images/ruler.png                   |  Bin 0 -> 32727 bytes
 demos/marblerun/images/sidebar-glas-reflection.png |  Bin 0 -> 1602 bytes
 demos/marblerun/images/sidebar-last-background.png |  Bin 0 -> 14324 bytes
 .../marblerun/images/sidebar-length-background.png |  Bin 0 -> 9930 bytes
 .../marblerun/images/sidebar-meter-background.png  |  Bin 0 -> 17600 bytes
 .../marblerun/images/sidebar-meter-foreground.png  |  Bin 0 -> 20841 bytes
 demos/marblerun/images/sidebar-meter-pointer.png   |  Bin 0 -> 2607 bytes
 demos/marblerun/images/sidebar-switch.png          |  Bin 0 -> 9075 bytes
 demos/marblerun/images/spring.png                  |  Bin 0 -> 3257 bytes
 demos/marblerun/images/webapp_icon.png             |  Bin 0 -> 25482 bytes
 demos/marblerun/javascripts/box2d/box2d.js         |  379 +
 demos/marblerun/javascripts/box2d/source.txt       |    1 +
 demos/marblerun/javascripts/controls.js            |  965 ++
 demos/marblerun/javascripts/cookie.js              |  151 +
 demos/marblerun/javascripts/dragdrop.js            |  974 ++
 demos/marblerun/javascripts/effects.js             | 1123 ++
 demos/marblerun/javascripts/jquery.js              |   16 +
 demos/marblerun/javascripts/marblerun-compiled.js  |11526 ++++++++++++++++++++
 .../marblerun/javascripts/marblerun/bricks/ball.js |  151 +
 .../javascripts/marblerun/bricks/beamer.js         |  166 +
 .../javascripts/marblerun/bricks/boost.js          |  124 +
 .../javascripts/marblerun/bricks/breaker.js        |  329 +
 .../javascripts/marblerun/bricks/brick.js          |  296 +
 .../javascripts/marblerun/bricks/curve.js          |   43 +
 .../marblerun/javascripts/marblerun/bricks/exit.js |   79 +
 .../javascripts/marblerun/bricks/graviton.js       |   95 +
 .../javascripts/marblerun/bricks/kicker.js         |   81 +
 .../marblerun/javascripts/marblerun/bricks/line.js |   48 +
 .../javascripts/marblerun/bricks/oneway.js         |  119 +
 .../marblerun/javascripts/marblerun/bricks/ramp.js |   36 +
 .../javascripts/marblerun/bricks/spring.js         |   79 +
 .../javascripts/marblerun/contentloader.js         |  366 +
 demos/marblerun/javascripts/marblerun/editor.js    |  415 +
 demos/marblerun/javascripts/marblerun/field.js     |  753 ++
 demos/marblerun/javascripts/marblerun/grid.js      |  294 +
 demos/marblerun/javascripts/marblerun/main.js      |  306 +
 demos/marblerun/javascripts/marblerun/meter.js     |   71 +
 demos/marblerun/javascripts/marblerun/renderer.js  |  150 +
 demos/marblerun/javascripts/marblerun/showroom.js  |  401 +
 .../javascripts/marblerun/sidebarcontroller.js     |  135 +
 demos/marblerun/javascripts/marblerun/toolbox.js   |  104 +
 .../marblerun/javascripts/marblerun/trackstore.js  |  201 +
 .../marblerun/utilities/displayobject.js           |   27 +
 .../javascripts/marblerun/utilities/event.js       |   10 +
 .../javascripts/marblerun/utilities/eventengine.js |  158 +
 .../javascripts/marblerun/utilities/pattern.js     |   38 +
 .../javascripts/marblerun/utilities/rectangle.js   |   15 +
 .../javascripts/marblerun/utilities/utilities.js   |  238 +
 demos/marblerun/javascripts/prototype.js           | 6001 ++++++++++
 demos/marblerun/javascripts/rails.js               |  175 +
 demos/marblerun/manifest.webapp                    |    1 +
 demos/marblerun/robots.txt                         |    5 +
 demos/marblerun/screenshot.jpg                     |  Bin 0 -> 14820 bytes
 demos/marblerun/staticindex.html                   |  166 +
 demos/marblerun/stylesheets/master.css             |  777 ++
 demos/marblerun/stylesheets/reset.css              |  104 +
 demos/marblerun/stylesheets/screen.css             |    3 +
 93 files changed, 28192 insertions(+), 0 deletions(-)
 create mode 100644 demos/marblerun/.htaccess
 create mode 100644 demos/marblerun/404.html
 create mode 100644 demos/marblerun/422.html
 create mode 100644 demos/marblerun/500.html
 create mode 100644 demos/marblerun/demo.html
 create mode 100644 demos/marblerun/example-ajax-calls.txt
 create mode 100644 demos/marblerun/favicon.ico
 create mode 100644 demos/marblerun/font/MARBLERUN.zip
 create mode 100644 demos/marblerun/images/background-gray.png
 create mode 100644 demos/marblerun/images/background-yellow.png
 create mode 100644 demos/marblerun/images/boost.png
 create mode 100644 demos/marblerun/images/editor-basicbricks.png
 create mode 100644 demos/marblerun/images/editor-button-auto.png
 create mode 100644 demos/marblerun/images/editor-button-back.png
 create mode 100644 demos/marblerun/images/editor-button-clear.png
 create mode 100644 demos/marblerun/images/editor-button-facebook.png
 create mode 100644 demos/marblerun/images/editor-button-help.png
 create mode 100644 demos/marblerun/images/editor-button-like.png
 create mode 100644 demos/marblerun/images/editor-button-new.png
 create mode 100644 demos/marblerun/images/editor-button-next.png
 create mode 100644 demos/marblerun/images/editor-button-previous.png
 create mode 100644 demos/marblerun/images/editor-button-publish.png
 create mode 100644 demos/marblerun/images/editor-button-repeat.png
 create mode 100644 demos/marblerun/images/editor-button-run.png
 create mode 100644 demos/marblerun/images/editor-button-twitter.png
 create mode 100644 demos/marblerun/images/editor-load.png
 create mode 100644 demos/marblerun/images/editor-meter-background.png
 create mode 100644 demos/marblerun/images/editor-ruler.png
 create mode 100644 demos/marblerun/images/editor-specialbricks.png
 create mode 100644 demos/marblerun/images/editor-text-background.png
 create mode 100644 demos/marblerun/images/editor-warning-publish.png
 create mode 100644 demos/marblerun/images/first-visit-close.png
 create mode 100644 demos/marblerun/images/font-button.png
 create mode 100644 demos/marblerun/images/logo-fhs.png
 create mode 100644 demos/marblerun/images/logo-mediaCube.png
 create mode 100644 demos/marblerun/images/logo.png
 create mode 100644 demos/marblerun/images/ruler.png
 create mode 100644 demos/marblerun/images/sidebar-glas-reflection.png
 create mode 100644 demos/marblerun/images/sidebar-last-background.png
 create mode 100644 demos/marblerun/images/sidebar-length-background.png
 create mode 100644 demos/marblerun/images/sidebar-meter-background.png
 create mode 100644 demos/marblerun/images/sidebar-meter-foreground.png
 create mode 100644 demos/marblerun/images/sidebar-meter-pointer.png
 create mode 100644 demos/marblerun/images/sidebar-switch.png
 create mode 100644 demos/marblerun/images/spring.png
 create mode 100644 demos/marblerun/images/webapp_icon.png
 create mode 100644 demos/marblerun/javascripts/box2d/box2d.js
 create mode 100644 demos/marblerun/javascripts/box2d/source.txt
 create mode 100644 demos/marblerun/javascripts/controls.js
 create mode 100644 demos/marblerun/javascripts/cookie.js
 create mode 100644 demos/marblerun/javascripts/dragdrop.js
 create mode 100644 demos/marblerun/javascripts/effects.js
 create mode 100644 demos/marblerun/javascripts/jquery.js
 create mode 100644 demos/marblerun/javascripts/marblerun-compiled.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/ball.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/beamer.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/boost.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/breaker.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/brick.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/curve.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/exit.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/graviton.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/kicker.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/line.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/oneway.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/ramp.js
 create mode 100644 demos/marblerun/javascripts/marblerun/bricks/spring.js
 create mode 100644 demos/marblerun/javascripts/marblerun/contentloader.js
 create mode 100644 demos/marblerun/javascripts/marblerun/editor.js
 create mode 100644 demos/marblerun/javascripts/marblerun/field.js
 create mode 100644 demos/marblerun/javascripts/marblerun/grid.js
 create mode 100644 demos/marblerun/javascripts/marblerun/main.js
 create mode 100644 demos/marblerun/javascripts/marblerun/meter.js
 create mode 100644 demos/marblerun/javascripts/marblerun/renderer.js
 create mode 100644 demos/marblerun/javascripts/marblerun/showroom.js
 create mode 100644 demos/marblerun/javascripts/marblerun/sidebarcontroller.js
 create mode 100644 demos/marblerun/javascripts/marblerun/toolbox.js
 create mode 100644 demos/marblerun/javascripts/marblerun/trackstore.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/displayobject.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/event.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/eventengine.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/pattern.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/rectangle.js
 create mode 100644 demos/marblerun/javascripts/marblerun/utilities/utilities.js
 create mode 100644 demos/marblerun/javascripts/prototype.js
 create mode 100644 demos/marblerun/javascripts/rails.js
 create mode 100644 demos/marblerun/manifest.webapp
 create mode 100644 demos/marblerun/robots.txt
 create mode 100644 demos/marblerun/screenshot.jpg
 create mode 100644 demos/marblerun/staticindex.html
 create mode 100644 demos/marblerun/stylesheets/.gitkeep
 create mode 100644 demos/marblerun/stylesheets/master.css
 create mode 100644 demos/marblerun/stylesheets/reset.css
 create mode 100644 demos/marblerun/stylesheets/screen.css

> 4) locale directory
> svn up

[root@mradm02 locale]# svn up
U    sl/LC_MESSAGES/messages.po
Updated to revision 87874.
[root@mradm02 locale]# ./compile-mo.sh .
[root@mradm02 locale]#
> > 2) run db migrations
> > Use the update process we used for the initial release to get new CSS, JS, and
> > db migrations. This was probably:
> > ./bin/update-site.py -e prod

[root@mradm02 webowonder]# ./bin/update_site.py -e prod
Running migration 36:
SET NAMES 'utf8';
SET CHARACTER SET 'utf8';


-- select MAX(id) from auth_user;
-- select MAX(deki_user_id) from user_profiles

-- David Strauß
INSERT INTO auth_user (id, username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined)
VALUES (25, 'stravid', 'David', 'Strauß', '', '', 0, 0, 0, NOW(), NOW());

INSERT INTO user_profiles (deki_user_id, homepage, location, user_id) 
    SELECT 122, 'http://stravid.com', '', id FROM auth_user WHERE username = 'stravid';

-- Mathias Paumgarten 
INSERT INTO auth_user (id, username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined)
VALUES (26, 'mathias', 'Mathias', 'Paumgarten', '', '', 0, 0, 0, NOW(), NOW());

INSERT INTO user_profiles (deki_user_id, homepage, location, user_id) 
    SELECT 123, 'http://mathias-paumgarten.com', '', id FROM auth_user WHERE username = 'mathias';

-- Eberhard Gräther 
INSERT INTO auth_user (id, username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined)
VALUES (27, 'egraether', 'Eberhard', 'Gräther', '', '', 0, 0, 0, NOW(), NOW());

INSERT INTO user_profiles (deki_user_id, homepage, location, user_id) 
    SELECT 124, 'http://egraether.com', '', id FROM auth_user WHERE username = 'egraether';

-- Matthias Paul Hempt
INSERT INTO auth_user (id, username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined)
VALUES (28, 'hempt', 'Matthias Paul', 'Hempt', '', '', 0, 0, 0, NOW(), NOW());

INSERT INTO user_profiles (deki_user_id, homepage, location, user_id) 
    SELECT 125, 'http://hempt.at', '', id FROM auth_user WHERE username = 'hempt';

-- Nicola Lieser 
INSERT INTO auth_user (id, username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined)
VALUES (29, 'nicolalieser', 'Nicola', 'Lieser', '', '', 0, 0, 0, NOW(), NOW());

INSERT INTO user_profiles (deki_user_id, homepage, location, user_id) 
    SELECT 126, 'http://nicolalieser.com', '', id FROM auth_user WHERE username = 'nicolalieser';




INSERT INTO demos_submission (title, slug, summary, description, featured, hidden, tags, screenshot_1, screenshot_2, screenshot_3, screenshot_4, screenshot_5, video_url, demo_package, source_code_url, license_name, creator_id, created, modified) 
VALUES ("Marble Run", "marblerun", "", "The winner of Mozilla GameOn Challenge builds a gorgeous HTML5 game without plugins.", b'1', b'0', "HTML5, Canvas", "/particles/screenshot.jpg", "", "", "", "", "", "", "https://github.com/MathiasPaumgarten/marblerun", "", 25, NOW(), NOW());

INSERT INTO `wow_demodetails` (demo_id, documentary_description, rank, platform) VALUES
((SELECT id FROM demos_submission WHERE slug = 'marblerun'), '', 1, 'D');


INSERT INTO wow_collaborator (demo_id, details_id, rank)
SELECT (SELECT id FROM demos_submission WHERE slug = 'marblerun'),
       (SELECT id FROM auth_user WHERE username = 'mathias'),
       1;  
INSERT INTO wow_collaborator (demo_id, details_id, rank)
SELECT (SELECT id FROM demos_submission WHERE slug = 'marblerun'),
       (SELECT id FROM auth_user WHERE username = 'egraether'),
       2;
INSERT INTO wow_collaborator (demo_id, details_id, rank)
SELECT (SELECT id FROM demos_submission WHERE slug = 'marblerun'),
       (SELECT id FROM auth_user WHERE username = 'hempt'),
       3;
INSERT INTO wow_collaborator (demo_id, details_id, rank)
SELECT (SELECT id FROM demos_submission WHERE slug = 'marblerun'),
       (SELECT id FROM auth_user WHERE username = 'nicolalieser'),
       4;


-- Sort desktop demos
UPDATE wow_demodetails SET rank=11 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'marblerun');
UPDATE wow_demodetails SET rank=12 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'flight-of-the-navigator');
UPDATE wow_demodetails SET rank=13 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'nocomply');
UPDATE wow_demodetails SET rank=14 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'globetweeter');
UPDATE wow_demodetails SET rank=15 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'planetarium');
UPDATE wow_demodetails SET rank=16 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'runfield');
UPDATE wow_demodetails SET rank=17 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'shadows');
UPDATE wow_demodetails SET rank=18 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'immersivevideo');

UPDATE wow_demodetails SET rank=19 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'motivational');
UPDATE wow_demodetails SET rank=20 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug ='remixingreality');
UPDATE wow_demodetails SET rank=21 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'londonproject');
UPDATE wow_demodetails SET rank=22 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'dashboard');

-- Sort mobile demos
UPDATE wow_demodetails SET rank=32 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'holo-mobile');
UPDATE wow_demodetails SET rank=33 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'doubleui-mobile');
UPDATE wow_demodetails SET rank=34 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'dashboard-mobile');
UPDATE wow_demodetails SET rank=35 WHERE demo_id = (SELECT id FROM demos_submission WHERE slug = 'runfield-mobile');
That took 3.39 seconds
##################################################

deploy ran fine..
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
verified fixed https://demos.mozilla.org
Status: RESOLVED → VERIFIED
Product: mozilla.org → mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.