Warning: session_start(): open(/var/lib/php/sessions/sess_ffpspj7pgg8l9lcm3un4rp7j3g, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
cmodule MachineGroupChat > DynPrintLog {
S msg;
bool sign;
transient StefansOS_ConnectToServer connector;
visualize {
JComponent log = super.visualize();
enableWordWrap();
ret centerAndSouthWithMargins(log,
centerAndEastWithMargin(withLabel("Talk to everyone:", onEnterAndCtrlEnter(jLiveValueTextField_bothWays(dm_fieldLiveValue('msg)), rThread sendMsg)),
centerAndEastWithMargin(jLiveValueCheckBox("Sign", dm_fieldLiveValue('sign)), jbutton("Send", rThread sendMsg))));
}
void sendMsg {
postMsg(trim(msg), sign);
setField(msg := "");
}
void postSigned(S msg) q { postMsg(msg, true); }
void postMsg(S _msg, bool sign) q {
S msg = _msg;
if (empty(msg = trim(msg))) ret;
if (sign) msg = signWithComputerIDAndDate(msg);
vmBus_send('sendingToChat, msg);
//logQuotedWithDate(javaxDataDir("OS Chat/sent.log"), msg);
print("Sending to machine chat: " + msg);
connector.sendLine("machineChat: " + quote(msg));
}
void cleanMeUp { cleanUp(connector); }
start {
thread { exportComputerPublicKeyToServerMechList(); }
connector = new StefansOS_ConnectToServer;
connector.onLine = voidfunc(S line) {
new Matches m;
if (startsWith(line, "machineChat:", m)) {
S msg = unquote(m.rest());
//infoBox(indent(">> ", msg));
vmBus_send('gotFromMachineChat, msg);
logQuotedWithDate(stefansOS_chat_receivedLogFile(), msg);
}
};
connector.startWithSubs("machineChat");
}
}