Files
OpenNoodl/dev-docs/tasks/phase-2/TASK-006-preview-font-loading/CHANGELOG.md
Richard Osborne ea45e8b3a3 fix(preview): add missing font MIME types to web server
- Added MIME type mappings for .otf, .woff, and .woff2 font formats
- Fixed missing break statement after .wav case (was falling through to .mp4)
- Fonts now load correctly in editor preview without 404 errors
- Resolves OTS parsing error messages in console

The web server was already serving project directory files correctly,
but browsers were rejecting font files due to missing/incorrect MIME types.

Related to TASK-006
2025-12-15 22:57:48 +01:00

3.4 KiB

TASK-006 Changelog

Overview

This file tracks all changes made during TASK-006: Fix Custom Font Loading in Editor Preview.

Problem: Custom fonts don't load in editor preview due to dev server not serving project directory assets.

Solution: (To be documented as implementation progresses)


Changes

[December 15, 2024] - Cline AI Assistant

Summary: Fixed custom font loading in editor preview by adding missing MIME types to web server configuration. The issue was simpler than expected - the server was already serving project files, but was missing MIME type mappings for modern font formats.

Files Modified:

  • packages/noodl-editor/src/main/src/web-server.js - Added MIME type mappings for all font formats and fixed audio fallthrough bug
    • Added .otffont/otf
    • Added .wofffont/woff
    • Added .woff2font/woff2
    • Fixed .wav case missing break; statement (was falling through to .mp4)

Files Created:

  • None

Files Deleted:

  • None

Configuration Changes:

  • MIME types configured in getContentType() function
  • Font formats now properly recognized: .ttf, .otf, .woff, .woff2

Breaking Changes:

  • None - this fix only affects development preview server

Testing Notes:

  • Manual testing required: Create project with custom fonts and verify they load in preview
  • Test all font formats: TTF, OTF, WOFF, WOFF2
  • Verify no 404 errors in console
  • Verify no "OTS parsing error" messages

Known Issues:

  • None expected - changes are minimal and isolated to MIME type configuration

Next Steps:

  • Build and test editor with changes
  • Create test project with multiple font formats
  • Verify fonts load correctly in preview
  • Test project switching behavior

[Date] - [Developer Name]

Summary: Brief description of what was accomplished in this session

Files Modified:

  • path/to/file.ts - Description of changes and reasoning
  • path/to/file2.tsx - Description of changes and reasoning

Files Created:

  • path/to/newfile.ts - Purpose and description

Files Deleted:

  • path/to/oldfile.ts - Reason for removal

Configuration Changes:

  • webpack.config.js: Added middleware for project asset serving
  • MIME types configured for font formats

Breaking Changes:

  • None expected (dev server only)

Testing Notes:

  • Manual testing performed: [list scenarios]
  • Edge cases discovered: [list any issues]
  • Performance impact: [measurements if relevant]

Known Issues:

  • [Any remaining issues to address]

Next Steps:

  • [What needs to be done next]

Implementation Notes

(Document key decisions and discoveries here as work progresses)

Architecture Decision

  • Chose Option [A/B/C] because...
  • Dev server implementation details...

Security Considerations

  • Path sanitization approach: ...
  • Directory traversal prevention: ...

Performance Impact

  • Asset serving overhead: ...
  • Caching strategy: ...

Testing Summary

(To be completed after implementation)

Tests Passed

  • Custom fonts load in preview
  • Multiple font formats work
  • Project switching works correctly
  • No 404 errors in console
  • Security tests pass

Tests Failed

  • (Document any failures and solutions)

Final Status

Status: 📋 Not Started

Outcome: (To be documented upon completion)

Follow-up Tasks: (List any follow-up work needed)