Rename ws_framework → rgl_framework, add docs, improve Rust logging
- Rename http_framework/ws_server.lua → rgl_framework.lua and update
all internal references (log path, script name, init message)
- Replace debug eprintln!() in bridge.rs with logging::log() calls
so bridge diagnostics go to log file and admin panel instead of stderr
- Add DEBUG logs: bridge requests/polls, WS connect/disconnect,
API timeout warnings, DB batch JSON parse errors
- Move log file from /sdcard/Download/ to getWorkingDirectory()/logs/
with auto-creation of logs/ directory in logging::init()
- Remove unused debug_pending_count() from bridge.rs
- Add project documentation: CLAUDE.md, docs/MODULE_GUIDE.md,
docs/LIB_REFERENCE.md, docs/TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
# Tasks & Improvements
|
|
|
|
|
|
|
|
|
|
Prioritized backlog of issues, improvements, and feature ideas.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Critical
|
|
|
|
|
|
|
|
|
|
*No critical issues currently.*
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## High
|
|
|
|
|
|
Resolve all medium tasks: auth, tests, cjson, module loading
Auth system (new rust_core/src/auth.rs):
- Secret generated at startup, stored in /data/data/ or /sdcard/Android/data/
(not accessible to other apps). Never exposed via FFI.
- Credentials encrypted with secret, stored in separate `auth` DB table
(modules can't access through kv API)
- HTTP middleware checks Basic auth or Bearer token on /api/* and /ws
- Admin panel Auth tab for setting/clearing credentials
- FFI: rgl_auth_init, rgl_auth_set, rgl_auth_clear, rgl_auth_enabled
Integration tests (28 total, was 7):
- bridge.rs: request/response cycle, unique IDs, timeout, event broadcast
- events.rs: win1251 roundtrip, color parsing, HTML escaping
- auth.rs: XOR roundtrip, secret generation, Basic/Bearer auth
Other fixes:
- Make cjson a hard requirement (remove broken fallback JSON encoder)
- Replace io.popen('ls') with pcall-wrapped list_module_dirs() helper
- Fix console serialize: add local, move above M.init()
- Clear all medium tasks from TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
*No high issues currently.*
|
Rename ws_framework → rgl_framework, add docs, improve Rust logging
- Rename http_framework/ws_server.lua → rgl_framework.lua and update
all internal references (log path, script name, init message)
- Replace debug eprintln!() in bridge.rs with logging::log() calls
so bridge diagnostics go to log file and admin panel instead of stderr
- Add DEBUG logs: bridge requests/polls, WS connect/disconnect,
API timeout warnings, DB batch JSON parse errors
- Move log file from /sdcard/Download/ to getWorkingDirectory()/logs/
with auto-creation of logs/ directory in logging::init()
- Remove unused debug_pending_count() from bridge.rs
- Add project documentation: CLAUDE.md, docs/MODULE_GUIDE.md,
docs/LIB_REFERENCE.md, docs/TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Medium
|
|
|
|
|
|
Resolve all medium tasks: auth, tests, cjson, module loading
Auth system (new rust_core/src/auth.rs):
- Secret generated at startup, stored in /data/data/ or /sdcard/Android/data/
(not accessible to other apps). Never exposed via FFI.
- Credentials encrypted with secret, stored in separate `auth` DB table
(modules can't access through kv API)
- HTTP middleware checks Basic auth or Bearer token on /api/* and /ws
- Admin panel Auth tab for setting/clearing credentials
- FFI: rgl_auth_init, rgl_auth_set, rgl_auth_clear, rgl_auth_enabled
Integration tests (28 total, was 7):
- bridge.rs: request/response cycle, unique IDs, timeout, event broadcast
- events.rs: win1251 roundtrip, color parsing, HTML escaping
- auth.rs: XOR roundtrip, secret generation, Basic/Bearer auth
Other fixes:
- Make cjson a hard requirement (remove broken fallback JSON encoder)
- Replace io.popen('ls') with pcall-wrapped list_module_dirs() helper
- Fix console serialize: add local, move above M.init()
- Clear all medium tasks from TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
*No medium issues currently.*
|
Rename ws_framework → rgl_framework, add docs, improve Rust logging
- Rename http_framework/ws_server.lua → rgl_framework.lua and update
all internal references (log path, script name, init message)
- Replace debug eprintln!() in bridge.rs with logging::log() calls
so bridge diagnostics go to log file and admin panel instead of stderr
- Add DEBUG logs: bridge requests/polls, WS connect/disconnect,
API timeout warnings, DB batch JSON parse errors
- Move log file from /sdcard/Download/ to getWorkingDirectory()/logs/
with auto-creation of logs/ directory in logging::init()
- Remove unused debug_pending_count() from bridge.rs
- Add project documentation: CLAUDE.md, docs/MODULE_GUIDE.md,
docs/LIB_REFERENCE.md, docs/TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Low
|
|
|
|
|
|
|
|
|
|
### Add rate limiting to API handlers
|
|
|
|
|
No protection against API spam. Could add simple per-endpoint rate limits.
|
|
|
|
|
|
|
|
|
|
### Add request/response logging middleware
|
|
|
|
|
No HTTP access logging in Rust. Add optional access log for debugging API calls.
|
|
|
|
|
|
|
|
|
|
### Add module versioning
|
|
|
|
|
No way to track which version of a module is loaded. Could add `M.version` field and display in admin panel.
|
|
|
|
|
|
|
|
|
|
### Add deployment documentation
|
|
|
|
|
No docs on how to deploy the .so to an Android device, set up the framework, or configure MoonLoader to load the script.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Feature Ideas
|
|
|
|
|
|
|
|
|
|
### WebSocket command execution
|
|
|
|
|
Allow web clients to send commands via WebSocket instead of only HTTP POST. Would enable real-time bidirectional communication.
|
|
|
|
|
|
|
|
|
|
### Module dependency system
|
|
|
|
|
Currently modules load independently. A dependency system would let modules declare required modules and load in order.
|
|
|
|
|
|
|
|
|
|
### Persistent notification history
|
|
|
|
|
In-game notifications disappear after timeout. Could persist to DB and show in admin panel.
|
|
|
|
|
|
|
|
|
|
### SAMemory integration module
|
|
|
|
|
Create a utility module that exposes player position, health, vehicle state via the web UI using the SAMemory library from ../lib.
|
|
|
|
|
|
|
|
|
|
### Config file support
|
|
|
|
|
Use `inicfg.lua` or `jsoncfg.lua` from ../lib for human-editable configuration alongside the DB-based persistence.
|