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