Commit graph

271 commits

Author SHA1 Message Date
MrPiglr
b3c308b2c8 Add functional marketplace modules, bottom nav bar, root terminal, arcade games
- ModuleManager: Central tracking for installed marketplace modules
- DataAnalyzerWidget: Real-time CPU/RAM/Battery/Storage widget (unlocked by Data Analyzer module)
- BottomNavBar: Navigation bar for Projects/Chat/Marketplace/Settings
- RootShell: Real root command execution utility
- TerminalActivity: Full root shell with neofetch, sysinfo, real Linux commands
- Terminal Pro module: Adds aliases (ll, la, h), command history
- ArcadeActivity + SnakeGame: Pixel Arcade module unlocks retro games
- fade_in/fade_out animations for smooth transitions
2026-02-18 22:03:50 -07:00
b04b8f8dca
Merge pull request #5 from AeThex-Corporation/claude/wizardly-mclaren
fix: separate platform detection from responsive design, fix boot scr…
2026-02-14 00:21:42 -07:00
MrPiglr
51ed8371b9 fix: separate platform detection from responsive design, fix boot screen crash on web
The boot screen was rendering as a black screen on web because
useNativeFeatures() called Capacitor's Network.getStatus() without
checking if the app was running on a native platform. This crashed the
entire AeThexOS component during mount.

Additionally, tablet testing code in use-platform-layout.ts was mixing
viewport width checks (responsive design) with native platform detection,
causing layout confusion between web and mobile builds.

Changes:
- Add isMobile() guards to all Capacitor plugin calls in useNativeFeatures
- Remove tablet viewport-width branch from usePlatformLayout (platform
  detection should not check window.innerWidth)
- Rename isMobileDevice() to isSmallViewport() in embed-utils to clarify
  it's a responsive check, not a platform check
- Rename local isMobile state to isNarrowViewport in os.tsx DesktopWidgets
  to prevent shadowing the platform.ts isMobile() import
- Remove dead PlatformAdaptiveExample.tsx (not imported anywhere)
- Fix watchLocation TypeScript error (watchId is Promise<string>)
- Add web fallbacks for clipboard and browser in useNativeFeatures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 00:09:06 -07:00
MrPiglr
33e0a26d35 modified: client/src/lib/platform.ts 2026-02-12 20:55:32 -07:00
MrPiglr
cc1688110c modified: client/src/main.tsx 2026-02-12 20:38:28 -07:00
MrPiglr
afb0b13ef6 modified: android/app/src/main/java/com/aethex/os/MainActivity.java 2026-02-12 20:15:30 -07:00
MrPiglr
711efba2da modified: android/app/src/main/java/com/aethex/os/MainActivity.java 2026-02-12 15:46:31 -07:00
MrPiglr
98159927b7 fix(os): add Enter key support on boot screen
- Add handleBootKeyPress to handle keyboard input during boot
- Attach onKeyDown handler to both mobile and desktop boot screens
- Add tabIndex={0} to make boot screens focusable
- Pressing Enter now triggers handleGuestContinue to enter system

Fixes: Enter key does nothing on boot screen
2026-02-12 15:37:45 -07:00
MrPiglr
94044be8d1 fix(platform): disable aggressive mobile detection for web browsers
- Comment out user agent-based mobile detection
- Only detect mobile when native bridges present (Capacitor/Flutter/Cordova)
- Fixes web browsers showing mobile UI instead of desktop OS
- Users on aethex.app will now see desktop interface

Desktop browsers should show desktop OS, not mobile app UI
2026-02-12 15:31:35 -07:00
MrPiglr
526bfc0438 fix(server): remove root JSON endpoint to allow static file serving
- Remove GET '/' endpoint that returned API status JSON
- Allows static middleware to serve React app at root
- Healthcheck still works at GET /health
- Fixes aethex.app showing JSON instead of web app
2026-02-12 15:24:43 -07:00
MrPiglr
596629a219 deleted: android/app/src/main/assets/public/test_complex.html 2026-02-12 15:24:00 -07:00
MrPiglr
145bd879ce feat(build): switch to single-file build to bypass android webview local file restriction 2026-02-12 15:20:08 -07:00
MrPiglr
8f3654fd34 modified: dist/public/index.html 2026-02-12 15:12:11 -07:00
MrPiglr
8efae10378 fix(build): output server bundle as .cjs for ES module compatibility
- Change server output from index.js to index.cjs
- Update start script to run index.cjs
- Fixes 'module is not defined' error on Railway
- CommonJS format explicit with .cjs extension

