mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 15:22:55 +01:00
136 lines
4.2 KiB
Markdown
136 lines
4.2 KiB
Markdown
# 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] - Session 1 - 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 `.otf` → `font/otf`
|
|
- Added `.woff` → `font/woff`
|
|
- Added `.woff2` → `font/woff2`
|
|
- Fixed `.wav` case missing `break;` statement (was falling through to `.mp4`)
|
|
|
|
**Testing Notes**:
|
|
- New projects: Fonts load correctly ✅
|
|
- Legacy projects: Fonts still failing (needs investigation)
|
|
|
|
---
|
|
|
|
### [December 15, 2024] - Session 2 - Cline AI Assistant
|
|
|
|
**Summary**: Added font fallback mechanism to handle legacy projects that may store font paths differently. The issue was that legacy projects might store fontFamily as just the filename (e.g., `Inter-Regular.ttf`) while new projects store the full relative path (e.g., `fonts/Inter-Regular.ttf`).
|
|
|
|
**Files Modified**:
|
|
- `packages/noodl-editor/src/main/src/web-server.js` - Added font fallback path resolution
|
|
- When a font file isn't found at the requested path, the server now searches common locations:
|
|
1. `/fonts{originalPath}` - prepend fonts folder
|
|
2. `/fonts/{filename}` - fonts folder + just filename
|
|
3. `/{filename}` - project root level
|
|
4. `/assets/fonts/{filename}` - assets/fonts folder
|
|
- Added console logging for fallback resolution debugging
|
|
- Fixed ESLint unused variable error in `server.on('listening')` callback
|
|
|
|
**Technical Details**:
|
|
- Font path resolution flow:
|
|
1. First tries exact path: `projectDirectory + requestPath`
|
|
2. If not found and it's a font file (.ttf, .otf, .woff, .woff2), tries fallback locations
|
|
3. Logs successful fallback resolutions to console for debugging
|
|
4. Returns 404 only if all fallback paths fail
|
|
|
|
**Breaking Changes**:
|
|
- None - this enhancement only adds fallback behavior when files aren't found
|
|
|
|
**Testing Notes**:
|
|
- Requires rebuild and restart of editor
|
|
- Check console for "Font fallback:" messages to verify mechanism is working
|
|
- Test with legacy projects that have fonts in various locations
|
|
|
|
#### [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)
|