Tree:
5d12c76693
ai-context
app_id_fix
build-ios
cross-platform-factory
cross-platform-factory-redux
d9085ced6df7dc7bdcd899959cea6489cab7f8b8
db-backup-cross-platform
deep-fix
deep_linking
design-tweaks-2023-12
elec-tweak
electron_fix_20250317
experimental_plugin
eye-slash
feat/image-feed-view-improvements
fix-service-worker
friend-tech-inspired-pwa-dialog
gifting-ui-2025-05
home-icon-enhancements
home-view-notification-improvements
homeview-cleanup-2025-03
homeview-refresh-2025-02
invite-client-side
main
master
new-storage
nostr
notification-request-permission-dialog
notify-time
offer-edit
passkey
passkey-cache
photo-reverse
plan-loc
playwright-pwa-install-test
profile-pic
project-gives
qrcode-capacitor
qrcode-reboot
registration-gate
remove-old-alerts
search-map-fix
side_step
simple-signer
split_build_process
sql-absurd-sql
sql-absurd-sql-back
sql-absurd-sql-further
sql-absurd-sql-further2
sql-wa-sqlite
starred-projects
sw-cleanup
tmp
trent-tweaks
tweaks
ui-fixes-2024-03
ui-fixes-2025-03
v-onboarding-2024-04
vite-version
why-migrate-fail
0.1.8
0.2.1
0.2.11
0.2.17
0.2.2
0.2.4
0.3.35
0.3.50
0.3.51
0.3.52
0.3.53
0.3.54
0.3.55
0.3.56
0.3.57
0.4.1
0.4.2
0.4.3
0.4.4
${ noResults }
7 Commits (5d12c76693b4b5ab577381e27cc64cb1fbeba14b)
Author | SHA1 | Message | Date |
---|---|---|---|
|
5d12c76693 |
fix(sqlite): enable database encryption in Electron app
The app is failing to initialize encryption because: - Database is created with 'no-encryption' mode - Capacitor SQLite plugin's encryption methods are available but unused - Secret table exists but encryption isn't properly initialized This commit will: - Enable encryption in database connection options - Initialize encryption secret before database open - Use Capacitor SQLite plugin's encryption methods - Ensure secret table is properly initialized This fixes the "No initial encryption supported" error that occurs when trying to save new identities or access encrypted data. Technical details: - Changes connection options to use 'secret' encryption mode - Adds setEncryptionSecret call before database open - Maintains existing secret table structure - Uses Capacitor SQLite plugin's native encryption support |
3 days ago |
|
e1f9a6fa08 |
refactor(sqlite): disable verbose logging in migration system
- Comment out all info and debug logs in sqlite-migrations.ts - Maintain logging structure for future debugging - Reduce console output during normal operation - Keep error handling and logging infrastructure intact This change reduces noise in the console while maintaining the ability to re-enable detailed logging for debugging purposes. |
5 days ago |
|
1e63ddcb6e |
feat(sqlite): enhance migration system and database initialization
- Add robust logging and error tracking to migration system - Implement idempotent migrations with transaction safety - Add detailed progress tracking and state verification - Improve error handling with recoverable/non-recoverable states - Add migration version validation and sequential checks - Implement proper rollback handling with error recording - Add table state verification and debugging - Fix migration SQL parsing and parameter handling - Add connection pool management and retry logic - Add proper transaction isolation and state tracking The migration system now provides: - Atomic transactions per migration - Automatic rollback on failure - Detailed error logging and context - State verification before/after operations - Proper connection management - Idempotent operations for safety This commit improves database reliability and makes debugging easier while maintaining proper process isolation. The changes are focused on the migration system and do not require restructuring the existing ElectronPlatformService architecture. Technical details: - Added MigrationError interface for better error tracking - Added logMigrationProgress helper for consistent logging - Added debugTableState for verification - Added executeWithRetry for connection resilience - Added validateMigrationVersions for safety - Enhanced SQL parsing with better error handling - Added proper transaction state management - Added connection pool with retry logic - Added detailed logging throughout migration process Note: This commit addresses the database initialization issues while maintaining the current architecture. Further improvements to the ElectronPlatformService initialization will be handled in a separate commit to maintain clear separation of concerns. |
6 days ago |
|
a6edcd6269 |
feat(db): add secure secret generation and initial data setup
Add proper secret generation using Node's crypto module and initial data setup for the electron environment. This commit: - Implements secure random secret generation using crypto.randomBytes() - Adds initial data migrations (002) with: - Secret table with cryptographically secure random key - Settings table with default API server - Contacts, logs, and temp tables - Improves SQL parameter handling for migrations - Adds proper transaction safety and rollback support - Includes comprehensive logging and error handling Security: - Uses Node's crypto module for secure random generation - Implements proper base64 encoding for secrets - Maintains transaction safety for all operations Testing: - Verified database structure via sqlite3 CLI - Confirmed successful migration execution - Validated initial data insertion - Checked index creation and constraints Note: This is a temporary solution for secret storage until a more secure storage mechanism is implemented. |
6 days ago |
|
b7b6be5831 |
fix(sqlite): resolve duplicate table creation in migrations
Split initial schema into two sequential migrations to prevent duplicate table creation and improve migration clarity. Changes: - Separate initial schema into two distinct migrations: * 001_initial_accounts (v1): Create accounts table & index * 002_secret_and_settings (v2): Create remaining tables (secret, settings, contacts, logs, temp) - Add version conflict detection to prevent duplicate migration versions - Ensure migrations are sequential (no gaps) - Update rollback scripts to only drop relevant tables Technical Details: - Add validateMigrationVersions() to check for: * Duplicate version numbers * Sequential version ordering * Gaps in version numbers - Validate migrations both at definition time and runtime - Update schema_version tracking to reflect new versioning Testing: - Verified no duplicate table creation - Confirmed migrations run in correct order - Validated rollback procedures - Checked version conflict detection |
6 days ago |
|
cbaca0304d |
feat(sqlite): implement initial database migrations
Add robust SQLite migration system with initial schema for TimeSafari desktop app. Includes comprehensive error handling, transaction safety, and detailed logging. Key Changes: - Add migration system with version tracking and rollback support - Implement initial schema with accounts, secret, settings, contacts tables - Configure SQLite PRAGMAs for optimal performance and reliability - Add detailed logging and state verification - Set up WAL journal mode and connection pooling Technical Details: - Use @capacitor-community/sqlite for native SQLite integration - Implement atomic transactions per migration - Add SQL validation and parsing utilities - Configure PRAGMAs: * foreign_keys = ON * journal_mode = WAL * synchronous = NORMAL * temp_store = MEMORY * page_size = 4096 * cache_size = 2000 * busy_timeout = 15000 * wal_autocheckpoint = 1000 Note: Current version has duplicate migration v1 entries that need to be addressed in a follow-up commit to ensure proper versioning. Testing: - Verified migrations run successfully - Confirmed table creation and index setup - Validated transaction safety and rollback - Checked logging and error handling |
6 days ago |
|
28c114a2c7 |
fix(sqlite): resolve migration issues and enhance documentation
This commit addresses critical SQLite migration issues and significantly improves code documentation and error handling. The changes include both functional fixes and comprehensive documentation updates. Key Changes: - Fix migration name binding issue by switching to direct SQL statements - Add proper SQL value escaping to prevent injection - Implement comprehensive error handling and recovery - Add detailed logging throughout migration process - Enhance transaction safety and state verification Documentation Updates: - Add comprehensive module-level documentation - Document all major functions with JSDoc - Add security and performance considerations - Include detailed process flows - Document error handling strategies Technical Details: - Switch from parameterized queries to direct SQL for schema_version updates - Add proper string escaping for SQL values - Implement state verification before/after operations - Add detailed debug logging for migration process - Enhance error recovery with proper state tracking Security: - Add SQL injection prevention - Implement proper value escaping - Add transaction isolation - Enhance state verification - Add error sanitization Performance: - Optimize transaction handling - Implement efficient SQL parsing - Add connection pooling - Reduce locking contention - Optimize statement reuse Testing: - Verified migration process with fresh database - Tested error recovery scenarios - Validated transaction safety - Confirmed proper state tracking - Verified logging completeness Breaking Changes: None Migration Required: Yes (database will be recreated) Author: Matthew Raymer |
7 days ago |