Commit Graph

577 Commits

Author SHA1 Message Date
Alex P bdcfc29d70 refactor(audio): rename audio-server flag to audio-output-server for clarity
docs: update development documentation with new make targets
refactor: simplify audio quality presets implementation
style: remove redundant comments and align error handling
chore: add lint-ui-fix target to Makefile
2025-08-23 12:18:33 +00:00
Alex P 38b171d39f feat(audio): add system memory endpoint and process metrics monitoring
- Add new /system/memory endpoint to expose total system memory
- Implement process metrics collection for audio and microphone processes
- Update UI to display real-time process metrics with charts
- Replace environment variable check with CLI flag for audio input server
- Improve audio metrics broadcasting with 1-second intervals
- Add memory usage capping for CPU percentage metrics
2025-08-23 11:41:03 +00:00
Alex P 390c929dda Fix: go lint errors 2025-08-22 23:23:07 +00:00
Alex P 29e51ed50d Improvements, Fixes: enhanced audio metrics (including prometheus format), fixed lint errors 2025-08-22 23:20:22 +00:00
Alex P 779f735d66 Cleanup: remove polling fallback for /audio/mute status 2025-08-22 22:54:05 +00:00
Alex P a85c58ad1a Fix: linter errors 2025-08-22 22:29:48 +00:00
Alex P 6e910cbe05 Fix: linter errors 2025-08-22 22:28:15 +00:00
Alex P 5d266f6103 Fix: linter errors 2025-08-22 22:26:15 +00:00
Alex P cec27b054e Fix: linter errors 2025-08-22 22:23:50 +00:00
Alex P 48f1750895 Fix: audio subprocess handling, avg atency audio metric 2025-08-22 22:21:41 +00:00
Alex P 184ac3dfdd Fix: audio subprocess handling 2025-08-22 22:17:27 +00:00
Alex P e2a89c54d3 Fix: linting errors 2025-08-22 22:07:35 +00:00
Alex P 6c82800734 Fix: literal /home/vscode in cache paths 2025-08-22 21:49:15 +00:00
Alex P 476d42e88e Fix: workflow indentation 2025-08-22 21:43:51 +00:00
Alex P ddbc145a16 Tweak: steps order 2025-08-22 21:43:17 +00:00
Alex P 6401414bc7 Improvement: use cache save/restore actions 2025-08-22 21:41:44 +00:00
Alex P 4ea64d2b3f Improvement: Automatically invalidate cache 2025-08-22 21:37:53 +00:00
Alex P 4945114cb4 Fix: always save cache 2025-08-22 21:34:27 +00:00
Alex P dc1108eb77 Fix: Lint env vars 2025-08-22 21:30:24 +00:00
Alex P 3d8a98d865 Fix: use absolute path for caching 2025-08-22 21:26:37 +00:00
Alex P a4b3fe6e33 Fix: golangci-lint 2025-08-22 21:21:09 +00:00
Alex P 5a9f56c8c0 Updates: set LDFLAGS and CFLAGS for the lint steps 2025-08-22 21:15:25 +00:00
Alex P 6fe2c206a1 Updates: golangci-lint workflow 2025-08-22 21:06:40 +00:00
Alex Ballas 8e27cd6b60
chore: ensure that rpc messages get processed sequentially and avoid phantom and repeated key presses (#744) 2025-08-22 20:15:46 +02:00
Alex P 2de5a05aab [WIP] Performance Enhancements: move audion processing into a separate process 2025-08-22 12:04:30 +00:00
Marc Brooks bb87fb5a1a
fix: compiler error (#743)
Using { send } gives the resp a type instead of any
2025-08-22 12:15:27 +02:00
Adam Shiervani 8527b1eff1
feat: improve custom jiggler settings and add timezone support (#742)
* feat: add timezone support to jiggler and fix custom settings persistence

- Add timezone field to JigglerConfig with comprehensive IANA timezone list
- Fix custom settings not loading current values
- Remove business hours preset, add as examples in custom settings
- Improve error handling for invalid cron expressions

* fix: format jiggler.go with gofmt

* fix: add embedded timezone data and validation

- Import time/tzdata to embed timezone database in binary
- Add timezone validation in runJigglerCronTab() to gracefully fallback to UTC
- Add timezone to debug logging in rpcSetJigglerConfig
- Fixes 'unknown time zone' errors when system lacks timezone data

* refactor: add timezone field comments from jiggler options

* chore: move tzdata to backend

* refactor: fix JigglerSetting linting

- Adjusted useEffect dependency to include send function for better data fetching
- Modified layout classes for improved responsiveness and consistency
- Cleaned up code formatting for better readability

---------

Co-authored-by: Siyuan Miao <i@xswan.net>
2025-08-19 16:50:42 +02:00
Serhii 9f573200b1
Update mount list for new Debian 13 release (#739)
* Update mount list for new Debian 13 release

* Keep Debian 12 Bookworm as old-stable release
2025-08-18 11:20:20 +02:00
Adam Shiervani 5760f6d460 refactor(vite.config): fix local ui development proxy 2025-08-13 18:53:30 +02:00
Alex P 89555f1528 perf(audio): optimize audio processing with batching and atomic operations
- Implement batch audio processing to reduce CGO overhead
- Replace mutexes with atomic operations for contention management
- Add buffer pooling to reduce allocations
- Optimize microphone operation cooldown with lock-free approach
- Improve error handling with pre-allocated error objects
2025-08-13 14:49:08 +00:00
Alex P 483a7e2890 [WIP] Fix: performance issues 2025-08-13 11:35:11 +00:00
Marc Brooks 608f69db13
Lint fix from last merge. (#733) 2025-08-13 11:13:42 +02:00
jackislanding f7b8efde7c
Added crontab scheduler for jiggler (#316) 2025-08-12 20:50:03 +02:00
Alex P 482410a9e1 Fix: linter errors 2025-08-12 13:59:21 +00:00
Alex P 807a9c3d24 build(audio): update cgo LDFLAGS to use env vars for library versions 2025-08-12 13:35:39 +00:00
Alex P aeebbbe41a perf(build): add ARM Cortex-A7 optimization flags for audio builds
Add compiler optimization flags targeting ARM Cortex-A7 with NEON support
to improve performance of audio library builds and Go binaries. The flags
enable vectorization, fast math, and loop unrolling for better execution
speed on the target hardware.
2025-08-12 11:20:19 +00:00
Alex P 13b7b57b30 feat(rpc): optimize input handling with direct path for performance
perf(audio): make audio library versions configurable in build

test(input): add comprehensive tests for input RPC validation
2025-08-12 10:56:09 +00:00
Alex P 811dd5f3d9 perf(usbgadget): reduce input latency by pre-opening HID files and removing throttling
Pre-open HID files during initialization to minimize I/O overhead during operation. Remove mouse event throttling mechanism to improve input responsiveness. Keep HID files open on write errors to avoid repeated file operations.
2025-08-12 10:07:58 +00:00
Marc Brooks 33ac9fe0b6
chore(ui)/package upgrades (#724)
| Package                          | From     | To           |
| -------------------------------- | ----------- | ------------ |
| @headlessui/react        | 2.2.4     | 2.2.7        |
| framer-motion              | 12.23.3 | 12.23.12 |
| react                                | 19.1.0   | 19.1.1     |
| react-dom                       | 19.1.0   | 19.1.1    |
| react-simple-keyboard | 3.8.93   | 3.8.106  |
|@eslint/js                         | 9.30.1   | 9.32.0    |
| @types/react                  | 19.1.8   | 19.1.9    |
| @types/react-dom         | 19.1.8   | 19.1.9   |
|eslint                                 | 9.30.1   | 9.32.0    |
|eslint-config-prettier       | 10.1.5   | 10.1.8   |
| typescript                         |  5.8.3    | 5.9.2     |
2025-08-12 11:24:05 +02:00
Alex P 57ef1df22c Fix: session duplication detection, dev_deploy.sh script 2025-08-07 10:12:50 +00:00
Alex P 75a46e366c Stability: prevent race condition when clicking on Mic Start, Stop buttons in quick succession 2025-08-05 09:02:21 +03:00
Alex P 4a3f1b76a9 Separation of Concerns: Move the audio-related code into the audio internal package 2025-08-05 02:04:37 +03:00
Alex P 0f89871fc6 Fix: goimports 2025-08-05 01:49:09 +03:00
Alex P 6a6cbd82a5 Fix: goimports 2025-08-05 01:47:50 +03:00
Alex P bfbd8c11ce Efficiency Improvements: Switch to websocket-based communication for audio metrics & status 2025-08-05 01:43:58 +03:00
Alex P d4bde5f6bf Finetuning: further perf. tunning 2025-08-05 01:05:06 +03:00
Alex P 7c48d6b558 Fix: eslint errors 2025-08-05 00:17:08 +03:00
Alex P a899a0e930 Improvements, Fixes: reduce mouse lag when audio is on 2025-08-04 23:29:47 +03:00
Alex P 1f967df08a Fix: lint errors 2025-08-04 20:30:39 +03:00
Alex P d3dfb05198 [WIP] Updates: audio input support 2025-08-04 20:08:54 +03:00