@omg-dev/app 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,60 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { M as n } from "./embedded-B900iwBO.js";
2
+ import { M as n } from "./embedded-CLYU5z7h.js";
3
3
  const t = `# Changelog
4
4
 
5
5
  Recent product updates and deployment notes.
6
6
 
7
+ ## August 24, 2026 - Scrolling does what you tell it (v0.5.1)
8
+
9
+ - **The transcript no longer scrolls itself.** Following the newest message was
10
+ decided by measuring the distance to the bottom on every scroll event. That
11
+ works only while the total height is stable, and it stopped being stable when
12
+ the transcript started keeping only the visible rows in the page: a row that
13
+ comes into view replaces its estimated height with its real one, the total
14
+ moves, and the view could re-pin itself with no new message and no input from
15
+ you. Following is now a stored state that only a real gesture can change.
16
+ Scroll away and it stays away. Scroll back to the bottom, or press New
17
+ activity, and it follows again. A re-measure cannot change it. Nor can a
18
+ prepend, or the page correcting its own position. Keyboard scrolling counts
19
+ as a gesture now, which it did not before.
20
+ - **Tool calls send less over the wire.** The arguments of a tool call are no
21
+ longer streamed with the transcript. The name and the count are, which is all
22
+ a collapsed pill shows, and the arguments load when you open one. Measured on
23
+ real sessions this cuts a transcript load by 13 to 31 percent. The trade is
24
+ that opening a pill now waits for one small request.
25
+ - **Connection diagnostics are recorded again.** The browser posted five kinds
26
+ of websocket event to a route that had been deleted as unused, so every one
27
+ returned 404 and the client half of the connection record was lost. The route
28
+ is back. Only the browser knows the close code and the retry count, so the
29
+ server could not stand in for it.
30
+
31
+ ## August 24, 2026 - A transcript that stays fast, and can be searched (v0.5.0)
32
+
33
+ - **Tool-heavy sessions are readable again.** The transcript asked the server for
34
+ 80 raw messages, but the screen shows collapsed rows, and one run of tool calls
35
+ collapses into a single pill. A session that was mostly tool work therefore
36
+ arrived as three rows on an otherwise empty screen, and it could not page back,
37
+ because the page did not overflow and the backfill only ran when it did.
38
+ Paging is now measured in rows, so a page always carries enough to read. The
39
+ row rule has one definition that the server and the browser share.
40
+ - **A find bar for the transcript.** Virtualization keeps only the rows near the
41
+ viewport in the page, so the browser find command can only see those. Search
42
+ now runs on the server, over the whole session, and jumps to the row that
43
+ matched. It reports how many matches exist, walks forward and backward, and
44
+ keeps loading older pages while it hunts for a match that is not loaded yet.
45
+ It does not take over Control+F, because that would be a hostile default.
46
+ - **Sending a message during a reply no longer doubles the reply.** The chat
47
+ library appends a new copy of a message when the incoming update does not
48
+ match the end of the list. Sending mid-reply moved the reply away from the
49
+ end, so a second copy appeared, and the two drew on top of each other. The
50
+ live turn is now kept at the end, and an older copy of it is dropped.
51
+ - **Images no longer reload when you scroll back to them.** Off-screen rows are
52
+ removed from the page, so returning to an image used to download it again and
53
+ show the loading pulse again. Images and video now load in the element itself,
54
+ so the browser cache serves them. Video also seeks properly now, instead of
55
+ downloading the whole file first. The hosted surface keeps the previous path,
56
+ because it authenticates with a header.
57
+
7
58
  ## August 23, 2026 - A quieter composer, and Manage sessions is gone (v0.4.0)
8
59
 
9
60
  - **New: one-shot commands over the API.** \`POST /api/exec\` runs a single
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as i, Fragment as te } from "react/jsx-runtime";
2
2
  import { memo as ne, useState as m, useRef as T, useCallback as v, useEffect as C, useMemo as q, Suspense as U } from "react";
3
3
  import { createPortal as re } from "react-dom";
4
4
  import { cn as y } from "cnfast";
5
- import { y as oe, a2 as W, a3 as se, X as I, a4 as ie, a5 as ae, L as H, a6 as le, x as de, C as ce, a7 as L } from "./embedded-B900iwBO.js";
5
+ import { y as oe, a2 as W, a3 as se, X as I, a4 as ie, a5 as ae, L as H, a6 as le, x as de, C as ce, a7 as L } from "./embedded-CLYU5z7h.js";
6
6
  import { c as me } from "./create-BrnHvSDE.js";
7
7
  /**
8
8
  * @license lucide-react v0.577.0 - ISC
@@ -1,6 +1,6 @@
1
1
  import { jsxs as r, jsx as k, Fragment as ZA } from "react/jsx-runtime";
2
2
  import { useState as L, useRef as S, useEffect as x, useCallback as Y } from "react";
3
- import { y as cA, n as wQ, X as DA, a8 as sQ, x as tQ, a9 as eQ, aa as aQ, a2 as MQ, ab as hQ, R as NQ, C as cQ } from "./embedded-B900iwBO.js";
3
+ import { y as cA, n as wQ, X as DA, a8 as sQ, x as tQ, a9 as eQ, aa as aQ, a2 as MQ, ab as hQ, R as NQ, C as cQ } from "./embedded-CLYU5z7h.js";
4
4
  /**
5
5
  * @license lucide-react v0.577.0 - ISC
6
6
  *
@@ -1,7 +1,7 @@
1
1
  import { jsx as ao } from "react/jsx-runtime";
2
2
  import { useRef as Dt, useCallback as Lt, useSyncExternalStore as ut, useEffect as so } from "react";
3
3
  import { g as io } from "./_commonjsHelpers-C6fGbg64.js";
4
- import { ac as uo } from "./embedded-B900iwBO.js";
4
+ import { ac as uo } from "./embedded-CLYU5z7h.js";
5
5
  var Ar = "vercel.ai.error", co = Symbol.for(Ar), Ut, Ft, se = class Nr extends (Ft = Error, Ut = co, Ft) {
6
6
  /**
7
7
  * Creates an AI SDK Error.
@@ -1,5 +1,5 @@
1
1
  import { jsxs as s, jsx as e, Fragment as E } from "react/jsx-runtime";
2
- import { R, B as d, L as w, m as $, n as S, o as A, p as h, T as L, q as j, s as G, u as H, v as I, w as M, x as U, X as W, K as X } from "./embedded-B900iwBO.js";
2
+ import { R, B as d, L as w, m as $, n as S, o as A, p as h, T as L, q as j, s as G, u as H, v as I, w as M, x as U, X as W, K as X } from "./embedded-CLYU5z7h.js";
3
3
  import { cn as B } from "cnfast";
4
4
  import { useState as T } from "react";
5
5
  function P(t) {