Commit Graph

75 Commits

Author SHA1 Message Date
Matthew Raymer
442582685e doc: removed AndroidManifest.xml directions since this already handled in the build. We should possibly have it somewhere else for understanding configuration since its not something auto-generated by Capacitor. 2025-07-23 05:32:20 +00:00
Matthew Raymer
e1b5367880 refactor: remove unused Vite configuration files and update documentation
Remove obsolete Vite configuration files that are no longer used by the build system
and update BUILDING.md to accurately reflect the current configuration structure.

**Removed Files:**
- vite.config.ts (47 lines) - Legacy configuration file
- vite.config.mts (70 lines) - Unused "main" configuration file

**Updated Documentation:**
- BUILDING.md - Corrected Vite configuration section to show actual usage

**Current Configuration Structure:**
- vite.config.web.mts - Used by build-web.sh
- vite.config.electron.mts - Used by build-electron.sh
- vite.config.capacitor.mts - Used by npm run build:capacitor
- vite.config.common.mts - Shared configuration utilities
- vite.config.utils.mts - Configuration utility functions

**Benefits:**
- Eliminates confusion about which config files to use
- Removes 117 lines of unused configuration code
- Documentation now matches actual build system usage
- Cleaner, more maintainable configuration structure

**Impact:**
- No functional changes to build process
- All platform builds continue to work correctly
- Reduced configuration complexity and maintenance overhead
2025-07-17 08:07:22 +00:00
Matthew Raymer
81a6c92068 Add comprehensive build scripts and Vite config documentation to BUILDING.md
- Add Appendix A: Build Scripts Reference with detailed documentation for all build scripts
- Add Appendix B: Vite Configuration Files Reference covering all Vite configs
- Add Appendix C: Build Script Integration explaining how components work together
- Document usage examples, exit codes, environment variables, and platform-specific considerations
- Provide complete reference for developers working with the multi-platform build system
2025-07-15 11:11:58 +00:00
Matthew Raymer
e106af4b98 docs: comprehensive build system documentation overhaul
- Expand BUILDING.md with detailed platform-specific build commands and workflows
- Add comprehensive web build script documentation with environment modes and Docker support
- Include complete iOS/Android build command reference with auto-run capabilities
- Document Electron build patterns with code signing and packaging instructions
- Add troubleshooting sections for common build issues across platforms
- Streamline README.md by removing redundant build system details
- Include build architecture overview with service worker and environment configuration
- Add comprehensive npm script reference for all build operations
- Document auto-run system and platform-specific testing workflows
- Include security considerations and code signing procedures for distribution

Improves developer experience with complete build system documentation and reduces onboarding friction for new contributors.
2025-07-15 10:17:34 +00:00
Matthew Raymer
12496589a3 Add single-instance enforcement to Electron app
- Implement app.requestSingleInstanceLock() to prevent multiple instances
- Add user-friendly dialog when second instance is attempted
- Focus and restore existing window instead of creating new instance
- Prevent database corruption and resource conflicts
- Update documentation with single-instance behavior details
2025-07-11 07:23:48 +00:00
Matthew Raymer
5f790dd90b refactor: implement clean modular Electron build system
Replace chained npm commands with single build-electron.sh script supporting
multiple build modes (dev/test/prod), platforms (windows/mac/linux), and
package types (appimage/deb/dmg). Add platform validation to prevent
cross-platform build issues and integrate cleaning functionality.

- Replace 15+ chained npm scripts with single modular build script
- Add platform detection and validation with early failure on mismatch
- Support environment-specific builds (development/test/production)
- Add comprehensive documentation in docs/electron-build-patterns.md
- Update BUILDING.md with new build patterns and examples
- Remove legacy electron:build:* scripts and consolidate under build:electron:*
- Add clean:electron script integrated into build process
- Improve error handling and user feedback throughout build process

This refactoring follows DRY principles, eliminates command chaining,
and provides a more maintainable and user-friendly build system.
2025-07-11 06:33:21 +00:00
Matthew Raymer
8b95cc8d2b Fix: markdownlint MD012/MD019 errors in build-pattern-conversion-plan.md
- Removed extra blank lines at end of file to resolve MD012 (no-multiple-blanks)
- Standardized heading spacing to resolve MD019 (no-multiple-space-atx)
- Stripped trailing whitespace and ensured file ends with a single newline