Resolves module format conflict where package.json has 'type: module'
but server bundle uses CommonJS format
2026-02-12 15:10:41 -07:00
MrPiglr
36a7305cf6 chore(android): remove deprecated clearFormData call 2026-02-12 15:08:40 -07:00
MrPiglr
0212e2ff5c fix(webview): try absolute file path for external script 2026-02-12 15:02:02 -07:00
MrPiglr
0caf77b542 fix(railway): change healthcheck path to /health
- Change from '/' to '/health' to avoid static file catch-all
- Root '/' is caught by serveStatic() in production
- /health endpoint returns JSON status correctly
2026-02-12 13:48:21 -07:00
MrPiglr
213efdeb71 fix(webview): test loading external js file relative to html 2026-02-12 13:46:11 -07:00
MrPiglr
61ce24a320 fix(webview): restore hardware acceleration and load test_red.html to establish baseline 2026-02-12 13:40:22 -07:00
MrPiglr
76a39ff701 fix(webview): try direct html injection to verify rendering capability 2026-02-12 13:37:18 -07:00
MrPiglr
504876ee72 fix(webview): disable hardware acceleration to fix black screen rendering 2026-02-12 13:22:44 -07:00
MrPiglr
823804c0bf fix(webview): add 1s delay and aggressive cache clear to fix black screen race condition 2026-02-12 13:20:26 -07:00
MrPiglr
68d2bccb50 fix(vercel): remove invalid JSON syntax in vercel.json
- Remove duplicate 'version' key
- Remove JavaScript comments (not valid in JSON)
- Remove duplicate 'env' key

Fixes invalid vercel.json error on aethex.app deployment
2026-02-12 13:18:22 -07:00
MrPiglr
4b5cac8154 fix(webview): revert to known working test_red.html to confirm reliability 2026-02-12 13:12:04 -07:00
MrPiglr
054231bb75 fix(webview): try minimal test case to reproduce success 2026-02-12 13:08:47 -07:00
MrPiglr
36f1e9ec8b fix(webview): try single script block in body 2026-02-12 13:01:07 -07:00
MrPiglr
66ad61b8a0 fix(server): add root healthcheck endpoint for Railway deployment
- Add root '/' endpoint that responds with JSON status
- Make download routes handle missing installers gracefully
- Add error handling around download routes registration
- Add logging for download routes initialization

Fixes Railway healthcheck failures by ensuring server responds at root path
2026-02-12 12:55:59 -07:00
MrPiglr
f099ffd8a6 fix(webview): try moving script to body to bypass android 13 restriction 2026-02-12 12:53:06 -07:00
MrPiglr
287a9a4523 fix(webview): use test_script_head.html to isolate script in head 2026-02-12 12:46:46 -07:00
MrPiglr
01145ad755 new file: EMBED_CODES.html 2026-02-12 12:42:48 -07:00
MrPiglr
f7250d1ddc fix(webview): use test_red.html to isolate viewport meta tag 2026-02-11 23:45:53 -07:00
MrPiglr
6b766207e4 fix(webview): use test_complex.html to isolate specific tag causing failure 2026-02-11 23:08:31 -07:00
MrPiglr
537900cb71 fix(webview): use index_nomodule.html to test if ESM is the blocker 2026-02-11 22:37:41 -07:00
MrPiglr
bcc4926161 fix(webview): hardcode magenta debug background to diagnose load failure 2026-02-11 22:33:09 -07:00
MrPiglr
a15b5b1015 feat: integrate AeThex Language across entire OS ecosystem
Major Features:
- Custom .aethex programming language with cross-platform compilation
- Compiles to JavaScript, Lua (Roblox), Verse (UEFN), and C# (Unity)
- Built-in COPPA compliance and PII detection for safe metaverse development

Integration Points:
1. Terminal Integration
   - Added 'aethex' command for in-terminal compilation
   - Support for all compilation targets with --target flag
   - Real-time error reporting and syntax highlighting

2. IDE Integration
   - Native .aethex file support in Monaco editor
   - One-click compilation with target selector
   - Download compiled code functionality
   - Two example files: hello.aethex and auth.aethex

3. Curriculum Integration
   - New "AeThex Language" section in Foundry tech tree
   - Three modules: Realities & Journeys, Cross-Platform Sync, COPPA Compliance
   - Certification path for students

4. Documentation Site
   - Complete docs at /docs route (client/src/pages/aethex-docs.tsx)
   - Searchable documentation with sidebar navigation
   - Language guide, standard library reference, and examples
   - Ready for deployment to aethex.dev

