Closed Bug 94234 Opened 24 years ago Closed 24 years ago

Remove build date from user-agent string

Categories

(SeaMonkey :: General, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED WONTFIX

People

(Reporter: bobj, Assigned: asa)

Details

Currently, we include the build date as the "Gecko version" in the user-agent (u-a) string. Here is an example from a current Netscape build: Mozilla/5.0 (Windows; U; Win95; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1 One day (July 11, 2001), we gathered data from one of the netscape.com servers. There were hits from 35,331 unique user-agents which included 1,774 unique variations of the "mozilla/5.0" user-agents. Some of these U-A's only differed in the build date used as the Gecko version. If we had gathered data for more than a single day, we would have seen even more u-a's that only differed by the build date. Build dates help us to track versions for testing and debugging, and should belong in some version string of the application. But modifying the U-A string in the HTTP header every day serves (no pun intended) no purpose. The current u-a guidelines are documented here: http://www.mozilla.org/build/revised-user-agent-strings.html If we want to maintain the Gecko version, we should use something other than the date of the daily build.
i'm sorry. given Bugzilla data corruption risks and the fact that we can stop those corruptions w/in an hour for just the affected builds, I feel this bug is a definite wontfix. In summary, this feature has saved bugzilla's database at least a few times over the past few months, and will probably continue to do so. If you have a suggestion, please enlist npm.net* in your discussion before filing a bug.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
> given Bugzilla data corruption risks and the fact that we can stop > those corruptions w/in an hour for just the affected builds, timeless, can you explain what you mean by 1. Bugzilla data corruption -- what kind and how? 2. we can stop those corruptions w/in an hour for just the affected builds -- how do we stop corruption just for affected builds? by refusing to accept submission from just hose builds? I think you need to explain more in detail to be fair the bug filer.
<dawn> bug 80746 and 90363
VERIFIED. Data corruption: the respective builds had bugs that caused all fields to be changed or whatever, so each submission would mess up (without the intention of the user) an entire bug. Stopping it within an hour: Simply by adding sniffing code for that build ID. If you are using unique UA strings to identify builds then I'm afraid you are already going to breaking yourself. For example, different distributions of the same version of IE have subtly different UA strings (e.g. "MSIE AltaVista OEM Release" vs just "MSIE"). The problem is therefore in the code doing the analysis and not the build ID.
Status: RESOLVED → VERIFIED
I strongly disagree Bob. We've gotten a lot of use out of having the date in the user agent. We've had two bugs recently (80746 and 90363) that caused dataloss in bugzilla but we were able to disallow broken builds by filtering by the user agent and avoid munging our database. Also, there needs to be a gecko version listed. Just like there is a version for the application (in your case, Netscape). Asking to remove the gecko version is like asking to remove the version of netscape. Netcenter's log analizer should be taught to ignore the build id.
I'll add that the Gecko date was decided on after a long (way too long) discussion and re-discussion of the user agent spec. Those sorts of things shouldn't get undone on the basis of a bug.
I totally agree that the build date is very useful. As I wrote in my original comment: > Build dates help us to track versions for testing and debugging, and > should belong in some version string of the application. My point is that the proper place for the build date is NOT in the HTTP header. The User-Agent header should be used to identify the u-a at a high-level, not used for daily debugging support. If you account for the various platforms, ports and localizations, we are creating thousands of additional u-a strings each year just to include the build date. For daily debugging, we should provide a different mechanism rather than polluting the User-Agent headers. Why don't we make the build date available via Javascript for the very few sites and very few cases that will make use of it?
not all clients have js turned on. for more info see: http://www.mozilla.org/build/revised-user-agent-strings.html http://groups.google.com/groups?hl=en&safe=off&th=7d7cdb4a43f91f19,4&seekm=39790BA0.40BE1735%40netscape.com Re: user-agent strings: need a date stamp comment field http://groups.google.com/groups?q=user+agent+group:netscape.public.mozilla.*+author:dveditz%40netscape.com&hl=en&safe=off&rnum=1&selm=38810634.113DD378%40netscape.com entire date stamp comment thread field http://groups.google.com/groups?hl=en&safe=off&th=d41a4ea8dd0a1120,25&start=0 use the groups.google.com advanced search form to search npm.seamonkey and/or npm.netlib for more user-agent string threads.
The arguments have already been presented, so I'll add an extra bit here: we aren't the only ones who do this. User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)::ELNSB50::0000811505000400029802c3000000000505000b00000000 The above is a user-agent string on a custom IE browser from EarthLink/MindSpring. For more information on those strings, visit http://slashdot.org/articles/01/03/20/1423223.shtml and http://grc.com/su/earthlink.htm EarthLink does seem to gather a bit more information in the UA field than we do, but what they gather is not our concern here. If EarthLink can filter out the extra stuff for statistical purposes, I don't see any reason Netscape can't. Again, the User-Agent is meant to identify the browser. If our browser is different every day with new features and new bugs (and bug-FIXES), is there any reason not to include the gecko build? Because of the fact it really is a different gecko (and subsequently a different user-agent) each day, it should be, and is, noted in the useragent string. And FWIW, I happen to like our UA string much better than EarthLink's. :)
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.