Serving Indiana Amateurs Since 1971

Freqy Coordination DB Status and updates

As a follow up to our on-line meeting:

Here’s a rundown of everything that changed in freqy this afternoon —
a few things everyone will notice, some new tools for admins, and the
full story behind a data bug that’s been quietly running since spring.

FOR EVERYONE
————

– Map pins now match record status
On a record’s detail page, the pin on the map is colored by status —
green for Final, yellow for New / Construction Permit, blue for
Audit, red for Cancelled / Expired — same colors as the status badge
next to the record ID. Used to be a plain generic pin.

– Directory map pins fixed too
Same fix, extended to the repeater Directory’s Map tab — those pins
were still plain blue regardless of status. Now colored the same way.

– Record detail map opens centered correctly
If you’ve ever had to zoom way out on the Site & Antenna tab to find
your own pin — fixed. The map was sizing itself while the tab was
still hidden and got the zoom wrong; it now recenters when you open
that tab.

– Polarization is now a dropdown
Horizontal, Vertical, or Mixed — on the new application form and both
edit forms. Used to be free text.

– New: Antenna Mount fields
You can now record whether an antenna is Top or Side mounted, and
which compass side if side-mounted — for both the TX antenna and a
linked RX antenna.

– Feedline Loss — nothing changed, just confirming
Someone asked whether this was being collected. It already was — the
“Feedline Loss (dB)” field on every application form — and it already
feeds the ERP calculation. No action needed.

FOR ADMINS
———-

– New: view a user’s account the way they see it
From a user’s Edit page, click “View as {callsign}” to browse freqy
exactly as that user would — their dashboard, their records only, no
admin menu. A banner stays on screen with a Return to Admin button.
Auto-returns after 5 minutes idle. Can’t impersonate yourself or
another admin.

– New: optional pin-location privacy (off by default)
MAP_OBFUSCATE_COORDS can round Directory map pins to ~100–1000m of
precision so a browsing member can’t get turn-by-turn directions to a
physical site. The database still keeps exact coordinates for
coordination math and coverage plots — this only affects the map.

– New: records can auto-expire (deliberately off)
AUTO_EXPIRE_RECORDS will flip a record’s status to Expired once its
two-year date passes. Built and tested, but must STAY OFF until we’ve
fully cut over from Flexweb — a test run found 557 of 862 sandbox
records already past expiration, some since 2017. We’ll turn this on
deliberately, not by accident.

– Removed: the “Inherit” checkbox
Carried over from the old Flexweb import but nothing in freqy ever
actually read it. Gone from the edit form and the database.

– Fixed: Edit User page showed “Admin” even when unchecked
The badge next to a user’s name was hardcoded to always say Admin,
regardless of the actual checkbox state. Likely part of why AK9R’s
admin status looked fine at a glance when it wasn’t — see below.

THE IMPORT BUG, IN FULL
————————

This one’s worth walking through end to end — it explains several odd
things people had separately noticed: AK9R’s record ownership, missing
Expired records, and a permissions mixup on his account.

1. What we noticed
A repeater record still showed W9BU as the owner in freqy, even
though it had genuinely changed hands to AK9R on Flexweb. Not a
typo — freqy was correct once, then just stopped updating.

2. Root cause, part one
The nightly sandbox refresh script talks to the database through
docker exec commands. Several were missing a required flag (-i),
which meant those commands — including the nightly database wipe
that’s supposed to rebuild the sandbox from fresh Flexweb data —
silently never reached the database. The script still reported
success every time.

3. How long
About four months. One record’s timestamp told the story: 806 of
862 records in the sandbox still carried the exact same
“first imported” date from back in April — meaning the nightly
refresh had, for all practical purposes, not refreshed anything.

4. Root cause, part two
Separately — and this alone would’ve caused the same symptom even
with a working refresh — the import script updates every field on a
record except ownership. Once a record existed in freqy, its owner
was frozen forever, even after a legitimate transfer on Flexweb.

