CHANGE | instant send text message #40
Merged
Vitalik
merged 5 commits from feature/send-text-msg
into stage
7 months ago
Loading…
Reference in new issue
There is no content yet.
Delete Branch 'feature/send-text-msg'
Deleting a branch is permanent. It CANNOT be undone. Continue?
Допрацювання відправки текстових повідомлень.
_.some(messages, msg => msg.uniqueKey === it.uniqueKey),
)
// delete delivered msgs
з назви метода і так це зрозуміло, видалити
})
}
// we can temporary preview message, not compared to his status (delivered or failed with deliver)
видалити цей коментар
}
}
public async addProcessingMsgs(
я б виділив методи які звязані з фековими повідомленнями в окремий клас
encodeProcessingMessages,
)
const updatedMessages = messages.filter(
Ось такі обчислення можнна виносити в приватні методи, щоб код простіше читався
await storageService.set(StorageKey.Messages, value)
}
private async createFakeTextMessage(
а такі методи краще щоб були protected, в крайньому випадку public
}
private async createFakeTextMessage(
userId: number,
Я б взагалі коннкретно цей метод перетворив у клас FakeTextMessage
типу
public async sendTextMessage(data: ISendTextMessage) {
const account = await this.accountManager.getDbAccount()
if (this.isConnected === 'online') {
можна рознести на два методи sendTextMessageOnline sendTextMessageOffline
}
public async onNewMessage(message: IChatMessage | IChatMessage[]) {
console.log('on new message from chat-message manager', message)
консоль видалити
message?.chatId?.toString() === chatId.toString() &&
!messagesContainsItem(message?.id)
) {
if (message.uniqueKey) {
це також ркаще внести в окрму функцію, бо зара потрібно розбирати код щоб зрозуміти що саме відбувається в функції
useEffect(() => {
if (chatId) loadItems({ chatId }, true)
console.log(messages)
видалити
const onLoadNew = async (limit?: number) => {
const id = messages[messages.length - 1]?.id
// const id = messages[messages.length - 1]?.id
видалити
const id = messages[messages.length - 1]?.id
// const id = messages[messages.length - 1]?.id
await loadNew(limit)
// setTimeout(() => setScrollToId(id), 80)
ваидалити
replyToId?: number
}
export class FakeTextMessage {
це не сервіс, це по суті dto, можна винести в папку dto або просто в окрему папку core
ed9ac6f170
into stage 7 months agoed9ac6f170
.