# [Bug] Empty State/Province Dropdown in Profile Configuration #1110

Closed
opened 2026-08-27 14:28:13 +00:00 by enjin2310 · 2 comments

Summary

The State / Province dropdown in the profile configuration page remains empty and does not populate any options, preventing users from completing their mailing address.

Issue Description

When editing the mailing address in the profile settings, the State / Province field displays the placeholder “-- Select --” but fails to load any selectable options. The dropdown remains blank even after selecting a valid country and city, making it impossible to save a complete address.

Environment

Property Value
Application SpikerSoft Learn
Module Profile Configuration
Environment Production
Browser Firefox
Operating System Windows 11
Version v2026.08.27b
Device Desktop

Preconditions

User must be logged in and have a valid country and city selected in the profile form.

Steps to Reproduce

  1. Log in to the SpikerSoft platform.
  2. Navigate to Profile > Configuration.
  3. Scroll to the Mailing Address section.
  4. Select a country (e.g., Cuba) and city (e.g., Viñales).
  5. Attempt to open the State / Province dropdown.

Expected Result

The dropdown should display a list of valid provinces or states corresponding to the selected country.

Actual Result

The dropdown remains empty, showing only “-- Select --” with no available options.

Evidence

  • The screenshot shows the State / Province field with the placeholder “-- Select --” and no populated options.
  • Other fields (Country, City, Postal Code) are correctly filled and functional.

Impact

  • Users cannot complete their mailing address.
  • Validation errors may occur when saving the profile.
  • Location-dependent features may fail due to incomplete address data.

Frequency

Always

Reproducibility

100%

Severity

Medium

Notes

The issue may be caused by a missing or broken API call for region data. It is recommended to verify the backend endpoint responsible for loading provinces based on the selected country.

## Summary The **State / Province** dropdown in the profile configuration page remains empty and does not populate any options, preventing users from completing their mailing address. ## Issue Description When editing the mailing address in the profile settings, the **State / Province** field displays the placeholder “-- Select --” but fails to load any selectable options. The dropdown remains blank even after selecting a valid country and city, making it impossible to save a complete address. ## Environment | Property | Value | |-----------|--------| | Application | SpikerSoft Learn | | Module | Profile Configuration | | Environment | Production | | Browser | Firefox | | Operating System | Windows 11 | | Version | v2026.08.27b | | Device | Desktop | ## Preconditions User must be logged in and have a valid country and city selected in the profile form. ## Steps to Reproduce 1. Log in to the SpikerSoft platform. 2. Navigate to **Profile > Configuration**. 3. Scroll to the **Mailing Address** section. 4. Select a country (e.g., Cuba) and city (e.g., Viñales). 5. Attempt to open the **State / Province** dropdown. ## Expected Result The dropdown should display a list of valid provinces or states corresponding to the selected country. ## Actual Result The dropdown remains empty, showing only “-- Select --” with no available options. ## Evidence - The screenshot shows the **State / Province** field with the placeholder “-- Select --” and no populated options. - Other fields (Country, City, Postal Code) are correctly filled and functional. ## Impact - Users cannot complete their mailing address. - Validation errors may occur when saving the profile. - Location-dependent features may fail due to incomplete address data. ## Frequency Always ## Reproducibility 100% ## Severity Medium ## Notes The issue may be caused by a missing or broken API call for region data. It is recommended to verify the backend endpoint responsible for loading provinces based on the selected country.
Owner

Confirmed and fixed — thanks George, this was a real one and the report was spot on, including your guess about the region API.

Root cause. GET /api/PostalCodes/states/{country} is backed by a postal table seeded from the GeoNames free export, which publishes no postal file for Cuba. The seeder treats that as a non-fatal per-country error and succeeds on the other twelve countries, so Cuba was left with zero rows permanently. Measured on production:

Country States returned
USA 52
ARG 23
MEX 32
CUB 0

You also correctly predicted the downstream impact: State / Province is a required field, so an empty list made the whole mailing address unsaveable.

Fixes (two, because the trap has two halves):

  • spikerj/spikersoft-backend#780 — when the postal table has no rows for a country, fall back to the geography dataset's ISO 3166-2 subdivisions. Cuba's provinces already exist there. This also covers any country we add in future that GeoNames has no postal file for.
  • spikerj/spikersoft-angular#888 — if a country has no subdivisions in either dataset, the field becomes a text box with a hint instead of a dead dropdown, so a required field is always satisfiable.

One extra thing your report surfaced: the frontend was swallowing HTTP errors into an empty list, so a genuine backend outage looked identical to "this country has no provinces". That is now visibly different to the user.

Will close once both merge and deploy.

Confirmed and fixed — thanks George, this was a real one and the report was spot on, including your guess about the region API. **Root cause.** `GET /api/PostalCodes/states/{country}` is backed by a postal table seeded from the GeoNames free export, which publishes no postal file for Cuba. The seeder treats that as a non-fatal per-country error and succeeds on the other twelve countries, so Cuba was left with zero rows permanently. Measured on production: | Country | States returned | |---|---| | USA | 52 | | ARG | 23 | | MEX | 32 | | **CUB** | **0** | You also correctly predicted the downstream impact: `State / Province` is a required field, so an empty list made the whole mailing address unsaveable. **Fixes** (two, because the trap has two halves): - spikerj/spikersoft-backend#780 — when the postal table has no rows for a country, fall back to the geography dataset's ISO 3166-2 subdivisions. Cuba's provinces already exist there. This also covers any country we add in future that GeoNames has no postal file for. - spikerj/spikersoft-angular#888 — if a country has no subdivisions in *either* dataset, the field becomes a text box with a hint instead of a dead dropdown, so a required field is always satisfiable. One extra thing your report surfaced: the frontend was swallowing HTTP errors into an empty list, so a genuine backend outage looked identical to "this country has no provinces". That is now visibly different to the user. Will close once both merge and deploy.
Owner

Fixed and merged — closing.

Cuba has no GeoNames postal data at all, so the dropdown had nothing to show. The backend now falls back to the geography corpus for subdivisions (spikerj/spikersoft-backend#780) and the form degrades to a free-text field when a country genuinely has no curated list (spikerj/spikersoft-angular#888).

The change is on master and deployed. Please re-test when you get a chance; if you still see it, reopen this issue rather than filing a new one so the history stays together.

Fixed and merged — closing. Cuba has no GeoNames postal data at all, so the dropdown had nothing to show. The backend now falls back to the geography corpus for subdivisions (spikerj/spikersoft-backend#780) and the form degrades to a free-text field when a country genuinely has no curated list (spikerj/spikersoft-angular#888). The change is on `master` and deployed. Please re-test when you get a chance; if you still see it, reopen this issue rather than filing a new one so the history stays together.
Sign in to join this conversation.