diff --git a/erpnext/home/__init__.py b/erpnext/home/__init__.py
index 7059cec..5ebf7c0 100644
--- a/erpnext/home/__init__.py
+++ b/erpnext/home/__init__.py
@@ -34,23 +34,33 @@
 	'Support Ticket':       ['[%(status)s] %(subject)s', '#000080']	
 }
 
-def make_feed(doc, subject, color):
+def make_feed(feedtype, doctype, name, owner, subject, color):
 	"makes a new Feed record"
 	#msgprint(subject)
 	from webnotes.model.doc import Document
-	webnotes.conn.sql("delete from tabFeed where doc_type=%s and doc_name=%s", (doc.doctype, doc.name))
+
+	if feedtype in ('Login', 'Comment'):
+		# delete old login, comment feed
+		webnotes.conn.sql("""delete from tabFeed where 
+			datediff(curdate(), creation) > 7 and doc_type in ('Comment', 'Login')""")
+	else:
+		# one feed per item
+		webnotes.conn.sql("""delete from tabFeed
+			where doc_type=%s and doc_name=%s 
+			and ifnull(feed_type,'') != 'Comment'""", (doctype, name))
+
 	f = Document('Feed')
-	f.doc_type = doc.doctype
-	f.doc_name = doc.name
+	f.owner = owner
+	f.feed_type = feedtype
+	f.doc_type = doctype
+	f.doc_name = name
 	f.subject = subject
 	f.color = color
-	f.save(1)
+	f.save()
 
 def update_feed(doc, method=None):   
 	"adds a new feed"
 	if method=='on_update':
 		subject, color = feed_dict.get(doc.doctype, [None, None])
-		if subject:
-			subject = subject % doc.fields
-			
-			make_feed(doc, subject, color)
+		if subject:			
+			make_feed('', doc.doctype, doc.name, doc.owner, subject % doc.fields, color)
diff --git a/erpnext/home/doctype/feed/feed.txt b/erpnext/home/doctype/feed/feed.txt
index 5aa4f91..f239f7c 100644
--- a/erpnext/home/doctype/feed/feed.txt
+++ b/erpnext/home/doctype/feed/feed.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-04-08 10:50:41',
+		'creation': '2011-04-06 18:11:38',
 		'docstatus': 0,
-		'modified': '2011-04-05 09:16:57',
+		'modified': '2012-02-03 11:28:16',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -14,18 +14,18 @@
 	{
 		'autoname': '_FEED.#####',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'module': 'Home',
 		'name': '__common__',
 		'section_style': 'Simple',
 		'show_in_menu': 0,
-		'version': 1
+		'version': 2
 	},
 
 	# These values are common for all DocField
 	{
 		'doctype': 'DocField',
-		'fieldtype': 'Data',
 		'name': '__common__',
 		'parent': 'Feed',
 		'parentfield': 'fields',
@@ -42,8 +42,16 @@
 	# DocField
 	{
 		'doctype': 'DocField',
+		'fieldname': 'feed_type',
+		'fieldtype': 'Select',
+		'label': 'Feed Type'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
 		'fieldname': 'doc_type',
-		'idx': 1,
+		'fieldtype': 'Data',
 		'label': 'Doc Type'
 	},
 
@@ -51,7 +59,7 @@
 	{
 		'doctype': 'DocField',
 		'fieldname': 'doc_name',
-		'idx': 2,
+		'fieldtype': 'Data',
 		'label': 'Doc Name'
 	},
 
@@ -59,7 +67,7 @@
 	{
 		'doctype': 'DocField',
 		'fieldname': 'subject',
-		'idx': 3,
+		'fieldtype': 'Data',
 		'label': 'Subject'
 	},
 
@@ -67,7 +75,7 @@
 	{
 		'doctype': 'DocField',
 		'fieldname': 'color',
-		'idx': 4,
+		'fieldtype': 'Data',
 		'label': 'Color'
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
index 784577a..90aef9e 100644
--- a/erpnext/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -456,7 +456,7 @@
 	this.list = new wn.widgets.Listing({
 		parent: this.list_area,
 		query: repl('select \
-			distinct t1.name, t1.doc_type, t1.doc_name, t1.subject, t1.modified_by, \
+			distinct t1.name, t1.feed_type, t1.doc_type, t1.doc_name, t1.subject, t1.modified_by, \
 			concat(ifnull(t2.first_name,""), " ", ifnull(t2.last_name,"")) as full_name, \
 			t1.modified, t1.color \
 			from tabFeed t1, tabProfile t2, tabUserRole t3, tabDocPerm t4 \
@@ -495,13 +495,11 @@
 	this.tab = make_table(this.wrapper, 1, 2, '100%', [(100/7)+'%', (600/7)+'%']);
 	$y(this.tab,{tableLayout:'fixed'})
 
-	// image
 	$y($td(this.tab,0,0),{textAlign:'right',paddingRight:'4px'});
 	
 	// text
 	this.text_area = $a($td(this.tab,0,1), 'div');
-	this.render_references(this.text_area, det);
-	
+	this.render_references(this.text_area, det);	
 	this.render_tag(det);
 	
 	// add day separator
@@ -537,13 +535,21 @@
 // -------------------------------------------------
 
 FeedItem.prototype.render_tag = function(det) {
+	// type is the name
 	tag = $a($td(this.tab,0,0), 'div', '', 
-		{color:'#FFF', padding:'3px', textAlign:'right', fontSize:'11px', whiteSpace:'nowrap', overflow:'hidden', cursor:'pointer'});
+		{color:'#FFF', padding:'3px', textAlign:'right', fontSize:'11px', 
+			whiteSpace:'nowrap', overflow:'hidden', cursor:'pointer'});
 	$br(tag,'3px');
 	$y(tag, {backgroundColor:(det.color || '#273')});
-	tag.innerHTML = get_doctype_label(det.doc_type);
-	tag.dt = det.doc_type;
-	tag.onclick = function() { loaddocbrowser(this.dt); }
+	
+	// tag label
+	tag.innerHTML = det.feed_type || get_doctype_label(det.doc_type);
+	
+	// not comment / label
+	if(!det.feed_type) {
+		tag.dt = det.doc_type;
+		tag.onclick = function() { loaddocbrowser(this.dt); }		
+	}
 }
 
 FeedItem.prototype.render_references = function(div, det) {
@@ -552,10 +558,15 @@
 	var dt = det.doc_type; var dn = det.doc_name
 	
 	// link
-	var allow = in_list(profile.can_read, dt);
-	var span = $a($td(div.tab,0,0), 'span', (allow ? 'link_type': ''), null, det.doc_name);
-	span.dt = dt; span.dn = dn;
-	if(allow) span.onclick = function() { loaddoc(this.dt, this.dn); }
+	if(det.feed_type=='Login') {
+		// nothing - no link		
+	} else {
+		var allow = in_list(profile.can_read, dt);
+		var span = $a($td(div.tab,0,0), 'span', (allow ? 'link_type': ''), null, 
+			det.doc_name);
+		span.dt = dt; span.dn = dn;
+		if(allow) span.onclick = function() { loaddoc(this.dt, this.dn); }		
+	}
 	
 	// subject
 	if(det.subject) {
diff --git a/erpnext/patches/jan_mar_2012/latest/feed.py b/erpnext/patches/jan_mar_2012/latest/feed.py
new file mode 100644
index 0000000..c913c49
--- /dev/null
+++ b/erpnext/patches/jan_mar_2012/latest/feed.py
@@ -0,0 +1,6 @@
+import webnotes
+from webnotes.model.doc import Document
+from webnotes.modules import reload_doc
+
+def execute():
+	reload_doc('home', 'doctype', 'feed')
\ No newline at end of file
diff --git a/erpnext/patches/jan_mar_2012/subdomain_login_patch.py b/erpnext/patches/jan_mar_2012/latest/login.py
similarity index 100%
rename from erpnext/patches/jan_mar_2012/subdomain_login_patch.py
rename to erpnext/patches/jan_mar_2012/latest/login.py
diff --git a/erpnext/patches/jan_mar_2012/website.py b/erpnext/patches/jan_mar_2012/latest/website.py
similarity index 100%
rename from erpnext/patches/jan_mar_2012/website.py
rename to erpnext/patches/jan_mar_2012/latest/website.py
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index d9fb451..e3e7fa9 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -1,18 +1,18 @@
 import webnotes
 import webnotes.defs
 from webnotes.utils import cint
+import home
 
 def on_login(login_manager):
 	"""
 		called from login manager, before login
 	"""
-	try:
-		if login_manager.user not in ('Guest', None, ''):
+	if login_manager.user not in ('Guest', None, ''):
+		try:
 			import server_tools.gateway_utils
 			server_tools.gateway_utils.check_login(login_manager.user)
-	except ImportError:
-		pass
-
+		except ImportError:
+			pass
 		
 def on_login_post_session(login_manager):
 	"""
@@ -29,9 +29,21 @@
 				sid!=%s""", \
 			(webnotes.session['user'], webnotes.session['sid']), as_list=1)
 
+	if webnotes.session['user'] not in ('Guest'):
+		# create feed
+		from webnotes.utils import nowtime
+		home.make_feed('Login', 'Profile', login_manager.user, login_manager.user,
+			'%s logged in at %s' % (login_manager.user_fullname, nowtime()), 
+			login_manager.user=='Administrator' and '#8CA2B3' or '#1B750D')		
+
+def comment_added(doc):
+	"""add comment to feed"""
+	import json
+	home.make_feed('Comment', doc.comment_doctype, doc.comment_docname, doc.comment_by,
+		'<i>"' + doc.comment + '"</i>', '#6B24B3')
+
 def doclist_all(doc, method):
 	"""doclist trigger called from webnotes.model.doclist on any event"""
-	import home
 	home.update_feed(doc, method)
 	
 def boot_session(bootinfo):
@@ -51,5 +63,6 @@
 def get_letter_heads():
 	"""load letter heads with startup"""
 	import webnotes
-	ret = webnotes.conn.sql("select name, content from `tabLetter Head` where ifnull(disabled,0)=0")
+	ret = webnotes.conn.sql("""select name, content from `tabLetter Head` 
+		where ifnull(disabled,0)=0""")
 	return dict(ret)
diff --git a/version.num b/version.num
index ac471d3..2a9c18a 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-355
\ No newline at end of file
+357
\ No newline at end of file