All changes maintain content integrity and bring the file into full markdownlint compliance.
2025-07-10 13:07:51 +00:00
Matthew Raymer
c1875a86ee Add automated iOS build script with version management
* Create scripts/build-ios.sh with comprehensive build automation
* Handle pkgx Ruby/Gem environment configuration issues
* Support command-line version and build number updates
* Add environment validation for macOS and Xcode requirements
* Update BUILDING.md with automated build script documentation
2025-07-01 07:59:37 +00:00
Matthew Raymer
df437b2310 revert BUILDING to master version 2025-06-26 13:03:18 +00:00
Matthew Raymer
ea0f49d5c3 WIP: add Electron platform configuration to Capacitor
- Add electron platform section to capacitor.config.json
- Configure deep linking with timesafari:// scheme
- Set up build options for macOS, Windows, and Linux
- Configure output directory and file inclusion
- Add platform-specific build targets (DMG, NSIS, AppImage)
- Support both x64 and arm64 architectures for macOS
- Set appropriate app categories for each platform

This enables building TimeSafari as a native desktop application
using Capacitor's Electron platform while maintaining existing
mobile and web functionality.
2025-06-25 12:50:46 +00:00
Matthew Raymer
ca014a52de feat: modernize Electron build process with Vite-based CSS injection
- Replace manual CSS injection hack with Vite plugin
- Configure Vite to handle both main process and renderer builds
- Update build scripts to work with proper Vite output structure
- Remove fix-inject-css.js post-build script
- Update BUILDING.md documentation
- Add build-modernization-context.md for future reference

Technical changes:
- vite.config.electron.mts: Add electron-css-injection plugin and proper output config
- scripts/build-electron.js: Simplify to work with Vite-generated files
- BUILDING.md: Update Electron build documentation
- doc/build-modernization-context.md: Document context and decisions

Security/maintenance improvements:
- Eliminate manual file manipulation hacks
- Ensure deterministic, reproducible builds
- Centralize build logic in Vite configuration
- Improve developer experience and CI/CD compatibility

Author: Matthew Raymer
2025-06-25 10:46:11 +00:00
Matthew Raymer
fe55d0b431 WIP: Fix Electron build issues and migrate to @nostr/tools
- Fix TypeScript compilation errors in platform services
- Add missing rotateCamera method and isNativeApp property
- Fix index.html path resolution for packaged Electron apps
- Create separate Vite config for Electron renderer process
- Migrate from nostr-tools to @nostr/tools via JSR for ESM compatibility
- Update all Vite configs to handle mixed npm/JSR package management
- Add comprehensive documentation in BUILDING.md
- Fix preload script path resolution in packaged builds

