mirror of
https://github.com/rzuasti/oott.git
synced 2026-07-08 19:21:54 +02:00
Replace the notifications list's wholesale redraw with a SliverAnimatedList driven by a GlobalKey, keeping `_items` in lockstep with the animated state. - Background refreshes (poll, pull-to-refresh, resume, route pop, mark-all) reconcile against the fetched page: departed rows slide out, newly fetched rows slide in at the top with a theme-coloured arrival highlight, and surviving rows stay put (with in-place read-state recolouring under "All"). - Filter/page changes and the initial load reset the list (fresh key) so the new dataset appears instantly without per-row animation. - Read/unread removals are owned by the list: buttons play a slide/fade exit, while swipes let Dismissible animate and then reconcile, avoiding double animation and the disposed-widget race. Add the arrival highlight overlay to NotificationCard and cover the new behaviour with widget tests (swipe-out, flash-in, external removal, in-place "All" mark, filter reset). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
OOTT ToDo list
- Add support for push notifications to the app (iOS and Android)
- README.md - Add section about securing access (reverse proxy, never expose to the internet, etc.)
- README.md - Simplify storage section (remove the calculations - just leave the results)
Release plan for 0.2.0
- Test Android UI on emulator
- Release 0.1.0
- Install in test server (docker) following documented process
- Install test app on iPhone
- Test in-house for 1 week
- Implement push notifications
- Release 0.2.0
- Install in test server and test app on iPhone
- Test in-house for 3 days
- Release 0.2.1 (or as many versions as needed)
- Publish website
- Post on reddit
Backend
- Implement the pushover API call directly to support HTML content and review notification text to use it
Frontend
- Mobile - Implement pull to refresh on the notifications and devices list
- Mobile - reduce lists length (# of items) so they fit on a phone in one screen (use iPhone latest gen and Google phone latest gen)
- Mobile - In the devices list the filters and sort buttons overlap (dont fit in the screen)
- When changing pages (either list) the items should change to placeholders while loading
- The notifications list should not refresh coldly every time. It should add/remove notifications with an animation as if a stack
- Make gruvbox the default theme
- Can we add front-end tests?
- Break down oott_api.dart in modules
Improve engine
Passive (low noise, no probing):
- Passive packet capture — observe any broadcast/multicast traffic; a device that never responds to ARP still generates traffic
Active (you probe the network):
- NDP (Neighbor Discovery Protocol) — IPv6 equivalent of ARP; important if the network uses IPv6