Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
641 commits
Select commit Hold shift + click to select a range
6c3fcca
Add a "New State" decode highlight + filter for Worked All States cha…
patrickrb Jul 24, 2026
7942918
Fix DX/watchlist alert notification showing "-2147483648 dB" when the…
patrickrb Jul 24, 2026
a27eee8
Make Worked All States (WAS) award real, with the states still needed…
patrickrb Jul 24, 2026
1de7bca
Show a station's gray-line / sun status when you tap it (#683)
patrickrb Jul 24, 2026
726627c
Add Max 73 Sends option to cap RR73/73 repeats per QSO (#690)
patrickrb Jul 24, 2026
f7aca96
Add a "signal reach" summary to the map's PSK Reporter "Heard me" ove…
patrickrb Jul 24, 2026
0360375
Add a Worked All Continents (WAC) award to the logbook (#680)
patrickrb Jul 24, 2026
2d955cc
Fix non-portable ADIF export fields and surface upload failure reason…
patrickrb Jul 28, 2026
3eb767f
Make the early and full-slot decoders work in tandem instead of compe…
patrickrb Jul 28, 2026
1867b8b
Add Hunt options: target priority + smart filters (pileup avoidance, …
patrickrb Jul 28, 2026
f8a527e
Swap the TX message mid-cycle when a late decode advances the QSO (#704)
patrickrb Jul 31, 2026
58f9c57
Bound GPS clock discipline to corrections FT8 can survive, and log th…
patrickrb Jul 31, 2026
366695a
Stop setOperationBand re-sending an unchanged dial to the rig ~1x/sec…
patrickrb Jul 31, 2026
9e126bf
Keep the QSO panel's RX history instead of re-deriving it each recomp…
patrickrb Jul 31, 2026
5328833
Remove the GPS step bound and debounce the retune reset (both made th…
patrickrb Aug 1, 2026
7bf3a76
Stop discarding fast-pass decodes that land after key-up (#709)
patrickrb Aug 1, 2026
3decd02
Stop commanding the rig a frequency it echoed back during a CAT desyn…
patrickrb Aug 1, 2026
736daaf
Hold key-up while this slot's fast decode is still running (#712)
patrickrb Aug 1, 2026
a77776e
RTOTA trip mode: live GPS route + QSOs, sampled with SmartBeaconing (…
patrickrb Aug 1, 2026
d79065d
Show DT on every decode, as WSJT-X does (#713)
patrickrb Aug 1, 2026
388f8c6
Name a trip from the plans already saved on rtota.app (#714)
patrickrb Aug 2, 2026
e1a2891
Bump the schema version so my_lat/my_lon actually get added (fixes a …
patrickrb Aug 2, 2026
c28cb25
Rename RTOTA to ROTA (Roads On The Air) (#716)
patrickrb Aug 2, 2026
efa264e
Start the announced trip instead of creating one beside it (#717)
patrickrb Aug 2, 2026
3a9753f
Show real VUCC grid-square progress on the Awards tab (was hardcoded …
patrickrb Aug 2, 2026
c438dad
Report a POTA share result on the main thread, not the IO worker (#718)
patrickrb Aug 2, 2026
e1ef54e
Add a "New Prefix" (WPX) decode highlight + filter for prefix chasers…
patrickrb Aug 2, 2026
69dafd2
Drop the non-ADIF QSL_MANUAL tag from the desktop and iOS exporters (…
patrickrb Aug 2, 2026
3fa9982
Self-syncing clock: auto-trim the clock offset from decode DT medians…
patrickrb Aug 2, 2026
d01be83
Voice assistant v1: spoken event announcements + push-to-talk voice c…
patrickrb Aug 2, 2026
6977aa0
Log SSB contacts by hand during a ROTA trip (#724)
patrickrb Aug 4, 2026
9e6979a
Complete the server trip when the operator discards it locally
patrickrb Aug 4, 2026
3128be2
Address Copilot review on abandon-completes-trip (PR #725)
patrickrb Aug 4, 2026
b3834d3
Protect a pending band selection from being overwritten by rig echoes…
patrickrb Aug 5, 2026
a4c2e79
Stop USB permission dialog storms and reconnect-loop leaks on link fl…
patrickrb Aug 5, 2026
7052afc
ROTA: let the trip picker re-attach to a trip already active on the s…
patrickrb Aug 5, 2026
3b3ae0a
Restore Android Auto in the Play-approved IOT shape (revert of #600's…
patrickrb Aug 7, 2026
f9c5904
Car screen: show POTA activation and ROTA trip rows while active
patrickrb Aug 7, 2026
d78dff3
DebugInject: start a real offline ROTA trip and stamp demo QSOs with …
patrickrb Aug 7, 2026
57c23ad
Merge pull request #679 from patrickrb/dev
patrickrb Aug 9, 2026
ac88315
Address Copilot review: synchronize onQsoLogged, guard metaData null
patrickrb Aug 9, 2026
a7f2dfb
Merge pull request #729 from patrickrb/feat/restore-android-auto
patrickrb Aug 9, 2026
7abeb58
Car dashboard: POTA-to-validate, ROTA miles, and session-fallback row…
patrickrb Aug 9, 2026
db6aa34
Car dashboard: match the design doc (colored badges + spans) and fix …
patrickrb Aug 10, 2026
7fef739
Address Copilot review: last-logged callsign + singular/plural counts
patrickrb Aug 10, 2026
4ba502f
Merge pull request #731 from patrickrb/feat/car-dashboard-pane
patrickrb Aug 10, 2026
1d4dd87
Merge pull request #725 from patrickrb/fix/abandon-completes-server-trip
patrickrb Aug 10, 2026
08b6426
Address Copilot review (#732): read manifest metaData into a non-null…
patrickrb Aug 10, 2026
8f96592
Merge pull request #732 from patrickrb/dev
patrickrb Aug 10, 2026
b96076d
CI: stop forcing changesNotSentForReview on the Play upload
patrickrb Aug 10, 2026
6902cdd
Merge pull request #733 from patrickrb/fix/play-changes-not-sent-review
patrickrb Aug 10, 2026
9e67a6f
Merge pull request #734 from patrickrb/dev
patrickrb Aug 10, 2026
3c2637d
Regenerate us_grid_states.json from real state polygons
patrickrb Aug 12, 2026
c150328
Address Copilot review on the grid-table generator (PR #735)
patrickrb Aug 12, 2026
e0e9c9b
Merge pull request #735 from patrickrb/fix/us-grid-states-table
patrickrb Aug 12, 2026
0597090
iOS decode: US-state (WAS) lookup parity with Android
patrickrb Aug 18, 2026
42b041a
iOS POTA: park search/picker parity with Android
patrickrb Aug 18, 2026
7bbb8ce
iOS decode: cross-slot hashed-call resolution + junk rejection
patrickrb Aug 18, 2026
8035b73
Address Copilot review: normalize call/grid in decodeLocationText
patrickrb Aug 18, 2026
5964a3e
Address Copilot review: encode POTA refs as a single path segment
patrickrb Aug 18, 2026
53e9f62
iOS decode: full cty.dat DXCC resolver + CQ zone parity
patrickrb Aug 18, 2026
83913be
Merge pull request #738 from patrickrb/feat/ios-decode-hashjunk
patrickrb Aug 18, 2026
1fd7d76
Merge pull request #736 from patrickrb/feat/ios-us-state
patrickrb Aug 18, 2026
1e24c18
Merge pull request #737 from patrickrb/feat/ios-pota-parksearch
patrickrb Aug 18, 2026
4fbb952
Merge remote-tracking branch 'origin/dev' into feat/ios-dxcc-full
patrickrb Aug 18, 2026
dcf7696
Merge pull request #739 from patrickrb/feat/ios-dxcc-full
patrickrb Aug 18, 2026
45d8e89
iOS POTA: activation writes (CQ-POTA modifier, QSO stamping, P2P ADIF)
patrickrb Aug 18, 2026
354fafb
iOS decode/timing: enable deep decode + wire earlyDecode toggle
patrickrb Aug 18, 2026
dd6381d
Merge pull request #740 from patrickrb/feat/ios-pota-activation
patrickrb Aug 18, 2026
3ac1d2f
Merge remote-tracking branch 'origin/dev' into feat/ios-deep-decode
patrickrb Aug 18, 2026
5d0cafb
Merge pull request #741 from patrickrb/feat/ios-deep-decode
patrickrb Aug 18, 2026
eae2d0e
iOS timing: NTP sync + manual clock offset + clock-health indicator
patrickrb Aug 18, 2026
02fa7ee
Merge pull request #742 from patrickrb/feat/ios-clock-sync
patrickrb Aug 18, 2026
52b76c1
iOS decode UI: New Zone/Grid/Prefix filters, NEW_ZONE/PREFIX/POTA pil…
patrickrb Aug 18, 2026
b4d0413
Merge remote-tracking branch 'origin/dev' into feat/ios-decode-ui
patrickrb Aug 18, 2026
aca2965
iOS POTA: refresh spots during an active activation (P2P fix)
patrickrb Aug 18, 2026
786cb91
Merge pull request #743 from patrickrb/feat/ios-decode-ui
patrickrb Aug 18, 2026
c29f6dd
Merge remote-tracking branch 'origin/dev' into feat/ios-pota-spotrefresh
patrickrb Aug 18, 2026
69b3c6e
Merge pull request #744 from patrickrb/feat/ios-pota-spotrefresh
patrickrb Aug 18, 2026
68787e9
iOS POTA: self-spot to pota.app (unauthenticated /spot)
patrickrb Aug 18, 2026
cf8bd32
iOS decode: subtract-and-redecode weak-signal recovery (deep mode)
patrickrb Aug 18, 2026
05ea528
Address Copilot review: POSIX-locale frequency formatting
patrickrb Aug 18, 2026
b7ee5b1
Fix locale-format regression: revert to plain String(format:)
patrickrb Aug 18, 2026
f0e5f4a
Merge pull request #746 from patrickrb/feat/ios-subtract-decode
patrickrb Aug 18, 2026
df5864f
Merge pull request #745 from patrickrb/feat/ios-pota-selfspot
patrickrb Aug 18, 2026
65bf435
iOS POTA: authenticated log upload (Cognito hosted-UI OAuth + Keychain)
patrickrb Aug 18, 2026
f1d3949
iOS decode: FT4 mode (RX + mode-parameterized timing)
patrickrb Aug 18, 2026
ac9ac79
Address Copilot review: harden redirect, accurate retry/keychain docs
patrickrb Aug 18, 2026
110668e
Merge pull request #747 from patrickrb/feat/ios-pota-auth
patrickrb Aug 18, 2026
760653c
Address Copilot review: capture TX profile at schedule time; slack reuse
patrickrb Aug 18, 2026
3cbf36d
Merge pull request #748 from patrickrb/feat/ios-ft4-mode
patrickrb Aug 18, 2026
689e0e0
iOS timing: automatic DT calibration now moves the whole clock
patrickrb Aug 18, 2026
2806962
Merge pull request #749 from patrickrb/feat/ios-dt-wholeclock
patrickrb Aug 18, 2026
ded5cc3
iOS decode: lock message-text parity for special FT8 types (tests only)
patrickrb Aug 18, 2026
a80902d
Address Copilot review: accurate coverage doc + fail loudly on decode…
patrickrb Aug 18, 2026
d24b408
Merge pull request #750 from patrickrb/feat/ios-contest-text
patrickrb Aug 18, 2026
7971d52
iOS: DigiRig Data-VOX operation + FT-891 (audio-only, no CAT)
patrickrb Aug 18, 2026
ed37b6c
Auto-sync the clock for real, drop callers who gave up, and swap the …
patrickrb Aug 21, 2026
2776fe1
Turn auto-sync on by default and make it acquire in one slot
patrickrb Aug 21, 2026
075dab8
Address Copilot review on caller-queue refresh (PR #758)
patrickrb Aug 21, 2026
610acaa
Merge pull request #758 from patrickrb/fix/qso-timing-queue-rr73
patrickrb Aug 21, 2026
191c1a8
Pick the Android semver and release notes with Claude on staging/main…
patrickrb Aug 22, 2026
54bb59c
Merge pull request #760 from patrickrb/feat/ai-semver-release-notes
patrickrb Aug 22, 2026
2f41993
Address Copilot review on DigiRig Data-VOX (PR #751)
patrickrb Aug 22, 2026
cb6f53c
Make AudioRouteController.kind(of:) nonisolated (PR #751)
patrickrb Aug 22, 2026
cc40de7
Merge pull request #751 from patrickrb/feat/ios-digirig-vox
patrickrb Aug 22, 2026
daf9d06
Add pt-BR language support
mrgadotti Aug 21, 2026
d76a1d5
Add NTP clock discipline as a GPS-alternative Time Sync source
mrgadotti Aug 21, 2026
5b82973
Fix NTP sync-failed flag on rejected replies; correct stale comment
mrgadotti Aug 22, 2026
157c17c
Rebase PR #757 onto dev and fix review findings
patrickrb Aug 22, 2026
c044c9a
Mention NTP in the self-sync toggle description
patrickrb Aug 22, 2026
de80a9e
Add top safe-drawing inset padding to clear notch/status bar
mrgadotti Aug 21, 2026
78bd592
Pad the landscape notch side too, and test the inset side selection
patrickrb Aug 22, 2026
c481a35
Merge pull request #761 from patrickrb/feat/pr757-ntp-ptbr
patrickrb Aug 22, 2026
7834115
Redesign TX strip (3a) + add Band & Mode sheet (3b)
patrickrb Aug 23, 2026
186b6ae
Address Copilot review: a11y semantics + band-index selection + Tune …
patrickrb Aug 23, 2026
bb0f9ea
Merge pull request #762 from patrickrb/feat/tx-strip-redesign
patrickrb Aug 23, 2026
2fc585e
iOS: fix 4 Copilot review findings from PR #763
patrickrb Aug 23, 2026
205c43c
Merge pull request #764 from patrickrb/fix/ios-review-763
patrickrb Aug 23, 2026
4fa0bef
Merge pull request #763 from patrickrb/dev
patrickrb Aug 23, 2026
1a94b52
iOS: fix 2 follow-up Copilot findings from PR #763
patrickrb Aug 23, 2026
5814607
fix: stop SIGPIPE from failing the Android release changelog step
patrickrb Aug 23, 2026
223839f
Merge pull request #765 from patrickrb/fix/ios-review-763-followup
patrickrb Aug 23, 2026
04a9c93
Merge pull request #766 from patrickrb/fix/android-release-pipefail
patrickrb Aug 23, 2026
1781196
Merge pull request #767 from patrickrb/dev
patrickrb Aug 23, 2026
f774e84
chore: remove Roads on the Air (ROTA) feature and per-QSO GPS logging
patrickrb Aug 23, 2026
bcb98a9
Merge pull request #768 from patrickrb/chore/remove-rota
patrickrb Aug 23, 2026
ce97401
Merge pull request #769 from patrickrb/dev
patrickrb Aug 23, 2026
137a8c6
Refresh Play Store screenshots + richer demo-data harness
patrickrb Aug 23, 2026
0546365
Exclude own-TX echoes from the clock-sync DT pill
patrickrb Aug 24, 2026
0608cc8
Merge pull request #771 from patrickrb/fix/dt-pill-own-echo
patrickrb Aug 24, 2026
523411a
Address Copilot review on demo-data harness (PR #770)
patrickrb Aug 25, 2026
551b0a2
Merge pull request #770 from patrickrb/chore/play-screenshots
patrickrb Aug 25, 2026
daa180f
Make Bluetooth SCO robust: track link state, retry, rebuild mic on co…
patrickrb Aug 25, 2026
c734af9
Fix Cloudlog/Wavelog test-connection over cleartext LAN + report why …
patrickrb Aug 25, 2026
cad454b
Fix IC-705 (and all ICOM) CAT frequency control: civ address hex/deci…
patrickrb Aug 25, 2026
03714ca
Surface IC-705 network connect/disconnect state on the CAT status chi…
patrickrb Aug 25, 2026
538cc75
Enter Bluetooth headset (SCO) mode when a BT headset is the selected …
patrickrb Aug 25, 2026
6f230b6
Detach kernel USB-audio driver so Android sounds can't kill a USB-dir…
patrickrb Aug 25, 2026
07fe505
CLAUDE.md: document the AudioControl-claim TX gotcha (#4)
patrickrb Aug 25, 2026
c060df6
Address Copilot review on BT headset audio device (PR #776)
patrickrb Aug 25, 2026
5cb9b95
Address Copilot review on CI-V address hex fix (PR #774)
patrickrb Aug 25, 2026
8c12c4b
Address Copilot review on Icom WLAN link state (PR #775)
patrickrb Aug 25, 2026
2f9db3b
Address Copilot review on Cloudlog cleartext (PR #773)
patrickrb Aug 25, 2026
420eafa
Address Copilot review on BT SCO link tracker (PR #772)
patrickrb Aug 25, 2026
36d469f
Address Copilot review on kernel USB-audio detach (PR #777)
patrickrb Aug 25, 2026
e8f73f5
Merge pull request #772 from patrickrb/fix/bt-sco-android8-759
patrickrb Aug 25, 2026
6f8ab14
Merge pull request #773 from patrickrb/fix/cloudlog-cleartext-756
patrickrb Aug 25, 2026
3afe3e3
Merge pull request #774 from patrickrb/fix/civ-address-hex-753
patrickrb Aug 25, 2026
1a54693
Merge pull request #775 from patrickrb/fix/icom-wifi-link-state-754
patrickrb Aug 25, 2026
2dc46a9
Merge pull request #776 from patrickrb/fix/bt-headset-audio-device-723
patrickrb Aug 25, 2026
9e8b040
Merge pull request #777 from patrickrb/fix/usb-audio-detach-kernel-dr…
patrickrb Aug 25, 2026
1942654
Address Copilot review on dev → staging promotion (PR #778)
patrickrb Aug 26, 2026
6ab072f
Merge pull request #779 from patrickrb/fix/copilot-review-778
patrickrb Aug 26, 2026
9497fce
Merge pull request #778 from patrickrb/dev
patrickrb Aug 26, 2026
5c67d32
Localize the Play Store listings into all 17 shipping languages
patrickrb Aug 31, 2026
72f0ff9
Document the Play Console permission the listing publish needs
patrickrb Aug 31, 2026
f236373
Fix Bluetooth CAT-write crash when the link drops mid-QSO (disconnect…
Aug 31, 2026
adabd4b
POTA: show mode, "ago" time, long-press for UTC in contact list
Aug 31, 2026
c3b7be6
Fix waterfall tap alignment and add close button to bottom sheets
Aug 31, 2026
d155165
Follow IC-705 dial changes: add IcomRig frequency poll timer (#753)
Aug 31, 2026
c415546
Steer TX to A2DP when Default output shares a BT link with SCO (#759)
Aug 31, 2026
752a485
Address Copilot review on Play store listings (PR #784)
patrickrb Aug 31, 2026
9846b8a
Stop a transport error in abandon_edit from masking the real failure …
patrickrb Aug 31, 2026
2bb7524
Refresh every listing with the features the app actually ships
patrickrb Aug 31, 2026
966758a
Address Copilot review round 3 on Play store listings (PR #784)
patrickrb Sep 1, 2026
b19fb67
Address Copilot review round 4 on Play store listings (PR #784)
patrickrb Sep 1, 2026
8049fd8
Merge pull request #784 from patrickrb/feat/play-store-listings
patrickrb Sep 1, 2026
8026de4
Let a manual run pick the mode, so the permission probe is reachable
patrickrb Sep 1, 2026
62d9792
Address Copilot review on PR #791
patrickrb Sep 1, 2026
cde4743
Name the permission Play Console actually shows
patrickrb Sep 1, 2026
0c1d7ed
Correct the docs: the store-presence grant is already in place
patrickrb Sep 1, 2026
a8ab16d
Merge pull request #792 from patrickrb/dev
patrickrb Sep 1, 2026
730db4d
Create listings with PUT; PATCH 404s on a language Play has never had
patrickrb Sep 1, 2026
e12e8fe
CI: stop publishing to Play production on staging -> main merges
patrickrb Sep 1, 2026
a23574c
Address Copilot review on Bluetooth CAT disconnect race (PR #786)
patrickrb Sep 1, 2026
08d8f85
Address Copilot review on POTA contact-row time/details formatting (P…
patrickrb Sep 1, 2026
c55aa62
Address Copilot review on waterfall tap alignment + sheet close (PR #…
patrickrb Sep 1, 2026
59a1cd5
Address Copilot review on IcomRig frequency poll timer (PR #789)
patrickrb Sep 1, 2026
9fcc120
Address Copilot review on A2DP TX steering (PR #790)
patrickrb Sep 1, 2026
18a39f3
Address Copilot review on manual Play production ship (PR #794)
patrickrb Sep 1, 2026
9ac0db3
Merge origin/dev into PR #786 (resolve Bluetooth write-guard conflicts)
patrickrb Sep 2, 2026
4c8c563
Merge origin/dev into PR #788 (resolve WaterfallScreen + strings conf…
patrickrb Sep 2, 2026
c4e51bc
Address Copilot review on POTA UTC tooltip seconds check (PR #787)
patrickrb Sep 2, 2026
e201359
Address Copilot review on left-edge tap cursor (PR #788)
patrickrb Sep 2, 2026
a9449c8
Address Copilot review on the permission probe (PR #791)
patrickrb Sep 2, 2026
a557bce
Address Copilot review on the manual production ship (PR #794)
patrickrb Sep 2, 2026
95e1745
Address Copilot review on SCO latch ordering for A2DP steering (PR #790)
patrickrb Sep 2, 2026
ec40196
Merge pull request #786 from patrickrb/optio/task-551d886f-889c-4cad-…
patrickrb Sep 2, 2026
da41a0a
Address Copilot review on overlong ADIF time_on (PR #787)
patrickrb Sep 2, 2026
bf48dd0
Address Copilot review on off-view drags and view-level touch tests (…
patrickrb Sep 2, 2026
a771dbe
Address Copilot review on SCO latch scope, endpoint identity, orderin…
patrickrb Sep 2, 2026
f02f7ff
Address Copilot re-review: tested verdict annotations, PUT wording (P…
patrickrb Sep 2, 2026
efef224
Address Copilot re-review: fail closed when the manual ship cannot re…
patrickrb Sep 2, 2026
f6a001d
Address Copilot suppressed comments on the IcomRig dial poll (PR #789)
patrickrb Sep 2, 2026
f67b83e
Address Copilot review: API 28 getAddress, VOX latch, mixed SCO addre…
patrickrb Sep 2, 2026
f1e9e34
Address Copilot review: --annotate-verdict cannot ride along with a m…
patrickrb Sep 2, 2026
a47b3de
Address Copilot suppressed comments: concurrency, notes check, docs (…
patrickrb Sep 2, 2026
a68296f
Address Copilot suppressed comment: localize the POTA "ago" labels (P…
patrickrb Sep 2, 2026
2c134eb
Merge pull request #788 from patrickrb/optio/task-290a0081-6506-4a12-…
patrickrb Sep 2, 2026
5b48a09
Address Copilot review: volatile link/PTT flags, timer-free poll test…
patrickrb Sep 2, 2026
343d137
Address Copilot review: API 23 interfaces, permission-safe address, t…
patrickrb Sep 2, 2026
e6173c7
Address Copilot review: probe_annotation docstring states the three o…
patrickrb Sep 2, 2026
3a9489f
Address Copilot review: tested release-notes restoration script (PR #…
patrickrb Sep 2, 2026
77189b5
Address Copilot review: translate the "ago" resources, accessible UTC…
patrickrb Sep 2, 2026
095c89b
Merge pull request #787 from patrickrb/optio/task-13bef2d4-980e-4999-…
patrickrb Sep 2, 2026
1430411
Merge pull request #790 from patrickrb/optio/task-fc437d41-cbb9-4e40-…
patrickrb Sep 2, 2026
12ce14a
Merge pull request #791 from patrickrb/feat/play-listings-dispatch-mode
patrickrb Sep 2, 2026
db22e3d
Address Copilot review: guarantee nonblank notes at the producer (PR …
patrickrb Sep 2, 2026
2ea8e5f
Address Copilot review: volatile connector, serialized CI-V sends, sc…
patrickrb Sep 2, 2026
a3fe978
Address Copilot review: keep main serialized, drop the PR-list sentin…
patrickrb Sep 2, 2026
5835ab5
Address Copilot review: ViewModel teardown, PTT flag ordering, monoto…
patrickrb Sep 2, 2026
57e7a68
Address Copilot suppressed comment: budget release notes in UTF-8 byt…
patrickrb Sep 2, 2026
6042b40
Address Copilot review: tested rig cleanup seam, nonzero delivery sta…
patrickrb Sep 2, 2026
81d991e
Merge pull request #789 from patrickrb/optio/task-21e7902b-9623-447b-…
patrickrb Sep 2, 2026
2714367
Fix cut calculation for release notes truncation
patrickrb Sep 2, 2026
ce351d6
Merge pull request #794 from patrickrb/chore/no-play-production-on-main
patrickrb Sep 2, 2026
fd67902
Merge pull request #795 from patrickrb/dev
patrickrb Sep 2, 2026
01e755c
Add RX audio channel select (Mix / Left / Right) for stereo inputs
patrickrb Sep 3, 2026
3d9aa94
Add TX channel select, mono detection, and full-duplex monitoring
patrickrb Sep 4, 2026
f7f2fce
Load styles.css from disk at runtime instead of bundling it at build …
laniol8926 Sep 4, 2026
7bb85aa
Add Linux launcher wrapper working around a real Hamlib/QMX version c…
laniol8926 Sep 4, 2026
fb86646
Fix unreadable input/select text: light --text color on a light nativ…
laniol8926 Sep 4, 2026
d42c4a8
Fix invisible text caret in input/select fields
laniol8926 Sep 4, 2026
1adc1b6
Revert "Fix invisible text caret in input/select fields"
laniol8926 Sep 4, 2026
28463d2
Revert "Fix unreadable input/select text: light --text color on a lig…
laniol8926 Sep 4, 2026
9680d65
Scoped, verified-safe fix: white text on the Rig control Display name…
laniol8926 Sep 4, 2026
ae91521
Address review: tune channel select, echo tagging, mono detection gaps
patrickrb Sep 4, 2026
bff5992
Scoped black-text fix for select fields; add --list-audio debug helper
laniol8926 Sep 4, 2026
365d2b5
Merge pull request #796 from patrickrb/feat/rx-audio-channel
patrickrb Sep 4, 2026
e6ad792
Merge pull request #798 from patrickrb/dev
patrickrb Sep 4, 2026
f389894
Add live RX input gain control, placed next to the decode filter chips
laniol8926 Sep 5, 2026
6b53872
Add branded POTA activation image sharing on Android
patrickrb Sep 7, 2026
e82c84a
Keep image export compatible with HTML summaries and disclose indexing
patrickrb Sep 7, 2026
fb8318a
Merge pull request #802 from patrickrb/codex/pota-activation-sharing
patrickrb Sep 8, 2026
278a6d3
Merge pull request #803 from patrickrb/dev
patrickrb Sep 8, 2026
43be433
Merge remote-tracking branch 'origin/dev' into runtime-styles-css-v2
laniol8926 Sep 8, 2026
74b4735
Address code review on the runtime-CSS / RX-gain PR
patrickrb Sep 8, 2026
dd0cbd6
Merge pull request #804 from laniol8926/runtime-styles-css-v2
patrickrb Sep 8, 2026
97d4c5e
Merge pull request #805 from patrickrb/dev
patrickrb Sep 8, 2026
416f94e
Make the Play listing publish manual-only
patrickrb Sep 8, 2026
fe346e4
Merge pull request #806 from patrickrb/chore/listings-manual-only
patrickrb Sep 8, 2026
37f40fa
Merge pull request #807 from patrickrb/dev
patrickrb Sep 8, 2026
c95b4a0
Stop the Android Auto screen from asking the driver to use their phone
patrickrb Sep 9, 2026
5177c3d
Unwire Android Auto from the shipping app
patrickrb Sep 9, 2026
caadc95
Merge pull request #809 from patrickrb/fix/auto-driving-mode-phone-pr…
patrickrb Sep 9, 2026
9455e67
Merge pull request #810 from patrickrb/dev
patrickrb Sep 9, 2026
c98505e
Retry the Play publish with the opposite review flag
patrickrb Sep 9, 2026
a34e3fe
Merge pull request #811 from patrickrb/fix/play-publish-review-flag
patrickrb Sep 9, 2026
2b951dd
Merge pull request #812 from patrickrb/dev
patrickrb Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
93 changes: 93 additions & 0 deletions .github/scripts/android-next-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/usr/bin/env bash
# Compute the next Android semver from a previous version and a bump kind.
#
# android-next-version.sh <previous-version> <major|minor|patch>
#
# <previous-version> may carry an `android-v` / `v` prefix and may be the
# legacy two-part `x.y` form used by tags up to android-v0.149 — it is
# normalised to `x.y.0` before bumping, so the version sequence stays
# continuous across the switch to full semver. Prints `x.y.z` on stdout.
#
# Used by .github/workflows/android.yml; kept in its own file so the version
# maths can be exercised locally (see the self-test at the bottom:
# `android-next-version.sh --self-test`).
set -euo pipefail

normalise() {
local v="${1#android-v}"
v="${v#v}"
if [[ "$v" =~ ^[0-9]+$ ]]; then
v="$v.0.0"
elif [[ "$v" =~ ^[0-9]+\.[0-9]+$ ]]; then
v="$v.0"
fi
if ! [[ "$v" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "android-next-version: '$1' is not a version (x, x.y or x.y.z)" >&2
return 1
fi
echo "$v"
}

bump() {
local prev bump ma mi pa
# Explicit `|| return` — `set -e` is suspended inside an `if`/`&&` caller,
# so a failed normalise would otherwise fall through with an empty $prev.
prev=$(normalise "$1") || return 1
bump="$2"
IFS=. read -r ma mi pa <<< "$prev"
case "$bump" in
major) echo "$((ma + 1)).0.0" ;;
minor) echo "${ma}.$((mi + 1)).0" ;;
patch) echo "${ma}.${mi}.$((pa + 1))" ;;
*)
echo "android-next-version: unexpected bump '$bump' (want major|minor|patch)" >&2
return 1 ;;
esac
}

self_test() {
local fails=0
check() {
local got
if got=$(bump "$1" "$2" 2>/dev/null) && [[ "$got" == "$3" ]]; then
echo "ok $1 + $2 -> $got"
else
echo "FAIL $1 + $2 -> '${got:-<error>}' (want $3)"; fails=$((fails + 1))
fi
}
check_fails() {
if bump "$1" "$2" >/dev/null 2>&1; then
echo "FAIL $1 + $2 should have been rejected"; fails=$((fails + 1))
else
echo "ok $1 + $2 rejected"
fi
}
# legacy two-part production tags normalise to x.y.0 first
check android-v0.149 patch 0.149.1
check android-v0.149 minor 0.150.0
check android-v0.149 major 1.0.0
check 0.149 patch 0.149.1
# full semver
check v1.2.3 patch 1.2.4
check 1.2.3 minor 1.3.0
check 1.2.3 major 2.0.0
check 1.2.9 patch 1.2.10
# one-part
check 2 patch 2.0.1
# garbage in
check_fails 1.2.3.4 patch
check_fails abc patch
check_fails 1.2.3 huge
check_fails "" patch
if (( fails )); then echo "$fails self-test failure(s)"; return 1; fi
echo "all self-tests passed"
}

if [[ "${1:-}" == "--self-test" ]]; then
self_test
elif [[ $# -eq 2 ]]; then
bump "$1" "$2"
else
echo "usage: $0 <previous-version> <major|minor|patch> | --self-test" >&2
exit 2
fi
Loading
Loading