Resolves build failures with deep imports and missing UI in AppImage.
2025-06-25 08:53:21 +00:00
Matthew Raymer
94ac7d648d migration: move to bash based build scripts 2025-06-24 11:11:33 +00:00
419243b5cd on mobile: bump version to 1.0.2 and build to 35 2025-06-20 20:27:16 -06:00
96ee466022 bump to version 1.0.3-beta 2025-06-20 19:27:07 -06:00
a12a7b87e3 Merge branch 'migrate-dexie-to-sqlite' 2025-06-20 11:49:51 -06:00
30671d8fef bump to version 1.0.0-beta 2025-06-20 11:46:09 -06:00
a999b58766 bump to version 1.0.0 2025-06-20 11:20:57 -06:00
c7e2b53c9f bump to version 0.5.9 2025-06-20 10:41:48 -06:00
a53f9dcbd6 IndexedDB migration: set USE_DEXIE_DB to false, remove unused functions, add raw display of data 2025-06-19 09:47:18 -06:00
bd9e69174c update build instruction & package-lock.json 2025-06-18 17:32:41 -06:00
2b7c204013 bump to version 0.5.8 build 34 2025-06-18 16:31:31 -06:00
1a886524b6 bump to build 33 and version 0.5.7 2025-06-18 02:34:18 -06:00
911028849b bump to build 32 & version 0.5.6 2025-06-17 05:25:45 -06:00
69a9f5306f bump build to 31 and version to 0.5.5 2025-06-16 07:38:16 -06:00
25be1daab1 remove the deep-link autoVerify because it caused a build failure 2025-06-14 22:06:12 -06:00
12a76e2d40 incorporate one of the BUILDING steps directly into the file 2025-06-13 22:37:03 -06:00
63c6cb8dc4 bump to build 30 version 0.5.4 2025-06-13 22:36:28 -06:00
145f147ef0 fix optional message at top to not overflow 2025-06-12 20:10:31 -06:00
5cde144585 fix problem with user-profile page, and bump to build 29 & version 0.5.3 2025-06-12 19:16:02 -06:00
a55cf31a93 bump to build 26 and version 0.5.1 2025-06-11 00:46:46 -06:00
4e9c7bbf70 bump to build 25 & version 0.5.0 2025-06-09 09:26:21 -06:00
32f5c52474 fix linting 2025-06-09 09:09:54 -06:00
87a41d223f bump to build 22 version 0.4.7 (though I think the android capacitor.config.json appId is wrong) 2025-06-07 18:45:24 -06:00
987f9217de Merge branch 'sql-absurd-sql-back' 2025-06-07 17:18:10 -06:00
d5501d9db1 fix a non-existent description, move the description right below the image 2025-06-07 15:33:29 -06:00
7547e7a5f7 bump to build # 19 version 0.4.7 for mobile packages 2025-06-05 20:30:27 -06:00
705c6092a3 disable SQLite in Java & Swift (since they don't compile) & add SQL queueing on startup
At this point, the app compiles and runs in Android & iOS but DB operations fail.
2025-06-03 19:59:28 -06:00
Matthew Raymer
1d1b37125d merge(master): big merge for qrcode-reboot 2025-06-02 03:57:00 +00:00
c1d730f586 fix console error about "window" unavailable due to service worker 2025-05-26 15:49:44 -06:00
4500ab5038 fix BUILDING instructions 2025-05-25 21:29:57 -06:00
17727a3ff7 add to build instructions for electron on mac 2025-05-25 20:48:51 -06:00
aadd223248 various instructions (and their timeouts) 2025-05-22 12:27:37 -06:00
42228f4ea5 bump to build 18 version 0.4.7 to match the latest upload to ios 2025-05-20 20:27:38 -06:00
27a1fd827b add documentation, especially for build processes 2025-05-18 20:19:29 -06:00
Matt Raymer
36b755e859 feat(ui): disable all photo upload actions for unregistered users
- Updated ImageMethodDialog.vue to accept an isRegistered prop and show "Register to Upload a Photo" message instead of upload UI when not registered.
- Updated AccountViewView.vue to pass isRegistered to ImageMethodDialog and replace all profile photo add/upload buttons with the same message for unregistered users.
- Ensures consistent UX and prevents unregistered users from accessing any photo upload features.
2025-05-14 05:39:03 -04:00
c4a331d0e2 add documentation 2025-05-12 19:11:18 -06:00
Matthew Raymer
99cf47dd58 docs: add macOS build and packaging instructions
- Add detailed macOS build procedure for Electron app
- Include instructions for Intel and Universal builds
- Add code signing and notarization requirements
- Document running instructions for .app, .dmg, and .zip formats
- Add security warning handling instructions
2025-05-02 03:22:07 -07:00
Matthew Raymer
919ae92a3a docs: add Docker deployment instructions to BUILDING.md
- Add comprehensive Docker deployment section
- Include build and run instructions for development and production
- Add Docker Compose configuration example
- Include troubleshooting guide for common Docker issues
- Document best practices for production deployment
2025-04-26 10:42:32 +00:00
Matthew Raymer
8c616dad1f WIP: Fix Android file writing permissions and path handling
- Refactor writeFile method to properly handle Android Storage Access Framework (SAF) URIs
- Update path construction for Android to use Download directory with correct permissions
- Enhance error handling and logging throughout file operations
- Add detailed logging for debugging file system operations
- Fix permission checking logic to handle "File does not exist" case correctly
- Improve error messages and stack traces in logs
- Add timestamp to all log entries for better debugging
- Use proper directory types (ExternalStorage for Android, Documents for iOS)
- Add UTF-8 encoding specification for file writes

This is a work in progress as we're still seeing permission issues with Android file writing.
2025-04-09 13:05:42 +00:00