5. npm Package Publishing
   - @aethex.os/core@1.0.0 - Standard library (published)
   - @aethex.os/cli@1.0.1 - Command line compiler (published)
   - Both packages live on npm and globally installable

Domain Configuration:
- DNS setup for 29+ domains (aethex.app, aethex.co, etc.)
- nginx reverse proxy configuration
- CORS configuration for cross-domain requests
- OAuth redirect fixes for hash-based routing

Standard Library Features:
- Passport: Universal identity across platforms
- DataSync: Cross-platform data synchronization
- SafeInput: PII detection (phone, email, SSN, credit cards)
- Compliance: COPPA/FERPA age gates and audit logging

Documentation Package:
- Created aethex-dev-docs.zip with complete documentation
- Ready for static site deployment
- Includes examples, API reference, and quickstart guide

Technical Improvements:
- Fixed OAuth blank page issue (hash routing)
- Added .gitignore rules for temp files
- Cleaned up build artifacts and temporary files
- Updated all package references to @aethex.os namespace

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-11 22:28:05 -07:00
MrPiglr
d74c99a72d fix(android): force manual file load to bypass black screen issue 2026-02-11 21:49:31 -07:00
MrPiglr
a3336954d4 new file: AeThex-OS/.gitignore 2026-02-05 22:47:36 -07:00
MrPiglr
4642d7a76a modified: client/index.html 2026-02-03 11:59:47 -07:00
MrPiglr
293d3c0d02 new file: client/src/lib/embed-utils.ts 2026-02-03 10:25:47 -07:00
MrPiglr
ad5f15271e fix: resolve 55+ TypeScript errors and cleanup codebase
- Create server/auth.ts with requireAuth, optionalAuth, requireAdmin middleware
- Fix os.tsx: add Target/Check imports, fix useLayout->usePlatformLayout, fix achievements types
- Fix game-routes.ts: add all Request/Response types, fix session access
- Fix revenue.ts: org_id -> organization_id
- Fix votes.ts: currentSplit scope, created_by type
- Fix dashboard.ts: remove unsupported .distinct() method
- Fix game-dev-apis.ts: header/body type assertions
- Upgrade api/execute.ts: add Python simulation, JSON validation, HTML/CSS passthrough
- Upgrade app-registry.ts: full implementation with 15 apps, RBAC, categories
- Clean up Java heap error logs
2026-02-03 02:31:34 -07:00
72e42e2eed
Merge pull request #4 from AeThex-Corporation/claude/setup-capacitor-live-reload-ws9Rg
Add Capacitor live reload support for mobile development
2026-01-31 15:26:34 -07:00
Claude
c0ef439342
Make gradlew executable and update lockfile
https://claude.ai/code/session_01WzGEr7t8hWFyiANo22iokS
2026-01-31 22:21:39 +00:00
Claude
b3011943c6
Add Android release signing configuration
- Update build.gradle with signingConfigs for release builds
- Enable minification and resource shrinking for release
- Add keystore.properties.example template
- Update .gitignore to exclude keystore and credentials

https://claude.ai/code/session_01WzGEr7t8hWFyiANo22iokS
2026-01-31 22:04:54 +00:00
Claude
2278fa2849
Add Capacitor live reload for quick device testing
- Update capacitor.config.ts to support live reload via environment variables
  (CAPACITOR_LIVE_RELOAD and CAPACITOR_SERVER_URL)
- Add script/capacitor-live-reload.ts to auto-detect local IP and configure sync
- Add script/capacitor-production.ts to revert to production bundled assets
- Add npm scripts: cap:live-reload, cap:production, dev:mobile
- Update vite.config.ts to use appropriate HMR settings for local vs cloud dev

https://claude.ai/code/session_01WzGEr7t8hWFyiANo22iokS
2026-01-31 21:12:44 +00:00
MrPiglr
c963ed51ee modified: .claude/settings.local.json 2026-01-29 23:47:23 -07:00
MrPiglr
b8d5062f3e Add desktop app downloads page and release workflow
- Add GitHub Actions workflow for building desktop apps (Windows/macOS/Linux)
- Create /downloads page with GitHub releases integration
- Update README with download links
- Automated release creation on desktop-v* tags

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 23:32:02 -07:00
MrPiglr
bad838c659 modified: client/src/pages/os.tsx 2026-01-29 17:42:30 -07:00
MrPiglr
d1254106eb modified: server/index.ts 2026-01-29 11:10:47 -07:00
MrPiglr
b6833f0432 modified: shared/schema.ts 2026-01-29 10:24:03 -07:00
MrPiglr
5bc0bdaca6 modified: shared/schema.ts 2026-01-29 10:14:15 -07:00