Skip to content

FreeVideo 0.4.26 - #569

Merged
KBRASK merged 47 commits into
mainfrom
release/0.4.26-public
Oct 30, 2026
Merged

KBRASK merged 47 commits into
mainfrom
release/0.4.26-public

Conversation

@KBRASK

@KBRASK KBRASK commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

0.4.26: Recent videos open at every window width, when every download source fails the launcher shows the reason for each source, and replacing a person runs on 16 GB Macs.

  • Creation panel: "Recent videos" can be opened at every window width; in a narrow window the list opens over the preview. The @ character menu shows each character's face close-up instead of the full-length picture. When a part length is refused, the length panel says whether it is too short or too long instead of asking to try again. When the connection to FreeVideo drops briefly, the queue no longer reports browser extension interference; a loop that cannot submit its next job stops with the error instead of retrying.
  • Install: when every source for a download fails, the launcher's error card lists each source with its reason and time, and the copied details and the diagnostic report include the same list. Git errors name the folder of the dependency. Account names, passwords, tokens and local paths are removed from the listed addresses. The video text encoder can also be downloaded from ModelScope, so a first install no longer depends on Hugging Face alone for this file; a download that fails the integrity check falls back to Hugging Face.
  • Prompt enhancement: when the connection to FreeVideo is lost, a connection-lost message is shown instead of the browser's raw error, and a failed progress check is retried before the rewrite stops. After a rewrite, characters mentioned with @ are still shown by name in the prompt box. When the prompt or references change during a rewrite, a note asks for a new rewrite instead of an error with a report button.
  • Prompt enhancement: the rewrite tab shows the scene description followed by a separate "Sound:" section instead of the model's field names. With several shots, each shot is its own paragraph labelled with its number and start time. A rewrite that is not edited is submitted exactly as the model wrote it. The default prompt in a prompt box that has not been edited uses the same layout and is also submitted unchanged. A prompt filled in with "Reuse settings" or opened from a workflow saved by an earlier version also uses this layout and, when not edited, is submitted unchanged.
  • Editor: when the last edit can no longer be found, a blank edit opens with a message saying so; clicking the edit name at the top opens another edit.
  • Settings: a new AI Agent section chooses whether an agent asks before starting a film and before a long reshoot, and how many minutes make a reshoot long. Both ask by default. When an agent's white-model scene fails, the agent receives the reason instead of a generic connection error.
  • Install: when the NVIDIA driver is installed but not running, for example right after it was installed, the launcher's error card asks for a restart instead of showing the raw detection error. When the NVIDIA driver is missing, the card adds one line naming the graphics card Windows lists; when Windows lists only AMD or Intel graphics, the card says FreeVideo supports NVIDIA graphics cards only.
  • Video generation: when a generation falls back to a freshly started worker, the result is the same as in the worker that was already running. After a driver or FreeVideo update, or on another graphics card in the same computer, the first generation no longer fails because an attention method the card cannot run was chosen.
  • Image generation: when Windows runs out of virtual memory while loading the image model, the failure card says so and suggests closing other apps or increasing virtual memory.
  • Linux: when no file manager can open a folder, the launcher and the image history show a message, and the image history also shows the images folder. The default save location follows the desktop's Documents folder. Curly apostrophes in English text are drawn at normal width instead of full width.
  • Mac: encoding a reference video (replace person, extending a video) needs about half the unified memory per tile, so it runs on 16 GB Macs where it stopped with a unified-memory error, including at the lowest resolution. Results are unchanged.
  • Mac: before installing, the launcher checks whether the disk of the chosen folder supports the file operations the Python environment needs. Without hard links the installation copies files instead; when links or renaming are not supported, a card asks for a folder on the Mac's built-in disk before anything is installed.

