compassmock/src-tauri/icons/generate_icons.sh
Nicholai 40fdf48cbf
feat: add conversations, desktop (Tauri), and offline sync (#81)
* feat: add conversations, desktop (Tauri), and offline sync

Major new features:
- conversations module: Slack-like channels, threads, reactions, pins
- Tauri desktop app with local SQLite for offline-first operation
- Hybrid logical clock sync engine with conflict resolution
- DB provider abstraction (D1/Tauri/memory) with React context

Conversations:
- Text/voice/announcement channels with categories
- Message threads, reactions, attachments, pinning
- Real-time presence and typing indicators
- Full-text search across messages

Desktop (Tauri):
- Local SQLite database with sync to cloud D1
- Offline mutation queue with automatic replay
- Window management and keyboard shortcuts
- Desktop shell with offline banner

Sync infrastructure:
- Vector clock implementation for causality tracking
- Last-write-wins with semantic conflict resolution
- Delta sync via checkpoints for bandwidth efficiency
- Comprehensive test coverage

Also adds e2e test setup with Playwright and CI workflows
for desktop releases.

* fix(tests): sync engine test schema and checkpoint logic

- Add missing process_after column and sync_tombstone table to test schemas
- Fix checkpoint update to save cursor even when records array is empty
- Revert claude-code-review.yml workflow changes to match main

---------

Co-authored-by: Nicholai <nicholaivogelfilms@gmail.com>
2026-02-14 19:32:14 -07:00

24 lines
1.0 KiB
Bash

#!/bin/bash
# Generate placeholder PNG icons from SVG using ImageMagick if available
# Falls back to creating minimal placeholder files
if command -v convert &> /dev/null; then
convert icon.svg icon.png
convert icon.svg -resize 32x32 32x32.png
convert icon.svg -resize 128x128 128x128.png
convert icon.svg -resize 256x256 128x128@2x.png
convert icon.svg -resize 512x512 icon.icns 2>/dev/null || cp icon.png icon.icns
convert icon.svg -resize 256x256 icon.ico 2>/dev/null || cp icon.png icon.ico
echo "Icons generated with ImageMagick"
else
echo "ImageMagick not found - creating placeholder icon files"
# Create minimal placeholder files (1x1 blue pixel)
echo "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAADklEQVRYR+3BAQ0AAADCoPdPbQ43oAAA" | base64 -d > icon.png 2>/dev/null || touch icon.png
cp icon.png 32x32.png
cp icon.png 128x128.png
cp icon.png "128x128@2x.png"
cp icon.png icon.icns
cp icon.png icon.ico
echo "Placeholder icons created - replace with proper icons before release"
fi