diff --git a/xmpp.view.ts b/xmpp.view.ts index c878787..362313c 100644 --- a/xmpp.view.ts +++ b/xmpp.view.ts @@ -1,4 +1,4 @@ -namespace $.$$ { +namespace $.$$ { type Xmpp_contact = { jid: string @@ -267,7 +267,7 @@ private _getBody(el: Element): string | null { `${ this._esc(new Date(before_time - 1).toISOString()) }` + `` : '' - const before = before_id ? `${ this._esc(before_id) }` : `` + const before = before_id ? `${ this._esc(before_id) }` : `` this._send( `` + `` + @@ -285,7 +285,7 @@ private _getBody(el: Element): string | null { const qid = this._id() const id = this._id() this._mam_iqs.set(id, with_jid) - const before = before_id ? `${ this._esc(before_id) }` : `` + const before = before_id ? `${ this._esc(before_id) }` : `` this._send( `` + `` + @@ -627,11 +627,11 @@ private _handle_message(el: Element) { private _last_displayed_sent = new Map() // peer/room jid → time of last msg we marked displayed // XEP-0084 avatars - private _avatars = new Map() // bare jid → data: URI + private _avatars = new Map() // bare jid в†’ data: URI private _avatar_loading = new Set() // Suppress notifications during the first 5s after a fresh connection - // — covers servers that replay offline messages without proper . + // — covers servers that replay offline messages without proper . private _connect_at = 0 // IndexedDB for persistent message history (via $mol_db). @@ -664,7 +664,7 @@ private _handle_message(el: Element) { @ $mol_mem contacts(next?: Xmpp_contact[]) { return next ?? [] } - // Version counter — incremented on every new message to trigger reactive re-renders. + // Version counter — incremented on every new message to trigger reactive re-renders. // Necessary because _msgs is a plain (non-reactive) array mutated in WebSocket callbacks. @ $mol_mem messages_ver(next?: number) { return next ?? 0 } @@ -741,7 +741,7 @@ private _handle_message(el: Element) { @ $mol_mem_key recording(_jid: string, next?: boolean) { return next ?? false } - // ── Panes (Telegram-like 3-column layout) ───────────────────────────── + // в”Ђв”Ђ Panes (Telegram-like 3-column layout) в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ panes() { this._apply_theme() @@ -760,12 +760,12 @@ private _handle_message(el: Element) { do_open_settings() { this.settings_open(true) } do_close_settings() { this.settings_open(false) } - // Per-chat reactive flag — true when scroll is near the bottom of Messages_list. + // Per-chat reactive flag — true when scroll is near the bottom of Messages_list. @ $mol_mem_key scroll_at_bottom(_jid: string, next?: boolean) { return next ?? true } - scroll_down_hidden(jid: string): string { - return this.scroll_at_bottom(jid) ? 'hidden' : '' + scroll_down_hidden(jid: string): string | null { + return this.scroll_at_bottom(jid) ? 'hidden' : null } do_scroll_down(jid: string) { @@ -1838,7 +1838,7 @@ private _handle_message(el: Element) { if (!account) return try { const db = await this._ensure_db() - const range = this.$.$mol_dom_context.IDBKeyRange.bound([account, ''], [account, '￿']) + const range = this.$.$mol_dom_context.IDBKeyRange.bound([account, ''], [account, 'пїї']) const docs = await db.read('Messages').Messages.select(range, 100_000) if (!docs?.length) return this._loading_persisted = true