KBRASK added 30 commits October 25, 2026 06:48
A system-managed paging file grows on demand, so only a request whose unpinned
weights cannot fit in the headroom is refused early.
The commit-headroom check in the image plan did not change admission for loaded
weights and is removed. Error 1455 is recognised by its own code first, a hidden
earlier error is ignored, and the worker reports a host-memory shortage that the
status and the page turn into their own message.
The box shows only the rewritten body with character names; generating
writes the subject definitions from the character cards, as it does for
typed text.
…t be opened

Open folder: use the reviewed wording, and show a note with the images folder in the image history when the folder cannot be opened.
The Enhanced tab showed the rewrite model's section names, the summary,
the retention analysis and the shot markers. The box now shows the
scene, then a Sound paragraph with any music. A rewrite with several
shots shows each shot as its own paragraph, numbered with its start
time. Generating sends the rewrite in the model's sections: unchanged
when the box is untouched; after an edit, with the edited shots and
sound, the definitions and the retention analysis, and without the
summary. The prompt box keeps room below the last line.
Where Segoe UI is missing, a curly apostrophe fell to the CJK faces in
the interface font list and showed a full em wide, so "hoverbike's"
read as two words. The single curly quotes alone now come from a Latin
face (Noto Sans, DejaVu Sans or Liberation Sans) after Segoe UI; other
text and the Chinese double quotes are unchanged. The page-check card,
which styles itself, adds the same faces.
A part length that is disabled for this picture size is no longer the advice in the length panel; the panel names the size limit instead.
…utes field on its own row

The box no longer snaps back while the save runs and returns only if the save fails. The threshold input
moves below the checkbox so it holds its width on narrow screens. Adds a real-page test for the section.
When a Git, Python, package or file download fails on every source, keep
one row per source with its host, route, error class, a short message and
the time spent. The rows are added to the error text, the copied details
and the exported diagnostic report, and the launcher error card shows one
short localized line per source. Credentials, tokens, query strings and
local paths are removed before the text is stored or shown. The Git error
also names the dependency that failed. Sources, their order and timeouts
are unchanged.
… limit in exact seconds

A save whose answer was lost can still have taken effect, so after a failure the section reads the policy
back and shows it, or says the result is unconfirmed. The reshoot limit is kept and written in exact
seconds (minutes may be decimal) so a limit set elsewhere is not rounded by switching the control off and
on. Test fixtures for the Settings dialog gain the new section.
Mac setup probes the install folder for links and renames; copies when hard links are unavailable, and an unsupported disk gets the disk card
Shorten the certificate, access-denied, exit-code, checksum, size, slow
and faster-source reasons shown per source. The English source list in
the copied details and the report is unchanged. Add a narrow-window test
with six source lines.
Source reasons now remove whole Windows paths, including paths with
spaces, UNC shares and long-path prefixes, in the engine and in the web
error report. Bare proxy credentials (user, password and host in one
string) and access tokens are removed wherever they appear. Byte output
is decoded before the reason is taken. When every package source fails
on a full disk, the card keeps the disk space guidance. The failure path
font size check is restored.
Each source line now wraps inside the host, after the host or route,
after a comma, or before the time. The reason words, the route and the
time are kept together on screen with word joiners and no-break spaces,
since Qt text has no keep-all or nowrap span. The shown text is
unchanged.
Below 1680 px the Recent videos column and its button were hidden, so a
1920 screen at 125% or 150% scaling had no way to go back to an earlier
video. The button now shows at every width. Wide windows keep the column
as before. Narrower windows open the list as a panel over the preview,
below the preview tools, without changing the settings column; on phones
it spans the width. The panel starts closed, keeps the wide column's
saved state separate, and closes on a choice, a press outside, the
button, or Escape (before Escape closes the studio). It uses
aria-expanded and returns focus to the button after Escape or a choice.

Tests cover 1280, 1536 and 400 px widths and keep the wide checks.
…erver, and retry status reads

