message_parse_not_ok

This commit is contained in:
Pascal 2025-01-08 17:43:52 +01:00
parent ea88e55cf5
commit 869c5edd93

View File

@ -233,6 +233,7 @@ class ChatElement extends HTMLElement {
throw new Error('Device not paired'); throw new Error('Device not paired');
} }
const me = await this.getMemberFromDevice(); const me = await this.getMemberFromDevice();
console.log('My SP addresses:', me);
if (!me) { if (!me) {
throw new Error('No paired member in device'); throw new Error('No paired member in device');
} }
@ -335,42 +336,104 @@ class ChatElement extends HTMLElement {
} }
// Send a messsage // Send a messsage
private sendMessage() { private async sendMessage() {
const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement; const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement;
if (!messageInput || !this.selectedMemberId) return; if (!messageInput || !this.selectedMemberId) return;
const messageText = messageInput.value.trim(); const messageText = messageInput.value.trim();
if (messageText === '') return; if (messageText === '') return;
const newMessage: Message = { try {
id: Date.now(), const myAddresses = await this.getMemberFromDevice();
sender: "4NK", if (!myAddresses) {
text: messageText, throw new Error('No paired member found');
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }), }
type: 'text' as const
};
messageStore.addMessage(this.selectedMemberId, newMessage); // Récupérer le process_id du parent (conversation)
this.messagesMock = messageStore.getMessages(); const groupItem = this.shadowRoot?.querySelector('[data-process-id]');
this.loadMemberChat(this.selectedMemberId); const parentProcessId = groupItem?.getAttribute('data-process-id');
messageInput.value = ''; if (!parentProcessId) {
throw new Error('Parent process ID not found');
}
setTimeout(() => { const currentTimestamp = new Date().toISOString();
if (this.selectedMemberId) {
const autoReply = { const messageTemplate = {
id: Date.now(), process_id: parentProcessId,
sender: "Member", parent_id: null,
text: "OK...", description: 'message',
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }), messages: {
type: 'text' as const state: 'initial',
object: {
type: 'text',
content: messageText,
metadata: {
created_at: currentTimestamp,
last_updated: currentTimestamp,
sender: myAddresses[0],
recipient: this.selectedMemberId
}
}
},
roles: {
public: {
members: [
{ sp_addresses: myAddresses },
{ sp_addresses: [this.selectedMemberId] }
],
validation_rules: [
{
quorum: 0.0,
fields: ['description', 'messages'],
min_sig_member: 0.0,
},
],
storages: [storageUrl]
},
owner: {
members: [
{ sp_addresses: myAddresses },
{ sp_addresses: [this.selectedMemberId] }
],
validation_rules: [
{
quorum: 1.0,
fields: ['description', 'messages'],
min_sig_member: 1.0,
},
],
storages: [storageUrl]
}
}
}; };
messageStore.addMessage(this.selectedMemberId, autoReply);
this.messagesMock = messageStore.getMessages(); console.log('Message template:', {
timestamp: currentTimestamp,
template: messageTemplate
});
const result = await this.createMessagingProcess(
[{ sp_addresses: [this.selectedMemberId] }],
'relay_address',
1
);
console.log('Final message process:', {
template: messageTemplate,
result: result,
timestamp: new Date().toISOString()
});
messageInput.value = '';
this.loadMemberChat(this.selectedMemberId); this.loadMemberChat(this.selectedMemberId);
this.addNotification(this.selectedMemberId, autoReply);
} catch (error) {
console.error('Error sending message:', error);
} }
}, 2000);
} }
private scrollToBottom(container: Element) { private scrollToBottom(container: Element) {