Skip to content

Implement AvifImageDef (CS-9917)#3968

Closed
lukemelia wants to merge 20 commits intomainfrom
cs-9917-implement-avifimagedef
Closed

Implement AvifImageDef (CS-9917)#3968
lukemelia wants to merge 20 commits intomainfrom
cs-9917-implement-avifimagedef

Conversation

@lukemelia
Copy link
Copy Markdown
Contributor

Summary

  • Add AvifDef image definition with AVIF format signature validation and dimension extraction via the ispe (ImageSpatialExtentsProperty) ISOBMFF box
  • Register .avif extension in FILEDEF_CODE_REF_BY_EXTENSION so AVIF files are indexed with width/height metadata
  • Add acceptance tests following the same pattern as PNG/WebP/GIF/JPEG/SVG image defs

Test plan

  • CI acceptance tests pass for avif image def filter (extracts dimensions, mismatch fallback, isolated rendering, indexing/file-meta, authenticated image loading)
  • Existing image def tests unaffected

🤖 Generated with Claude Code

lukemelia and others added 20 commits February 3, 2026 11:07
Introduce ImageDef (extends FileDef) with isolated, embedded, atom, and
fitted format components, and PngDef (extends ImageDef) with PNG dimension
extraction. The atom format shows a small thumbnail with the file name,
embedded renders the image at container width with natural height, and
fitted uses a CSS background-image to cover available space. Includes
a PNG metadata extractor and acceptance tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The check at line 277 was unreachable since Uint8Array is already
handled at line 258 in the if-else chain.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tests were using string content for .png files which caused the PNG
extractor to fail and fall back to ImageDef. Updated tests to use
actual PNG binary data so PngDef extraction succeeds.

- Add makeMinimalPng helper to test helpers
- Update card-basics-test to use valid PNG bytes
- Update card-endpoints-test to use valid PNG bytes and expect PngDef

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…s errors

When the server fails a cross-realm query (e.g. remote realm unreachable),
it returns error metadata in the relationship. Previously the client treated
the empty seed data as authoritative and showed no results. Now the client
detects queryErrors in the seed, skips caching the previousQueryString, and
triggers a live client-side search as a fallback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The FileDef render tests were using .png files, but with the new PngDef
implementation, PNG files are indexed as PngDef/ImageDef which renders
a background image instead of showing the filename as text. Changed to
.txt files so the tests properly verify FileDef's text-based rendering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* add invite user to room command

* add missing inviteUserToRoom method in matrixService

* add missing input to command

* fix lint
Adds .mcp.json with MCP server entries for Linear and Chrome DevTools.

To authenticate to Linear, run "/mcp" in Claude Code. This will open a
browser-based OAuth flow to connect your Linear account. Once
authenticated, Claude Code can interact with Linear issues, projects,
and other resources via the MCP protocol.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lukemelia
Copy link
Copy Markdown
Contributor Author

Moved into #3939

@lukemelia lukemelia closed this Feb 10, 2026
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.

4 participants