rzuasti and Claude Sonnet 4.6
cb2b3c6af7
Fix all clippy warnings in the Rust backend
...
Addresses all 31 warnings emitted by cargo clippy: redundant field
names in struct initialisers, unnecessary unwrap after is_some checks
(replaced with if-let), needless borrows, filter+next replaced with
find, iter().count() replaced with len(), clone on Copy type, and
manual match-to-Option replaced with .ok().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 13:48:33 -04:00
rzuasti and Claude Sonnet 4.6
44d593fccc
Add OpenAPI documentation via Utoipa
...
Annotates all API handlers and model structs with Utoipa macros to generate
an OpenAPI 3.0 spec at runtime. Serves an interactive Swagger UI at /api/docs
and the raw JSON spec at /api/docs/openapi.json, both publicly accessible
outside the auth middleware.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 13:36:05 -04:00
rzuasti and Claude Sonnet 4.6
6002597383
Add mark all as read action to notifications list
...
Shows a done_all icon button in the AppBar when the New filter is active
and the list is non-empty, calling the notifications/mark_all_as_old endpoint.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 12:10:02 -04:00
rzuasti and Claude Sonnet 4.6
bda7b87cc7
Add mark all as old API endpoint for notifications
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 11:55:30 -04:00
rzuasti and Claude Sonnet 4.6
a647e0d061
Add theme selection to settings page
...
Adds a dropdown in the settings page to switch between available themes
(Catppuccin Mocha, Gruvbox Dark). The selected theme is applied immediately
on save and persisted across restarts via SharedPreferences.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 11:38:16 -04:00
rzuasti and Claude Sonnet 4.6
527e2bd6c8
Style notification list items by read/unread status
...
Unread notifications (isNew=true) now show a secondaryContainer background,
bold title, and primary-colored icon per Material 3 guidelines. State changes
via mark-as-read/unread update the item's styling immediately in the All filter
view using mapItems with a copyWith, ensuring PagingStateBase's deep equality
check detects the change and triggers a rebuild.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 11:00:46 -04:00
rzuasti and Claude Sonnet 4.6
e320d54b38
Add mark as unread action to notifications list
...
Adds a "Mark as unread" option to the notification popup menu (shown only
for already-read items) and a swipe-right gesture, mirroring the existing
"Mark as read" actions. Swipe/menu actions respect the active filter:
items are removed from the list only when filtered to New or Old, and
snap back when viewing All.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 10:43:10 -04:00
rzuasti and Claude Sonnet 4.6
c04e76157e
Add run.sh and fix run_tests.sh to use user's cargo cache
...
Add run.sh script to start the backend (erases db, runs cargo with sudo
using user's CARGO_HOME to avoid full recompilation). Remove sudo from
cargo test in run_tests.sh for the same reason.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 10:21:43 -04:00
rzuasti and Claude Sonnet 4.6
8153a216b9
Add mark as new API endpoint for notifications
...
POST /api/notifications/{id}/mark_as_new sets is_new=1, allowing a notification to be flagged as unread after it has been read.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 10:13:56 -04:00
rzuasti and Claude Sonnet 4.6
913bf0e839
Add mark as read action to notifications list
...
Users can now mark a notification as read via a popup menu on each list
item or by swiping left. Both actions call the backend API, remove the
item from the list, and show a snackbar confirmation. Swiping an already
read notification shows an error snackbar and bounces the item back.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 09:58:39 -04:00
rzuasti
09b67c2707
Added claude to the dev environment
2026-05-27 08:24:48 -04:00
rzuasti
12df11e2ee
Added CLAUDE.md
2026-05-27 08:17:26 -04:00
rzuasti
b8db6db83b
Filters working on notifications
2026-03-04 16:22:00 -05:00
rzuasti
63ac1d04d5
Backend list notifications now supports pagination. Frontend
...
notification list is inifinite and lazy
2026-03-04 11:05:24 -05:00
rzuasti
dc2521da65
Settings working on front-end and with it the notifications list
2026-03-03 12:20:57 -05:00
rzuasti
1d029c8c5f
Added configuration redirect and partial settings form
2026-03-02 19:41:01 -05:00
rzuasti
e6b5594226
Refactored events to notifications on front-end, added prefutils to read
...
shared preferences.
2026-03-02 13:59:50 -05:00
rzuasti
2d64efa44b
Frontend events are being returned from the API (yey!)
2026-02-27 12:28:16 -05:00
rzuasti
874a70969f
Externalized web server config
2026-02-26 16:30:51 -05:00
rzuasti
7f754b3d17
Added API key validation on requests
2026-02-26 12:19:58 -05:00
rzuasti
c50cd81be9
Added several endpoints to devices, mostly there!
2026-02-26 10:08:41 -05:00
rzuasti
884738196b
Web server split into modules
2026-02-26 08:31:48 -05:00
rzuasti
d3d8681626
TODO
2026-02-25 15:58:32 -05:00
rzuasti
9ff6c9ec7e
List devices API working
2026-02-25 15:54:19 -05:00
rzuasti
f45a22a892
Added list devices to database handler
2026-02-25 12:54:39 -05:00
rzuasti
be38d2b15f
Typo
2026-02-25 09:13:02 -05:00
rzuasti
f88e02478a
enhanced device database structure, added methods to device db module
...
and unit tests
2026-02-24 17:25:57 -05:00
rzuasti
5ca3b61dae
Added endpoints to read notification and to read without flagging as old
2026-02-23 19:45:19 -05:00
rzuasti
03d2e6c9b1
Improved notifications structure and now saving notifications to
...
database when triggered
2026-02-23 13:23:36 -05:00
rzuasti
e38b875052
Added notification read and insert from database
2026-02-23 11:04:57 -05:00
rzuasti
47788a6738
Refactored errors from String to custom error types
2026-02-23 09:57:22 -05:00
rzuasti
851a9419dc
Added DEV_SHELL to flag the development shell
2026-02-22 11:43:33 -05:00
rzuasti
4b905bdde5
Made fish the develop shell
2026-02-21 15:10:35 -05:00
rzuasti
203d0dd98e
List notifications endpoint working
2026-02-19 11:24:23 -05:00
rzuasti
5085bc0848
List notifications working
2026-02-19 10:57:04 -05:00
rzuasti
e0e05823d1
Fixing tests
2026-02-19 10:49:38 -05:00
rzuasti
54e6dba496
Testing setup working, settings moved to a singleton and initialized on
...
main.
2026-02-18 11:23:20 -05:00
rzuasti
93b27c7205
About to change clap usage to builder (instead of derive)
2026-02-18 09:35:05 -05:00
rzuasti
bc6a613a23
Trying to setup tests
2026-02-17 19:34:26 -05:00
rzuasti
08465fb847
Migrated db connections to pool
2026-02-17 15:20:47 -05:00
rzuasti
f1093078bd
Before moving to connection pooling for the DB
2026-02-17 14:10:39 -05:00
rzuasti
7d63859222
Added notifications table and model
2026-02-17 12:15:46 -05:00
rzuasti
1d1d0f150a
Split device scanner and web server in modules
2026-02-17 09:34:22 -05:00
Ricardo Zuasti
7c96939b2d
Moved Devices to a models module
2026-02-14 12:30:12 -05:00
Ricardo Zuasti
3185af3fdb
Web server working
2026-02-13 11:35:36 -05:00
rzuasti
ec951f9a89
Added frontend static assets and web server to rust backend
2026-02-12 21:46:50 -05:00
rzuasti
f3cf3ebec1
Added web server basics to main, it works!
2026-02-12 16:45:04 -05:00
rzuasti
f7f7810dfd
Rollback to single nix package for backend
2026-02-12 12:55:20 -05:00
rzuasti
ef6d2b73f1
fixed hash
2026-02-12 11:53:04 -05:00
rzuasti
f5ffd6bcde
Combining frontend and backend
2026-02-12 11:51:43 -05:00
rzuasti
7908de9068
Fixing
2026-02-12 10:44:58 -05:00
rzuasti
91c5926e1b
Adding json lock file for flutter project
2026-02-12 09:31:35 -05:00
rzuasti
14995230db
Adding extras folder
2026-02-12 09:03:10 -05:00
rzuasti
714c0c893d
Actually we can do it all from a single package.nix
2026-02-12 08:52:01 -05:00
rzuasti
d95803c773
Moved package.nix to package-backend.nix to make room for frontend
...
package
2026-02-12 08:43:24 -05:00
rzuasti
9c5755a2d9
Adding fancy stuff to events list
2026-02-11 18:31:12 -05:00
rzuasti
f927294194
Added flutter front-end
2026-02-11 14:07:27 -05:00
rzuasti
39a58983d6
Moved backend code into its own subfolder
2026-02-10 14:03:33 -05:00
rzuasti
a86efc015a
Changed send/receive logic to be sequential rather than parallel (its
...
faster)
2026-01-28 17:57:59 -05:00
rzuasti
f72bf06801
Update README.md
2026-01-28 13:54:52 -05:00
rzuasti
62e753b4f1
Update README.md
2026-01-28 13:54:06 -05:00
rzuasti
ef8fbbde5b
Update README.md
2026-01-28 13:53:45 -05:00
rzuasti
36353f7e40
Update README.md
2026-01-28 13:52:43 -05:00
rzuasti
0f0a8fdfdb
Update README.md
2026-01-28 13:48:04 -05:00
rzuasti
787a723316
Update README.md
2026-01-28 13:45:37 -05:00
rzuasti
4c976334b4
Adjusted docker-compose sample
2026-01-28 13:22:10 -05:00
rzuasti
75e6c6d3a0
Merge branch 'main' of github.com:rzuasti/oott
2026-01-28 12:12:32 -05:00
rzuasti
eb3d745376
Working docker image generation and docker compose sample
2026-01-28 12:12:06 -05:00
rzuasti
344711bad8
Update README.md
2026-01-27 18:43:51 -05:00
rzuasti
40a0269fdb
Update README.md
2026-01-27 18:38:09 -05:00
rzuasti
111dd2a0fb
Update README.md
2026-01-27 18:29:47 -05:00
rzuasti
732c9222b3
Update README.md
2026-01-27 18:27:17 -05:00
rzuasti
d54e467238
Update packet_send_receive.rs
2026-01-27 14:23:42 -05:00
rzuasti
07e50be134
Adjusted debug for packet sender
2026-01-27 14:19:02 -05:00
rzuasti
62d5418ae9
Reduced the number of sleeps in sending and receiving packets during an
...
ARP scan
2026-01-27 14:03:03 -05:00
rzuasti
c8b902f90b
Moved mac vendor database to be compiled in the binary
2026-01-27 13:40:08 -05:00
rzuasti
b1184d16ee
Added all configuration parameters to nix flake
2026-01-27 13:13:02 -05:00
rzuasti
9a2227bb07
Adding clap for parameter parsing
2026-01-27 09:21:00 -05:00
rzuasti
f7513c329e
Update oott-service.nix
2026-01-27 08:38:40 -05:00
rzuasti
d64d8eb898
Update oott-service.nix
2026-01-26 11:39:27 -05:00
rzuasti
335807e0f3
Changed config file generation in the nix flake to YAML
2026-01-26 11:02:39 -05:00
rzuasti
3b776462b0
trying generation of config file (oott.toml)
2026-01-26 10:41:00 -05:00
rzuasti
04b6e1553a
Update oott-service.nix
2026-01-25 11:42:39 -05:00
rzuasti
4abd754695
trying
2026-01-25 11:35:31 -05:00
rzuasti
ab11cdaadb
Fixed module name
2026-01-25 11:30:51 -05:00
rzuasti
9b40bb2da8
Added config.toml to speed up compilation
2026-01-25 11:10:07 -05:00
rzuasti
a4e4ee6a50
grouped nix config in a folder
2026-01-25 11:01:11 -05:00
rzuasti
18ecdc2f2a
Trying to fix flake
2026-01-25 10:37:47 -05:00
rzuasti
ea9bc7f13d
Update flake.nix
2026-01-24 19:26:09 -05:00
rzuasti
4f346631e9
Update flake.nix
2026-01-24 19:11:00 -05:00
rzuasti
878273903a
Update flake.nix
2026-01-24 15:30:10 -05:00
rzuasti
3ed514b203
Testing flake
2026-01-24 15:20:59 -05:00
rzuasti
b8f1f8c516
Working on flake support
2026-01-24 14:43:46 -05:00
rzuasti
3651ae53e3
Working on flake support
2026-01-24 12:28:22 -05:00
rzuasti
ff6d685126
Adding Nix flake support
2026-01-24 12:16:24 -05:00
rzuasti
3b828ed170
Adjusted config
2026-01-24 10:46:51 -05:00
rzuasti
92c1cd5553
Added notifications for devices that came back online after a
...
configurable time period
2026-01-23 15:08:58 -05:00
rzuasti
ca1674243e
Using duration-string for configuration of timings. Much nicer.
2026-01-23 14:35:28 -05:00
rzuasti
ecfc56bc30
Added main loop to run continuously and relevant configuration options
2026-01-23 11:00:24 -05:00
rzuasti
77f996c591
Added pushover notification sending
2026-01-23 10:25:45 -05:00