07.12.10
Posted in Camino
at 4:49 pm
by Smokey
As I alluded to last month, I’ve been in a bit of a posting malaise for some time, so it has been a while since the last Camino update (let alone the last regular Camino update) here.
At the time of our last “regular” update, we were very close to shipping nightlies off of Gecko 1.9.2 and also releasing the Camino 2.0.3 security and stability update. Both of those have since happened.
Since then, we’ve been hard at work on driving the bugs blocking Camino 2.1 Alpha 1 to zarro and readying the release of Camino 2.0.4, another security and stability update. Stuart Morgan updated our Sparkle pull, went on a tear cleaning up deprecated function usage, and started attacking thorny 2.1 bugs, Gecko regressions, and revivified Flash crashes that we’d previously worked around. As a result, we’re sitting at only one blocker for 2.1a1: some continuing performance issues with the new autocomplete. In addition, Stuart pretty much single-handedly got Camino building off of mozilla-central, before we were slammed into a brick wall of embedding-unfriendly code and massive Gecko platform changes landing after the platform had reached the beta stage!
I’ve been working on fixing assorted small bugs here and there, including some changes to our AppleScript dictionary and a long-standing bug with selections in the Save dialogues (thanks to a tip from Wevah). I’ve also worked on shepherding patches into the tree—both for 2.0.4 and Gecko fixes we needed for 2.1—and have done some debugging of other bugs, old and new. In addition, I coordinated the upstreaming of Camino’s crash reporter client localizations back to the Google Breakpad project and reviewed several of Stuart’s build- and update-related patches.
So that’s more or less where we stand in mid-July. We’ll hopefully have 2.0.4 out by the end of the month, and 2.1a1 not too long after that (free time permitting). As always, if you’re interested in helping out, come find us on irc.
Permalink
07.08.10
Posted in Camino, Life
at 1:26 am
by Smokey
To borrow a line from the illustrious Jon Hicks, “I never thought this would really happen, but…” I finally got my Camino 1.0 shirt.
Back in December of 2005, Samuel Sidler emailed those of us who had worked on Camino during the post-0.8 era, announcing that there were going to be Camino 1.0 polo shirts in celebration of our forthcoming 1.0 release. Of course Sam was out West and most of the rest of us were not, so there was always the question of how we were going to get these celebratory garments; for most, the solution turned out to be the 2007 Meet-Up. I was one of the Camino team members who couldn’t make that meet-up (or the 2008 version), so, as time went on and my shirt alternately was riding around in Sam’s car or sitting in his apartment awaiting a trip to the post office, I slowly gave up hope of ever seeing it.
Then, in late May of this year, the 2010 Samuel Sidler World Tour™ rolled into town and Sam and I met for dinner—and he had stopped by wherever lost Camino 1.0 shirts were kept and picked up mine before arriving. I never thought the day would actually come…. After such a long saga, it was a surprisingly low-key ending, yet well-worth the wait.
And, because no good story is complete without pictures, here’s Sam in his Songbird kit and me in the long-awaited Camino 1.0 polo, befuddling other patrons outside the restaurant after dinner:

Permalink
05.28.10
Posted in Camino
at 2:04 am
by Smokey
As I alluded to recently, we’ve been very close to shipping usable nightly builds of Camino 2.1a1pre running on top of Gecko 1.9.2. The last bug blocking these builds, a change in Gecko 1.9.2 that triggered regular crashes, was fixed on Wednesday.
As a result, as of Thursday morning, we have Camino 2.1a1pre nightlies we’re not afraid to recommend all nightly testers. We’ve updated the nightly download link on caminobrowser.org, and I’ve pushed Thursday’s nightly to users of the experimental builds via software update. There are still a number of regressions present in 1.9.2-based 2.1a1pre builds (mostly caused by Gecko changes), so for the moment we’re continuing to produce 1.9-based 2.1a1pre nightlies, but we hope to turn them off in the not-too-distant future.
Once again, special thanks go to Christopher Henderson, whose intrepid hacking was responsible for most of the key breakthroughs that have gotten us to this point. Because of his work and that of the rest of the Camino team, 𝌙 is something tangible, something that Camino fans can use on a daily basis, and something that is a large improvement on Camino 2.1
We still have much work ahead of us, but we’re all excited that everyone can now experience the fruits of our recent months’ labours. Please take the new nightlies for a spin, and, as the “nightly build” text on caminobrowser.org admonishes, “Please report any bugs you find while you browse. Isn’t life on the bleeding edge great?!”
1 For those of you on non-Mac platforms who are reading this post directly on افكار و احلام (rather than on a planet or in a feed reader), you’re likely able to see 𝌙2 thanks to some @font-face work by the always-resourceful Philippe Wittenbergh and the fine folks responsible for the DejaVu Sans font. ↩
2 Writing this post led me to discover a fun WordPress bug, as WordPress seems to truncate fields when encountering a “raw UTF-8” 𝌙 glyph (or perhaps any SMP glyph). ↩
Permalink
05.24.10
Posted in Camino
at 10:06 pm
by Smokey
Ouf, has it really been nearly two months since the last update?
Since the last Camino update, though, we’ve been hard at work on various projects.
- On the releases front, we’ve readied the Camino 2.0.3 release; at this point, we’re only waiting on the multilingual build.
- Stuart Morgan continued to handle most of the super-review requests, and he also fixed a number of bugs during this period. He fixed a follow-up issue with the new Spotlight importer, eliminated a situation where clearing history or resetting Camino failed to clear the “Recently Closed Pages” menu, and updated our Sparkle usage to current code (minus the changes that make the current Sparkle fail to work on Mac OS X 10.4). Stuart also wrote patches to remove usage of a pair of deprecated functions and to prevent possible exceptions with some autocomplete searches.
- At the time of the last update, there were still a few of Christopher Henderson’s initial set of build-with-1.9.2 patches waiting for super-review; those have since landed. In addition, he wrote a quick patch that eliminated the most common cause of “magically reappearing autocomplete window,” much to the relief of nightly build users. Finally, about a week ago, Christopher came up with a magnificent 1-liner to fix the vexing xpconnect/component registration problem, allowing us to have the tinderboxen produce nightly builds without failing during startup tests.
- Since the last update, Philippe Wittenbergh finished the “follow-up” work he had undertaken on our 2008-2009 icon update, fixing the issues that we had raised with several of those icons. He also continued to help with triage, testing, and upcoming ad-blocking changes.
- After a couple of review cycles, Cocoa widget hacker Markus Stange’s patch to fix how we saved and loaded print settings landed earlier today.
- In the past few weeks, I’ve focused on general-purpose extermination and patch shepherding, fixing a number of smaller bugs and helping get other patches landed in the tree. I’ve also worked on a couple of patches to make Gecko’s various “sourcestamp” display functions more useful to all of the projects that build from more than one repository, and I made the aforementioned anchor-preservation fix to MXR’s blame links. When not working on those items or the 2.0.3 release, I also continued to do infrastructure work related to bootstrapping our new Mercurial repository and 1.9.2-based nightly builds, and I produced experimental builds on roughly a fortnightly basis.
A week ago Sunday, thanks to hendy’s path-normalization patch and some last-minute fixes for my own errors, cb-xserve04 produced the first nightly build of Camino 2.1a1pre with Gecko 1.9.2. Although we’ve been building these nightlies successfully for a week, they are not yet usable; we still need the patch for bug 533001 to land in the mozilla-1.9.2 repository to prevent hourly crashes in the nightly builds. This afternoon the patch to fix bug 533001 was approved for landing, so hopefully later this week we will actually start shipping 1.9.2-based Camino 2.1a1pre nightly builds!
Permalink
04.28.10
Posted in Camino
at 9:14 pm
by Smokey
A long, long time ago, in a galaxysource code indexing tool far away, timeless wrote some code that made jumping from a given (anchored) line in MXR to bonsai’s blame view preserve the anchor (fragment identifier) on arrival in bonsai (as well as do other cool things, like set up an automatic “mark”).
With the migration to Mercurial and its web view, though, this time-saving enhancement was lost. For a long time, I was annoyed by this regression and lamented having to manually edit URLs or scroll multiple-thousand line files when leaving MXR for Mercurial’s annotated source (“blame”) view. However, I recently discovered timeless’s original changes and ported them to MXR’s “HG Blame” link. Server Ops deployed the fix last night, so it’s once again possible to end up on the same line in blame view as you were on in the un-annotated source.
Please enjoy! (and volunteer to port bonsai’s awesome “mark” abilities to Mercurial’s web view?)
Permalink
04.06.10
Posted in Camino
at 10:57 pm
by Smokey
As a reminder for everyone considering applying to the 2010 Google Summer of Code to work on a project related to Camino, the deadline for student applications is this Friday (April 9th at 19:00 UTC).
As mentioned previously on the Camino Blog, we have a list of project suggestions on our wiki. Please stop by the #camino channel on irc.mozilla.org and let us know what project you’re interested in tackling, and good luck with your applications!
Permalink
04.05.10
Posted in Camino
at 1:32 am
by Smokey
It’s been a while since the last regular Camino update (there hasn’t been a traditional one at all this year!), though I’ve continued to post ad hoc updates as warranted. We had a productive month of March, though, so I wanted to make sure that I got a more comprehensive post out.
- On the releases front, in the middle of the month we released Camino 1.6.11, the sunset release for Camino 1.6.x and Mac OS X 10.3 support. 1.6.11 picks up a number of fixes for long-standing bugs that we fixed in Camino 2.0.x and also includes one last round of Gecko security updates. While we hope our 10.3 users will be upgrading their OS or getting a new Mac soon, this is a solid release to tide them over until they have systems capable of running Camino 2.
- Mike Pinkerton and Stuart Morgan kept our super-review queues flowing despite the large number of patches arriving in the queues. In addition to reviewing duties, Stuart also wrote a new Spotlight importer to support indexing Camino bookmarks (since Apple changed the OS importer to always open results in Safari, instead of the default browser) and also worked up a project patch to fix the way we referred to Sparkle in the linking build step.
- Christopher Henderson was a veritable patch-producing machine this month. His big patch switched our history back-end from Mork to Places, 10 of his other patches landed in one or more of our repositories last month, and he has another two still awaiting super-review. In addition, he took over from Chris Lawson on the patch to fix the way our UI to add items to the Flashblock exceptions list validates input and conducted extensive research to formulate a plan of attack.
- Philippe Wittenbergh was busy last month pushing pixels. Camino 2.1a1pre builds include three updated preference pane icons and two updated downloads window toolbar icons, and Philippe is working on updating an additional three icons in the main toolbar and one in the downloads window toolbar. He also produced a set of patches to make about:plugins finally have a sane appearance and did some additional CSS work on the website.
- Cocoa Widget hacker Markus Stange investigated a print settings bug reported in our experimental builds and has a patch up for super-review to fix an apparently long-standing bug with the way we saved print settings.
- I spent most of March working on things related to our Gecko 1.9.2 project (with a little bit of release work and Summer of Code marketing here and there). After dozens and dozens of wasted hours, I finally persuaded Mercurial to generate a usable import of our CVS code and then merged the patches from our test repository (based off one of the early unworkable Mercurial imports) into a new repository. After my assorted build-related patches were in the test repository, I also spent a good deal of time working on automation, only to ultimately be stalemated by an inexplicable xpconnect/component registration problem that prevent tests from working and thus automated builds from being produced. I also investigated changes necessary to get symbol generation to work in Gecko 1.9.2, wrote a first draft of new Gecko 1.9.2-based build instructions, and generated two new experimental builds in March to help testers get access to the latest fixes and changes. Finally, I also changed the way our HTML bookmarks importer handles Firefox 3.x profiles in order to prevent the import of unwanted old or default
bookmarks.html files.
All in all, March was a busy month. Right now our experimental Gecko 1.9.2-based builds contain only a few local patches (a pair for the downloads folder preferences and the print settings patch) and a few patches against Gecko (most notably the fix for Cocoa Widget bug 533001, which prevents random hourly crashing; it’s mostly a waiting game now for the patch to land on the trunk and then get 1.9.2 branch approval). Hopefully before the end of April the Cocoa Widget patch will be approved for branch landing, we’ll have figured out the nasty xpconnect/component registration issue, and we will then be producing official nightly builds on a daily basis (until then, I will continue trying to produce new experimental builds on a regular basis).
Permalink
03.14.10
Posted in Camino, Software
at 1:40 am
by Smokey
One of the worst technologies of the old Mozilla was the Mork “database” format. Famously derided by jwz as “the single most braindamaged file format that I have ever seen in my nineteen year career,” Mork was mostly hated by Camino users for fun build and component registration bugs that caused history loss.
Finally, though, our long Mork nightmare is over. Saturday evening I landed Christopher Henderson’s patch to convert Camino’s history implementation to use the Places backend, thereby sunsetting the last of the three Mork-based history implementations in the Mozilla world.1 In addition, this means that the old XPFE autocomplete code (which we never wanted to use, anyway, and which Daniel Weber mostly replaced last summer) was completely unused, and we could stop linking and shipping it. Now all that’s left in Camino of the Bad Old Days Mozilla Technologies is the RDF chrome registry,2 and that will be gone soon enough, too.
We’re very excited to see this day come; it has been a long month-and-a-half from initial patch to checkin (and nearly a month before that for Christopher to write the patch). Now that the patch is in, however, the way forward on other projects is is no longer blocked. Hopefully by the end of the weekend, time permitting, we’ll have a new experimental build available, and we’ll be able to start landing things in a new repository and stop juggling large patches. For now, though, please join in celebrating the end of Mork history and in thanking all of the Camino developers past and present who have played a role in the history format’s ultimate demise.
N.B. For those of you using Camino nightly builds, please note that the first startup with Mork-less nightlies might be slower as your Mork history.dat is converted into a new places.sqlite; this will be especially noticeable for those of you who keep months or years of history.
1 XPFE (Mozilla Suite/SeaMonkey 1.x) and Toolkit (Firefox) both had their own global history implementations using RDF as a layer on top of Mork, and Camino had nsSimpleGlobalHistory.cpp that interfaced our Cocoa UI code directly with Mork, avoiding the RDF middle-man. ↩
2 My favorite bit of RDF chrome registry documentation is “Unfortunately, the RDF schema for contents.rdf is not really documented. The best way to learn it is to copy an existing example.” ↩
Permalink
02.22.10
Posted in Camino
at 9:50 pm
by Smokey
Just a brief reminder that there are only two days of voting left for the 2010 About.com Reader’s Choice Awards.
Camino is a finalist in the Best Independent Browser category (as announced on the Camino Blog earlier this month), as well as in the Best Mac Browser category (which we didn’t know about until recently). In the Best Independent Browser category Camino is the sole Mac-only browser, while competitors in the Best Mac Browser category include most of the usual suspects.
Voting runs through February 24 (or perhaps midnight on February 25—in an unspecified time zone; all of the documentation is unclear!), so if you’re a Camino fan, you can vote in the Best Independent Browser and Best Mac Browser polls. (You can find all of the categories in the awards here and vote for your favorite websites and programs in other categories.)
Permalink
02.16.10
Posted in Camino
at 1:24 am
by Smokey
Just a quick update from the trenches on the “newer Gecko” project: I’m writing this post from a Camino 2.1a1pre based on Gecko 1.9.2.2pre (the same Gecko version used in Firefox 3.6.2pre nightly builds).
Last Monday, shortly after Christopher Henderson and I had produced working Gecko 1.9.1-based builds, he posted the first screenshots of a 1.9.2-based Camino. Over the following week, Christopher has debugged a couple of crashes, as well as the history-not-saving-across-sessions bug mentioned in the comments of the previous announcement. I fixed a few other build-related issues and hacked around a couple of smaller Gecko bugs, and Philippe Wittenbergh started working on polishing our custom CSS to handle the newer Gecko versions.
As a result of the week’s work, we now have available a Gecko 1.9.2-based Camino 2.1a1pre Universal build (with all the best warts of both) for further testing. Those of you who want to play along at home can build with this large patch (the CSS fixes are in additional patches in bug 545353). N.B. You should treat this build as highly experimental. It might eat all of the cheese in your house. Be sure to make a backup copy of your profile first.
We’d like nightly build users and other interested people to hammer on this build for a while to help us gauge the degree of bugginess; if the bugs we hear about seem manageable, we’ll focus our attention here. For the time being, please comment about specific problems on this thread in the forums.
Permalink