Monday, June 15, 2009

annotates where partial code come from

Rails アプリケーションの view で partial を多用しているときに、どこからどこまでがどの partial でレンダリングされているのか知りたいことがあるのでプラグイン partial_annotation というものを作ってみました。


<%= render :partial => "/foo" %>


がレンダリングされるとこうなります。


<!-- begin partial "_foo.html.erb" -->
content of the partial....
<!-- end partial "_foo.html.erb" -->


ちなみに、development 以外では無効になるようにしてます

Friday, June 5, 2009

Safari hanging up due to Dropbox contextual menu plugin

最近、気がついたら、 Safari の Contextual Menu を開こうとするとしばらくハングするようになったので犯人探しをしてみました。
Dropbox にバグ報告をしようと思って英語で書いたものです。

Recently I got Safari hanging up when I try to pop up contextual menu in Safari.
So I sampled with Activity monitor.app when Safari got hang.

...
1724 TContextualMenuPlugin::LoadCMPluginsFromCFPlugin(FSRef const&, __CFArray*)
1724 DropboxPluginFactory
1724 AllocDropboxPluginType
1724 reconnect
1724 connect$NOCANCEL$UNIX2003
1724 connect$NOCANCEL$UNIX2003

I found a suspect.

~/Library/Contextual Menu Items/DropboxPlugin.plugin


After removing DropboxPlugin.plugin, Safari's contextual menu is popped up as smoothly as ever.
However, every time Dropbox.app is started, it places the plugin. As I'm a programmer I can't bear torment of removing the plugin every boot time of Mac by hand. So I renamed the plugin:

$ mv /Applications/Dropbox.app/Contents/Resources/DropboxPlugin.plugin \
/Applications/Dropbox.app/Contents/Resources/DropboxPlugin.disabled.plugin


I'v used Dropbox for most half a year. Until this problem happened, it works great. I couldn't remind when I upgraded Dropbox app recently, so I suppose other changes of mac caused this problem.

Mac OS X 10.5.7
Safari 3.2.3 (5525.28.3)
Dropbox.app 0.6.402 or 0.6.507