Skip to content

Ft/updates#1

Merged
codehakase merged 10 commits intomainfrom
ft/updates
Feb 3, 2026
Merged

Ft/updates#1
codehakase merged 10 commits intomainfrom
ft/updates

Conversation

@codehakase
Copy link
Copy Markdown
Owner

Summary

This PR applies some updates from a weekend sprint. The following were added:

  • Auto copy config for capture and edit
  • Fix annotation scaling bug
  • Update redaction tool
  • Add Github workflow to build dmg artifact for testing and usage

- Add debugLog/debugError utilities to lib/utils.ts
- Replace console.log with debugLog in useScreenshot.ts listener setup
- Replace console.log with debugLog in useEditor.ts listener setup
- Update PRD to mark Repo Audit Findings as complete
Add history tracking for all annotation operations:
- Track add/remove/transform operations on canvas objects
- Save state to history after drawing, deleting, and modifying
- Implement undo (Cmd+Z) and redo (Cmd+Shift+Z) keyboard shortcuts
- Add undo/redo buttons to editor toolbar
- Limit history to 50 entries to prevent memory issues
- Properly serialize/deserialize fabric objects for restoration
The redact/blur tool now uses Fabric.js Pixelate filter to actually
pixelate the underlying image region instead of drawing a solid dark
rectangle. This provides true content redaction while maintaining
visual context of the redacted area.

Changes:
- Add createBlurRegion helper that extracts image region and applies
  Pixelate filter with configurable block size
- Convert blur rectangle to pixelated image on mouse up
- Store blurRegionData metadata for proper undo/redo serialization
- Add Image type handling in recreateObject for history restoration
- Update tool settings text from "redact" to "pixelate"
Enable Fabric.js enableRetinaScaling for sharp rendering on high-DPI
displays. Previously the canvas was blurry on MacBook Retina screens
because enableRetinaScaling was disabled without manual DPR handling.

Changes:
- Enable enableRetinaScaling: true in Fabric canvas initialization
- Add diagnostic logging with DPR, screen dimensions, and retina detection
- Explicitly pass cssOnly: false to setDimensions calls for clarity
- Zoom state preserved via hasCalculatedInitialZoomRef to prevent jumps
Apply rounded corners (rx/ry) to background rectangle so the entire
canvas area has rounded corners in preview. Add canvas-level clip path
during export to produce PNG output with transparent corners when
borderRadius > 0, ensuring visual consistency between preview and
exported image.
- Add release.yml for tagged version releases (v*)
- Add tip.yml for nightly builds from main branch
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