message_parse_not_ok
This commit is contained in:
parent
ea88e55cf5
commit
869c5edd93
@ -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);
|
|
||||||
this.messagesMock = messageStore.getMessages();
|
|
||||||
this.loadMemberChat(this.selectedMemberId);
|
|
||||||
|
|
||||||
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(() => {
|
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) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user