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');
}
const me = await this.getMemberFromDevice();
console.log('My SP addresses:', me);
if (!me) {
throw new Error('No paired member in device');
}
@ -335,42 +336,104 @@ class ChatElement extends HTMLElement {
}
// Send a messsage
private sendMessage() {
const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement;
if (!messageInput || !this.selectedMemberId) return;
const messageText = messageInput.value.trim();
if (messageText === '') return;
private async sendMessage() {
const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement;
if (!messageInput || !this.selectedMemberId) return;
const messageText = messageInput.value.trim();
if (messageText === '') return;
const newMessage: Message = {
id: Date.now(),
sender: "4NK",
text: messageText,
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
type: 'text' as const
};
messageStore.addMessage(this.selectedMemberId, newMessage);
this.messagesMock = messageStore.getMessages();
this.loadMemberChat(this.selectedMemberId);
try {
const myAddresses = await this.getMemberFromDevice();
if (!myAddresses) {
throw new Error('No paired member found');
}
messageInput.value = '';
// Récupérer le process_id du parent (conversation)
const groupItem = this.shadowRoot?.querySelector('[data-process-id]');
const parentProcessId = groupItem?.getAttribute('data-process-id');
if (!parentProcessId) {
throw new Error('Parent process ID not found');
}
setTimeout(() => {
if (this.selectedMemberId) {
const autoReply = {
id: Date.now(),
sender: "Member",
text: "OK...",
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
type: 'text' as const
const currentTimestamp = new Date().toISOString();
const messageTemplate = {
process_id: parentProcessId,
parent_id: null,
description: 'message',
messages: {
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.addNotification(this.selectedMemberId, autoReply);
} catch (error) {
console.error('Error sending message:', error);
}
}, 2000);
}
private scrollToBottom(container: Element) {