5. The AK9R permissions mixup
Separately again: new accounts always import as non-admin — Flexweb
has no concept of “admin.” When AK9R’s account was deleted and
re-added while troubleshooting, it came back non-admin, and the
badge bug (above) hid that the checkbox itself was unchecked.
That’s why some actions worked and others quietly didn’t.

6. Fixed
Both root causes are patched: the docker exec commands now include
-i, and the import script updates ownership on every sync, just
like every other field. Verified live — ownership corrected itself
immediately, changelogs started importing again, and 854 records
came back with today’s date.

Impact: 135 records had frozen ownership, now corrected. ~4 months the
nightly refresh was silently a no-op. Two separate bugs, either one
alone would’ve caused this.

Nothing was lost. Flexweb itself was never at risk — this only
affected how faithfully the freqy sandbox mirrored it. The sandbox now
refreshes for real every night, and every record’s owner reflects the
true, current Flexweb data going forward.

SHIPPED TODAY
————-
v2.15 — ownership sync fix
v2.16 — status pins, antenna mount, map privacy, gated auto-expire
v2.17 — impersonation, inherit removed, map tab fix
v2.18 — Directory map pins colored by status too

Summer Online Meeting – 2026

We will hold our annual online meeting via Google Meet on Saturday, August 29th at 1300 EST.

Given the attendance at our last two on-line meetings, we’ve opted not to renew our Zoom license as a cost saving measure.  We’re going to give the Google Meet free tier a shot this year.

Link: https://meet.google.com/pyo-azuy-hzj

We look forward to your participation.

New online Membership Database

We’ve officially rolled out the online membership portal which will allow you to view your current status, update your contact info, etc.  I will be sending out a one-time password reset to each member’s on-file email, so look for that.

 

You can access it here: https://membership.ircinc.org/login

 

If you encounter any issues, please take a screenshot and email it to NF9K at chairman@ircinc.org, including as much detail as possible about what you were doing when the error occurred.

2026 Officer Election Results

Officer Elections were held at our February meeting.  Nominations were called for from the floor.  Each member of the current elected staff was nominated for another term, beginning 2/7/2026.  There were no further nominations.  Thus the results were:

  • Chairman: Bill Atkinson, NF9K
  • Vice-Chairman: Bob Burns, AK9R
  • Secretary/Treasurer: Mike Sercer, WA9FDO

Again, we thank you for your trust.

Address Change/PO Box Closure

As part of a money saving effort, it was decided at our November meeting to do away with our PO Box.  As a result our mailing address has changed.  Future address changes will occur when a new secretary-treasurer is elected.  This inconvenience is minor compared to the yearly outlay for the PO Box.

 

NEW ADDRESS
Indiana Repeater Council Inc.
8575 N. County Rd. 650 E.
Brownsburg, IN. 46112-9298

 

You can always review updated information here: https://www.ircinc.org/?page_id=96.

Frequencies Wanted!

On some Amateur bands in many areas, there are few if any frequencies available upon which a new repeater can be coordinated without causing harmful interference.

Sometimes we discover that we have a repeater coordinated that has been inoperative for some time, and will not be placed back on the air. These frequencies need to be made available for new repeaters.

It is important that repeater operators who have inoperative repeaters be considerate of their fellow Amateurs by releasing unused frequencies. Please be honest and realistic about the likelihood of your repeater being placed back into operation. I am sure that we could grant more coordination’s if we knew about every unused frequency out there.

We realize that circumstances occur that interrupts the continuous operation of a repeater. If a repeater experiences technical problems, the best way to protect the coordination is to let us know what is going on. If we are aware of the situation, we will hold your coordination valid for a reasonable time, to permit repair or replacement of components.

We have no desire to de-coordinate repeaters when the operator is making a good faith effort to restore operation.

We do, however need to identify and make available frequencies, which are not going to be utilized in the reasonable future.