Update to 0.9.3 #43
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
- Fix UTC display bug: upload_nrl_data now wraps RNH datetimes with local_to_utc() before storing, matching patch_session behavior. Period type and label are derived from local time before conversion. - Add period_start_hour / period_end_hour to MonitoringSession model (nullable integers 0–23). Migration: migrate_add_session_period_hours.py - Update patch_session to accept and store period_start_hour / period_end_hour. Response now includes both fields. - Update get_project_sessions to compute "Effective: M/D H:MM AM → M/D H:MM AM" string from period hours and pass it to session_list.html. - Rework period edit UI in session_list.html: clicking the period badge now opens an inline editor with period type selector + start/end hour inputs. Selecting a period type pre-fills default hours (Day: 7–19, Night: 19–7). - Wire period hours into _build_location_data_from_sessions: uses period_start/end_hour when set, falls back to hardcoded defaults. - RND viewer: inject SESSION_PERIOD_START/END_HOUR from template context. renderTable() dims rows outside the period window (opacity-40) with a tooltip; shows "(N in period window)" in the row count. - New session detail page at /api/projects/{id}/sessions/{id}/detail: shows breadcrumb, files list with View/Download/Report actions, editable session info form (label, period type, hours, times). - Add local_datetime_input Jinja filter for datetime-local input values. - Monthly calendar view: new get_sessions_calendar endpoint returns sessions_calendar.html partial; added below sessions list in detail.html. Color-coded per NRL with legend, HTMX prev/next navigation, session dots link to detail page. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>[0.9.3] - 2026-03-28
Added
period_start_hourandperiod_end_hourto define the exact hours that count toward reports, replacing hardcoded day/night defaults. The session edit panel shows a "Required Recording Window" section with a live preview (e.g. "7:00 AM → 7:00 PM") and a Defaults button that auto-fills based on period type.report_dateto override the automatic target-date heuristic — useful when a device ran across multiple days but only one specific day's data is needed for the report.GET /api/projects/{project_id}/available-modemsendpoint returning all deployed, non-retired modems for use in assignment dropdowns.Fixed
UnitAssignment"active" checks fromstatus == "active"toassigned_until IS NULLthroughoutproject_locations.pyandprojects.pyfor consistency with the canonical active definition.Changed
Migration Notes
Run on each database before deploying: