// ✅ Good - status updatessession.dashboard.content.writeToMain('3 unread messages');// ❌ Avoid - main app contentsession.dashboard.content.writeToMain('Welcome! Here is a long message...');// ^ Use layouts for this instead
Keep updates brief:
// ✅ Goodsession.dashboard.content.writeToMain('Recording: 1:23');// ❌ Avoidsession.dashboard.content.writeToMain( 'You have been recording for 1 minute and 23 seconds');
Updates are auto-throttled:MentraOS automatically throttles display updates to 1 every 300ms to prevent display desync:
// You can update frequently - cloud handles throttlingsession.events.onTranscription((data) => { if (data.isFinal) { session.dashboard.content.writeToMain(`Message: ${data.text}`); }});
session.events.onTranscription(async (data) => { if (data.isFinal) { // Show user input session.layouts.showTextWall(data.text); // Update dashboard with status session.dashboard.content.writeToMain('Processing...'); // Process and show result const response = await processInput(data.text); session.layouts.showTextWall(response); // Clear dashboard session.dashboard.content.writeToMain(''); }});
let messageCount = 0;session.events.onTranscription((data) => { if (data.isFinal) { messageCount++; // Update main display session.layouts.showTextWall(data.text); // Show count in dashboard session.dashboard.content.writeToMain(`Messages: ${messageCount}`); }});