@leftoff/cli 0.9.8-beta.9 → 0.9.9-beta.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.
package/CHANGELOG.md CHANGED
@@ -4,7 +4,33 @@ What changed in Leftoff (called Checkpoints until 0.4.5), newest first. The boar
4
4
 
5
5
  ## Unreleased
6
6
 
7
- ### Added
7
+ - Needs you: the Reply box is the same composer as Live (rounded box, round ↑ send, grows as you type; Enter sends on a Mac, Return is a new line on a phone), with the quick replies still under it. Your drafts carry over. The composer's 📎 and ↑, and the card's ✕, Go ↗ and other hints, show styled tips instead of browser tooltips.
8
+ - Hosted relay: its owner can see how many Macs connect each day (`/_admin/stats`, off until a `STATS_TOKEN` secret is set). Counts only: each account once a day as an opaque id, no IPs or content, kept 90 days.
9
+ - **What it did**, on every session page (folded): the last tools it ran with their output, and **This folder's changes** (staged, unstaged and new files, tap one for its lines, drawn like GitHub: old and new line numbers, green and red rows, the changed words marked, a header that stays put while you scroll the file). Works for your other Mac's sessions too, read live; key and env files are never shown and secrets are blanked. In Live, tap a command under “Ran N commands” to see its output; an edit shows what it changed. A board answer too big for the relay now says so at once instead of hanging.
10
+ - Board: the restore banner after a restart names the sessions (“**Fix login flow** (leftoff) was open …”, or the first two and “3 more”), so you can tell which before you tap Restore…; its ✕ buttons show styled tips.
11
+ - Security: hosted signup is limited per network and relay-wide too, `+tags` count as one email, and a refused signup no longer says which name an email already has (except to that name's own Mac); the board serves only its own files, and `.secret/` is kept private on every start.
12
+ - **The digest reads like a brief**: Yesterday and Today up top, Start here with your top three next steps (Go or Resume beside each), every session in one sentence (“You were …; left off …”), and Finished folded away.
13
+ - Board: a new session on your other Mac shows up here before its first prompt (an empty or Live one used to show only on its own Mac's board).
14
+ - Board search: the cursor stays where you type while the board updates.
15
+ - Board: when the Machine filter shows one Mac only, the board says so (“Only desktop’s sessions · Show all Macs”). A filter left on in one browser hid the other Mac's sessions and its space tab without a word; one for a Mac the board doesn't know is dropped.
16
+ - Live: a message with an image in a new session no longer stays on “Working” after Claude answered (the transcript's first write was bigger than Live looked back, so it missed the message).
17
+ - Live: a message in a new session settles even when Claude Code's own hook events (session start, turn end) never reached Leftoff: Live finds the session's transcript by its id instead of waiting for a hook to name it.
18
+ - Live: a message marked “No reply recorded” because its transcript couldn't be read yet gets Claude's answer (and the tools it ran) once the transcript is found, at a restart or when you open the session. An answer sent only through Leftoff's reply tool counts too, also when the mod is installed as a Claude Code plugin.
19
+ - Tabs: an unpinned (italic preview) tab has a × beside its pin, like a kept tab, on the strip and in the phone's Open row; the tab buttons show styled tips.
20
+ - The daemon log no longer fills with “peer: … → ok” lines: a call from another Mac that worked is logged once a minute; a refusal every time.
21
+ - Live: a transcript read of many lines no longer crashes (“Maximum call stack size exceeded”) and drops those lines; one session's bad read no longer stops Live following the others.
22
+ - Settings → Summaries: **Try it on your latest session** right after Save no longer loses its result.
23
+ - Digest: **Unfinished** lists sessions you closed in the last week with a next step left, each with Resume; past digests are a month calendar (folded to the week on phones).
24
+ - Session page: a non-Live session's Live box shows the Live resume command with a copy icon in it; the Lists ? opens “How lists work” right there.
25
+ - Session page: tap a PR for its details in place (as on the PRs page); GitHub ↗ sits beside it.
26
+
27
+ - Session page: Copy Live resume, for a session that wasn't Live (exit it, run the command, it comes back Live).
28
+
29
+ - Live: your messages render markdown (lists, code, bold), same as Claude's.
30
+ - **A quick tour** of the board: Needs you, a session, Live, tabs, catching up and your phone, in six steps. It runs once after setup; **Take the tour** in Settings → Updates & about plays it again.
31
+
32
+ ### Added
33
+ - `leftoff setup` on another Mac joins the name you already have. If your synced folder knows it, setup asks "Join it from this Mac?". If the name you type is taken, it asks whether it's yours and joins instead of asking for another name. No email needed; your other Mac adds this one while it's awake.
8
34
  - **Live link (beta, opt-in)**: start a session with `leftoff live` to send it messages from the board or your phone, see Claude's answers, and answer its permission prompts there. A Live badge marks those sessions.
9
35
  - **Outside events**: CI or a webhook can post into a live session with this Mac's key (`leftoff live key`), signed through your leftoff.dev board.
10
36
  - **Restore from your phone or another Mac**: it asks that Mac first, and nothing opens until someone there confirms.
@@ -18,7 +44,19 @@ What changed in Leftoff (called Checkpoints until 0.4.5), newest first. The boar
18
44
  - **Resume a Live session as Live.** Resume and Copy resume on a session you started with `leftoff live` now run `leftoff live -- --resume <id>`, so it reconnects to Live. Anything after `--` goes to Claude Code as is.
19
45
  - **The Live badge pulses while Claude is working** on a turn, and stays still when the session is idle (no motion with Reduce Motion on).
20
46
  - **Notifications on your phone.** Add the board to your iPhone's Home Screen (iOS 16.4+), tap **Turn on notifications** under More, and you get a notification when Claude needs your OK or a Live reply lands. The Mac running the session sends it, encrypted end to end. Any browser with Push works the same.
47
+ - **Attach files to a Live message.** A paperclip in the box picks photos, the camera or files on a phone; on a Mac, drop or paste them too. Files go to the Mac running the session (kept a week, outside your projects) and Claude gets their paths. Big photos are scaled down; HEIC becomes JPEG.
48
+ - **Leftoff updated · Refresh.** After an update, an open board (a browser tab, or the Home Screen app on your phone) shows a bar with one tap to reload. It never reloads by itself, and what you were typing comes back.
49
+
50
+ ### Changed
51
+ - On phones the top row and the bottom bar slide away while you scroll down and come back when you scroll up, like Safari. They stay put while you type.
52
+ - The Live message box works like a chat app's: one rounded box that grows as you type, with a round ↑ inside to send. On a Mac, Enter sends and Shift+Enter adds a line; on a phone, Return adds a line.
53
+ - Pictures in a Live message open full screen: pinch, double-tap or scroll to zoom, swipe or use the arrows to go between them, and swipe down or press Esc to close. A picture in the box opens before you send it, too.
54
+ - PDFs in a Live message open full screen too, every page, with pinch, double-tap or +/− to zoom. A PDF shows its first page in the box and in your message.
55
+
21
56
  ### Fixed
57
+ - Live chat on your phone catches up when you come back to it, and keeps checking while Claude is working, so a reply never hides behind a **Working** bubble until you pull to refresh. If it can't reach your Mac for a while, the bubble says **Reconnecting…** instead of counting.
58
+ - Opening a session from a card shows right away: the card responds to the tap and the page opens at once while its details load, which is also faster now.
59
+ - Closing a preview puts you back on the picture or file you opened, even if the page refreshed meanwhile.
22
60
  - `leftoff upgrade` asks npm for fresh package info, so a version published minutes ago installs instead of failing with "No matching version".
23
61
  - Live chat: a message no longer stays on **Working** after Claude has answered. It settles when the turn ends, including a second message sent while Claude was busy ("Answered with the reply above"), and stuck ones clear when you update.
24
62
  - Live chat: a message sent while an older one was stuck now gets its own reply instead of sitting on **Starting**, and each message shows the time it was sent instead of a frozen "just now".