- Memory: a Venice character now remembers your chats like any other (the notes ride beside Venice's own prompt).
- Adult: the 18+ toggle works on a Venice character too. Venice's adult ones stay adult; a safe-for-work one can be
marked adult by you, after the 18+ check.
- Port (on the Remix tab): Havre interviews a Venice character and writes them down as a card of your own: same
name, same face, their memory carried over, credited to their creator. Remix still makes someone new.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
A Venice character brings its own prompt; Havre now adds a short system message beside it with what they remember
of your chats and, for one marked adult, the 18+ rule. Porting: an interview made for keeping the same character
(PORT_INTERVIEW) and a writer that turns the answers into a Havre card of them, in its own words, with the credit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
Phones don't draw a video's first frame until it plays, so clip tiles were black. The gallery now takes a frame
from each clip (a hidden, muted video, seeked a moment in, drawn to a canvas) and shows it as a picture.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
Delete takes one message out of a chat (yours or theirs). Edit changes something you said and sends it again: the
replies after it are replaced. A chat opens scrolled to the bottom, on a phone too (it used to be drawn while
hidden, and a hidden box can't scroll), and stays there while its photos and clips load.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
An installed app on desktop opens /open in another window, which gets none of this tab's session storage. The
link now leaves the key for /open in local storage for a minute; /open takes it and deletes it at once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
A small script, loaded first on /open/, copies Havre's key (this tab's, or the remembered one) into openvenice's
own session slot when openvenice has none yet. The page is the same origin, so nothing leaves the browser.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C
tools/open.sh clones nikshepsvn/openvenice (MIT) at a pinned commit, builds it with base /open/, and puts the
build in open/ with its license. tools/build.sh runs it, so the refresh workflow publishes it like the rest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQqGFv54JJTw7p3rgGjP7C