You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you set tool_result_images = "offload", AgentsView moves supported tool-result images into its asset store during ingestion and keeps readable references in the archive. New sessions retain image access without storing image bytes inside tool-result text.
The setting applies to new and resynced sessions, incremental updates, and late tool results. AgentsView publishes each asset before saving its reference, and keeps the inline image if publication fails. The Settings control accepts offload, and existing inline images can be moved with agentsview db migrate --images.
internal/db/artifact_import_session.go:75-78: ApplyArtifactImportedSession sanitizes and stores imported messages without calling the policy projection used by normal batch paths. With tool_result_images set to offload, inline input_image blocks from imported artifact segments remain in SQLite and no asset is created, making storage behavior depend on the ingestion route. Apply projectSessionBatchMessages or an equivalent policy projection before sessionAndMessagesForStorage, and add an artifact-import test asserting that offload produces an asset reference and asset file.
internal/sync/engine.go:17016; internal/sync/parsediff.go:731: ParseDiff now invokes the offload projection, which writes asset files via assets.Put even though ParseDiff is report-only; re-parsing can mutate the asset store and leave unreferenced objects. Use a side-effect-free projection for ParseDiff or disable offload while comparing, and verify that the assets directory remains unchanged.
Reported by: codex
internal/db/tool_result_images.go:393-406: Drop mode only strips input_image blocks. Existing agentsview_image placeholders created by offload retain their image_ref and linked markdown, so resync or imported sessions previously offloaded can continue rendering the asset after switching to drop. Extend drop projection to recognize offload placeholders, remove image_ref, and rewrite linked markdown to the normal non-asset placeholder.
internal/db/tool_result_images.go:369; frontend/src/lib/utils/markdown.ts:815: The new asset:// placeholders resolve to relative /api/v1/assets/... URLs, but image requests cannot include the bearer Authorization header and the resolver ignores configured remote server URLs, causing 401 errors or requests to the wrong host. Load assets through an authenticated fetch/blob URL or provide a narrowly scoped authenticated asset URL mechanism, resolve asset URLs against the configured remote API base, and add an authenticated remote-rendering test.
frontend/src/lib/utils/markdown.ts:843; internal/server/server.go:906; desktop/src-tauri/tauri.conf.json:25: loadAssetImages replaces fetched assets with blob: URLs, but the server and Tauri CSP img-src directives omit blob:, causing browsers to block the images. Add blob: to the relevant img-src directives in the server and desktop CSP configurations, and update CSP coverage accordingly.
internal/sync/engine.go:17029: Image projection writes asset files during session preparation before cwd filtering, preservation vetoes, and validation, so skipped or unstored sessions can leave unreferenced assets outside the configured archive scope. Keep preparation side-effect-free and publish assets only after all session acceptance gates pass, or use a no-write projection until the final database write boundary.
internal/db/artifact_import_session.go:76: Artifact imports preserve asset:// references but artifact transport does not include the corresponding asset bytes, so imported sessions on another archive render broken images unless the asset directory is copied separately. Include referenced asset objects in artifact transport, or downgrade unresolved references to readable placeholders during import and document the behavior.
Reported by: codex
internal/sync/secret_scan.go:163: Signal and secret computation uses a no-write offload projection, while storage falls back to inline content when an asset write fails. Derived values and secret match offsets can therefore refer to different content than the stored transcript. Compute derived state from the actual storage projection, including its write-failure fallback, or defer computation until the committed content is known.
Reported by: codex
internal/sync/codex_staging.go:553: Large Codex transcript staging writes image bytes to the persistent asset directory before CWD filtering, validation, and publication acceptance, leaving assets behind for sessions that are excluded, rejected, or fail later publication. Keep staged parsing side-effect free by retaining inline content in the private staging store, then call assets.Put only after acceptance. Alternatively, reliably remove every asset created by a staged parse that is not committed.
frontend/src/lib/utils/markdown.ts:824-825: getAssetURL URL-encodes the entire asset:// reference, producing an invalid asset request path that the asset route cannot resolve. Strip the asset:// prefix before encoding and append only the filename.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When you set
tool_result_images = "offload", AgentsView moves supported tool-result images into its asset store during ingestion and keeps readable references in the archive. New sessions retain image access without storing image bytes inside tool-result text.The setting applies to new and resynced sessions, incremental updates, and late tool results. AgentsView publishes each asset before saving its reference, and keeps the inline image if publication fails. The Settings control accepts
offload, and existing inline images can be moved withagentsview db migrate --images.Refs #1718