Last Comment Bug 345993 - Make the full Build ID more accessible to testers
: Make the full Build ID more accessible to testers
Status: VERIFIED FIXED
: privacy, verified1.8.1
Product: Core
Classification: Components
Component: General (show other bugs)
: Trunk
: All All
: -- normal (vote)
: ---
Assigned To: Zach Lipton [:zach]
:
Mentors:
Depends on: 348069
Blocks: 335382 351601
  Show dependency treegraph
 
Reported: 2006-07-26 11:03 PDT by Zach Lipton [:zach]
Modified: 2006-09-06 15:15 PDT (History)
19 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Add navigator.buildID and replace short build id in about dialog with full build id (3.79 KB, patch)
2006-07-27 13:44 PDT, Zach Lipton [:zach]
jst: review+
Details | Diff | Review
patch v2: change about: but leave the about dialog alone (3.06 KB, patch)
2006-07-28 16:25 PDT, Zach Lipton [:zach]
no flags Details | Diff | Review
v3: incorporate rob_strong's comments (3.41 KB, patch)
2006-07-31 12:35 PDT, Zach Lipton [:zach]
robert.strong.bugs: review+
Details | Diff | Review
Branch version - no changes made (3.10 KB, patch)
2006-08-01 11:21 PDT, Zach Lipton [:zach]
dbaron: approval1.8.1-
Details | Diff | Review
Branch patch v2 (5.25 KB, patch)
2006-08-03 10:37 PDT, Zach Lipton [:zach]
jst: superreview+
mtschrep: approval1.8.1+
Details | Diff | Review

Description Zach Lipton [:zach] 2006-07-26 11:03:52 PDT
Currently the full Build ID in Mozilla products is extremely inaccessible to testers--it is available only in talkback's master.ini file (assuming talkback is installed) and in the application binary itself (available only through nsIXULAppInfo with chrome privs). While the about dialog provides a truncated build id (without the hour), the full build id is very difficult for users to access. QA, Build/Release, and our testing community need the full build id in order to track the testing process and to prepare updates. 

The inaccessibility of the full build id is also an issue for Litmus. It is very difficult for casual testers to get the full build id, but we need this information in order to track their results. Litmus is able to auto-detect most information about testers' system configurations from the UA, but unless codebase principles are enabled, there is no way to detect the full build id, and the instructions for manually retrieving it from the master.ini file are rather complex for casual testers. 

As such, I propose the following three enhancements: 

1) Display the full build id in the Firefox and Thunderbird about boxes instead of the truncated build id. These about boxes currently display the user agent, but a simple substitution on the build id could be used to add the missing digits. 

2) Display the full build id on about:buildconfig.

3) Make the full build id accessible from non-privileged script. I propose navigator.buildID for this purpose. Litmus and other testing tools can use this to automatically populate the build id field for users.
Comment 1 Ria Klaassen (not reading all bugmail) 2006-07-26 11:56:16 PDT
I have a simple windows shortcut to compatibility.ini on my desktop, that mostly even gets updated when Firefox fails to start up, because it is one of the first things that are written to the profile.
Comment 2 Chris Ilias [:cilias] 2006-07-26 15:41:39 PDT
Related bug, and possible dup of your first proposal: bug 150351
Comment 3 Zach Lipton [:zach] 2006-07-27 13:44:43 PDT
Created attachment 230984 [details] [diff] [review]
Add navigator.buildID and replace short build id in about dialog with full build id

Here's a patch to do 1) and 3) above. For a variety of reasons related to our build system, I'm avoiding adding it to about:buildconfig, as it's relatively redundant if we have the full build id in the about dialog. 

Suggestions on good reviewers would be appreciated.
Comment 4 Zach Lipton [:zach] 2006-07-27 14:40:10 PDT
Comment on attachment 230984 [details] [diff] [review]
Add navigator.buildID and replace short build id in about dialog with full build id

jst -- can you look at the DOM changes here?
Comment 5 Johnny Stenback (:jst, jst@mozilla.com) 2006-07-27 14:58:32 PDT
Comment on attachment 230984 [details] [diff] [review]
Add navigator.buildID and replace short build id in about dialog with full build id

r=jst for the DOM changes.
Comment 6 Zach Lipton [:zach] 2006-07-27 15:28:06 PDT
Comment on attachment 230984 [details] [diff] [review]
Add navigator.buildID and replace short build id in about dialog with full build id

mconnor: could you please review the about dialog change? You seem to be the mostly likely candidate for this, but if there's someone else you recommend, that would be great too.
Comment 7 Zach Lipton [:zach] 2006-07-28 16:25:14 PDT
Created attachment 231174 [details] [diff] [review]
patch v2: change about: but leave the about dialog alone

Reflecting mconnor's thoughts on IRC today, here's a new patch that displays the full build id in the about: page but leaves the about dialog alone (we'll have to tackle this for thunderbird another way, but that's a different problem). This should keep risk to a minimum, but still allows the full build id to be accessible from script with navigator.buildID and from the UI with the about: page. 

r=jst carries over for the DOM change. 

mconnor: Does this cover your concerns about this?
Comment 8 Zach Lipton [:zach] 2006-07-31 12:35:21 PDT
Created attachment 231459 [details] [diff] [review]
v3: incorporate rob_strong's comments
Comment 9 Zach Lipton [:zach] 2006-07-31 14:57:15 PDT
Landed on trunk thanks to rob_strong. 
Comment 10 pal-moz 2006-07-31 19:06:07 PDT
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060731 Minefield/3.0a1 ID:2006073118 [cairo]

landed ?

http://img444.imageshack.us/img444/9529/buildidat1.jpg
Comment 11 Adam Guthrie 2006-07-31 19:58:47 PDT
pal-moz, if you would have read comment 7 you would've noticed that this is only going to be visible in about:, not Help > About Firefox.
Comment 12 Zach Lipton [:zach] 2006-08-01 11:21:24 PDT
Created attachment 231615 [details] [diff] [review]
Branch version - no changes made

Here's a version for the branch -- nothing changed besides some context in the diff that was causing the patch not to apply cleanly. This is a very simple patch with minimal risk that would make life easier for QA, build, and testing contributors for the rest of the 1.8.1 branch lifetime.
Comment 13 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2006-08-01 16:13:57 PDT
Comment on attachment 231615 [details] [diff] [review]
Branch version - no changes made

We can't take this on the branch because of the interface changes.
Comment 14 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2006-08-01 16:15:06 PDT
(Note that this could be done without interface changes, you just need to make a _MOZILLA_1_8_BRANCH interface to avoid changing the existing one.)
Comment 15 Zach Lipton [:zach] 2006-08-03 10:37:26 PDT
Created attachment 231970 [details] [diff] [review]
Branch patch v2

Here's a patch for the branch that avoids changing existing interfaces. jst: There really aren't any significant changes from the trunk patch besides the _MOZILLA_1_8_BRANCH interface, but as I don't really know what I'm doing here, I'd appreciate it if you could take a look at this and let me know if I've done anything too stupid.
Comment 16 Johnny Stenback (:jst, jst@mozilla.com) 2006-08-03 14:50:34 PDT
Comment on attachment 231970 [details] [diff] [review]
Branch patch v2

sr=jst
Comment 17 Zach Lipton [:zach] 2006-08-03 14:56:32 PDT
Comment on attachment 231970 [details] [diff] [review]
Branch patch v2

Requesting approval for the new and improved branch patch without interface changes.
Comment 18 Mike Schroepfer 2006-08-04 10:41:18 PDT
Comment on attachment 231970 [details] [diff] [review]
Branch patch v2

a=schrep for drivers.
Comment 19 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2006-08-04 10:41:45 PDT
Comment on attachment 231970 [details] [diff] [review]
Branch patch v2

>     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNavigator)
>+    DOM_CLASSINFO_MAP_ENTRY(nsIDOMNavigator_MOZILLA_1_8_BRANCH)

It's correct to list both?  I seem to recall somebody saying the opposite recently, although I'm not sure.
Comment 20 Sylvain Pasche 2006-08-04 16:49:17 PDT
I see that for non official builds, the about: page raises a Javascript error:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNavigator.buildID]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: about: :: <TOP_LEVEL> :: line 80"  data: no]

And the line "Build identifier:" becomes empty. 

I guess that's because the build id of non official builds is 0000000000, so the if is not taken.

Is this the intended behavior?
Comment 21 Nick Thomas [:nthomas] 2006-08-09 11:15:11 PDT
Adding missing keyword - branch patch landed at 2006-08-04 11:23 PDT.

Bug 348069 deals with comment #20.
Comment 22 Daniel Veditz [:dveditz] 2006-08-28 17:52:28 PDT
I'm not keen on the true buildID being available to any random web page for users who have gone to the trouble of spoofing their UA. Filed bug 350521 on making this behave the same as similar properties like nsNavigator::GetAppName.
Comment 23 Johnny Stenback (:jst, jst@mozilla.com) 2006-09-06 15:14:16 PDT
(In reply to comment #20)
> Is this the intended behavior?

I don't think so, I've filed bug 351601 on this issue.

Note You need to log in before you can comment on or make changes to this bug.