access seq of self;
tweak gui
diff --git a/demo/chatdialog.cpp b/demo/chatdialog.cpp
index 4a3e59f..e325d6b 100644
--- a/demo/chatdialog.cpp
+++ b/demo/chatdialog.cpp
@@ -178,6 +178,7 @@
   // update the tree view
   std::string prefix = name.toStdString().substr(0, name.toStdString().find_last_of('/'));
   m_scene->msgReceived(prefix.c_str(), msg.from().c_str());
+  fitView();
 }
 
 void
@@ -263,7 +264,14 @@
     abort();
   }
   m_sock->publishRaw(m_user.getPrefix().toStdString(), m_session, buf, size, 60);
-  
+
+  int nextSequence = m_sock->getNextSeq(m_user.getPrefix().toStdString(), m_session);
+  Sync::MissingDataInfo mdi = {m_user.getPrefix().toStdString(), Sync::SeqNo(0), Sync::SeqNo(nextSequence)};
+  std::vector<Sync::MissingDataInfo> v;
+  v.push_back(mdi);
+  m_scene->processUpdate(v, m_sock->getRootDigest().c_str());
+  m_scene->msgReceived(m_user.getPrefix(), m_user.getNick());
+  fitView();
 }
 
 void
diff --git a/demo/digesttreescene.cpp b/demo/digesttreescene.cpp
index 82ad890..35df071 100644
--- a/demo/digesttreescene.cpp
+++ b/demo/digesttreescene.cpp
@@ -153,14 +153,14 @@
   QRectF rootInnerBoundingRect(rim, rim, nodeSize - rim * 2, nodeSize - rim * 2);
   addRect(rootBoundingRect, QPen(Qt::black), QBrush(Qt::darkRed));
   addRect(rootInnerBoundingRect, QPen(Qt::black), QBrush(Qt::lightGray));
-  QRectF digestRect(- 5 * nodeSize , - nodeSize, 11 * nodeSize, 30);
+  QRectF digestRect(- 5.5 * nodeSize , - nodeSize, 12 * nodeSize, 30);
   addRect(digestRect, QPen(Qt::darkCyan), QBrush(Qt::darkCyan));
 
   QGraphicsTextItem *digestItem = addText(digest);
   QRectF digestBoundingRect = digestItem->boundingRect();
   digestItem->setDefaultTextColor(Qt::black);
   digestItem->setFont(QFont("Cursive", 12, QFont::Bold));
-  digestItem->setPos(- 4 * nodeSize + (11 * nodeSize - digestBoundingRect.width()) / 2, - nodeSize + 5);
+  digestItem->setPos(- 4.5 * nodeSize + (12 * nodeSize - digestBoundingRect.width()) / 2, - nodeSize + 5);
   m_rootDigest = digestItem;
 
   // plot child nodes
diff --git a/include/sync-app-socket.h b/include/sync-app-socket.h
index c190824..cf888d3 100644
--- a/include/sync-app-socket.h
+++ b/include/sync-app-socket.h
@@ -84,12 +84,10 @@
 
   // for sync-demo
   std::string getRootDigest() {return m_syncLogic.getRootDigest();}
-
-
-private:
   uint32_t
   getNextSeq (const std::string &prefix, uint32_t session);
 
+private:
   void 
   passCallback(const std::vector<MissingDataInfo> &v) {m_newDataCallback(v, this);}