Prompt enhancement showed the browser's raw network error. Network errors now use
the shared connection-lost wording, and a status read that fails is retried up
to three times in a row before the rewrite is cancelled.
…t carries extension evidence

Show the browser-extension message in prompt enhancement when a failed request carries extension evidence
Mac: input-video encoding fits tighter unified-memory allowances (stage-wise weights, fewer live tile tensors, host-memory retry)
A rewritten prompt now shows each mentioned character by its name with
a leading at sign in the prompt box instead of <Subject N>. When the
prompt is generated, the names become <Subject N> again and the
rewrite's own subject definitions are used once, without a second
definitions paragraph. Rewrites saved earlier are sent unchanged.
…al wording

Carry the host-memory marker from the image status row to every failure card, with the final virtual-memory wording
The length panel asked to try again when the requested part length was refused. It now says whether the part length is too short or too long for this size.
An untouched prompt box shows its starter prompt in the same readable form as an enhanced rewrite, and still generates it exactly as written.
…r a long reshoot

Settings gains an AI Agent section with two controls on the existing confirmation policy: ask before an
agent starts a film, and ask before a reshoot expected to take more than a set number of minutes. Both
default to asking, so behaviour is unchanged until the user changes them. The section appears only when
the Agent interface is on and the policy was read.
…nd a sound paragraph

A prompt in the model's sections put in the box from elsewhere (Reuse settings, a
workflow saved by an older version, the node on the canvas) now shows in the same
readable form as a rewrite and is sent as written until the box is replaced or
cleared. Text filled in from elsewhere starts a new scene instead of editing the
rewrite on show, and a rewrite saved in sections keeps its place.
KBRASK added 17 commits October 25, 2026 06:42
…eration

The image plan now also respects the commit headroom, and error 1455 from a
model read is reported as a memory shortage with its own message instead of
unreadable model files.
Show the detected graphics card on the missing-driver card, and say NVIDIA only when just AMD or Intel adapters are listed
…sages

A failed white-model scene carries its error as text, which the MCP error
formatter treated as a structured error and turned into a generic transport
error. The formatter now returns text errors as their own message, and the
white-model submit tool says the code must export function build(THREE).
Pin the native attention kernel order so the text refiner gives the same result in a fresh worker as in the resident one
When the saved kernel checks no longer match the GPU (another card in the
same machine, a driver update, or the first run after an update), automatic
planning offered every installed attention backend and could pick
SageAttention 2 on a GPU it has no kernels for, which then failed on the
first attention call.

Planning without matching checks now leaves out two kinds of backend:
SageAttention 2 on a compute capability it has no kernels for, and a
backend whose last check failed on the same architecture with the same
torch, CUDA and attention packages. Matching checks are used exactly as
before, a backend that passed its last comparable check stays offered, and
execution still checks the GPU itself before running. The planning record
in the diagnostic report now says which checks the attention choice rested
on and what was left out.
…eration

Release notes for 0.4.26: first generation after an update no longer picks an attention method the card cannot run
…cking extension

A window.fetch that is not native only means some script wraps it. The queue
poll treated that as proof of a blocking browser extension: the first failed
read showed the extension card and stopped the poll loop, also when the engine
was merely unreachable for a moment, and the card stayed after the engine came
back. A wrapped fetch alone is now counted like any other lost connection:
three failed reads in a row before the card, the loop kept, and the card
cleared by the next successful read. An extension frame in the stack or a
blocked request still shows the card at the first failure.
…e not plain outages

Follow-up to the wrapped-fetch change. A loop's refill request whose reply was
lost is no longer retried as a lost connection (the server may have accepted
it, so the next round would queue a second job): the loop stops with the error.
The failure count of the queue poll now restarts only after the whole round,
including the loop's history read, succeeded, so a history read that keeps
failing reaches the third-failure notice and the loop limit. Adds node and
browser tests for the wrapped-fetch cases.
@KBRASK
KBRASK merged commit 54f1edf into main Oct 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant