Skip to content

Beta-centric dev workflow: origin/dev integration branch - #4

Draft
Dadud wants to merge 15 commits into
mainfrom
dev
Draft

Beta-centric dev workflow: origin/dev integration branch#4
Dadud wants to merge 15 commits into
mainfrom
dev

Conversation

@Dadud

@Dadud Dadud commented May 23, 2026

Copy link
Copy Markdown
Owner

Summary

Implements the beta-centric development workflow and consolidates modernization work onto origin/dev.

Workflow

  • origin/dev — default integration branch for daily development
  • upstream/beta — only routine upstream push when integration is ready
  • upstream/main — protected stable release (PR from beta only)

See CONTRIBUTING.md and docs/github/BRANCH_PROTECTION.md.

Settings UX (on dev)

  • Admin API accepts Bearer session tokens and admin DB passwords
  • Standalone talkgroups.csv import at /settings#radio
  • Saved import configuration — remembers last CSV/TR bundle/path import and supports one-click re-import
  • Map navigation: Map Preferences vs Server Settings
  • Setup wizard step 5: Talkgroups

CI / Docker

  • CI runs on dev and beta branch pushes
  • Docker publish tags :beta on beta branch push

Supersedes

Checklist (before merging to main or pushing upstream/beta)

Do not merge to main until beta validation is complete.

Open in Web Open in Cursor 

Dadud and others added 15 commits May 17, 2026 17:23
…(resolve conflicts favoring architecture modules)

Co-authored-by: Kyle B <Dadud30@gmail.com>
…ttings UI

Merge upstream architecture/runtime-settings-integration and port fork
hardening overlays: API key fingerprint validation, geocode proxy, rate
limits, unified polling, transcription queue facade, and WaveSurfer cleanup.

Add Docker-first deployment with core/whisper/qwen/tone images, Compose
profiles, GHCR publish workflow, and Unraid CA templates. Introduce
pluggable local transcription backends (faster-whisper, Qwen3-ASR) with
profile-based Python requirements.

Expand /settings and /setup with terminal green console theme, extract
shared settings CSS, and add npm run setup/doctor for native dev installs.

Co-authored-by: Kyle B <Dadud30@gmail.com>
- Surface missing .env settings in /settings with source badges (env/sqlite/default)
- Add two-tone dispatch, ports, session, Python, and admin password fields
- Apply SQLite runtime settings to process.env on bot startup
- Import TrunkRecorder config.json: systems, control channels, conventional
  channels, and talkgroups (analog/digital mode from CSV)
- Geocoding tab for per-talkgroup location hints from DB
- Auto-learn talkgroups from upload metadata; optional startup TR sync

Co-authored-by: Kyle B <Dadud30@gmail.com>
Allow importing TR config without shared filesystem: paste or upload
config.json plus talkgroup/channel CSVs via Settings or POST
/api/radio/import-trunk-recorder with JSON or multipart form data.

Co-authored-by: Kyle B <Dadud30@gmail.com>
- Bootstrap dev as integration branch with settings UX fixes
- Add CONTRIBUTING.md and upstream branch protection docs
- Extend CI for dev/beta branches; publish Docker :beta on beta push
- Fix admin auth (Bearer sessions + DB password); credentials in settings UI
- Add standalone talkgroups.csv import and restructure Talkgroups & Radio tab
- Improve map/setup navigation; add tests for auth and CSV import

Co-authored-by: Kyle B <Dadud30@gmail.com>
Save last talkgroups CSV, TR bundle, or filesystem path import in SQLite.
Restore saved config in Server Settings UI with one-click re-import.
Auto-sync on startup uses saved configuration when no local path is set.

Co-authored-by: Kyle B <Dadud30@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants