Skip to main content

Nexgen V3 feature flags

The V3 SPA reads feature flags from the axxya_features cookie and the ?features= query parameter, both handled by FeatureFlagsService. Gating is entirely client-side, so a flag changes only what the current browser sees. It does not change what the account is licensed for and it grants no new permissions.

The three module view flags (label_only, diet_only, menu_only) are mutually exclusive. Turning one on turns the other two off, and neither the query parameter nor the persisted cookie ever holds more than one of them. full_menu is independent and can be combined with any of them.

Turning flags on and off​

Add a flag with the query parameter. It replaces whatever was in the cookie and persists for the session:

https://app.nutritionistpro.com/?features=label_only

Switch to a different module view by passing a different flag. Because the module flags are mutually exclusive, this also clears the previous one:

https://app.nutritionistpro.com/?features=menu_only

Turn everything off by passing an empty value or the word clear, then reload:

https://app.nutritionistpro.com/?features=
https://app.nutritionistpro.com/?features=clear

You can also set or clear the axxya_features cookie directly from the browser console:

// turn a flag on
document.cookie = 'axxya_features=diet_only; path=/';

// turn all flags off
document.cookie = 'axxya_features=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';

Seeing which flags are on​

The SPA Settings page (user menu, then Settings) ends with an Active Feature Flags card that lists every flag in the browser's axxya_features cookie. The card only appears when at least one flag is on, so a customer who never used ?features= never sees it. It names the flags and carries a ?features=clear link that reloads Settings with every flag off; ?features=-name turns one off. The list is whatever the cookie holds, so a retired flag such as api shows up there too until it is cleared.

Available flags​

  • full_menu - Reveals the full menu features. This is the original reveal-style flag; it adds functionality rather than restricting it, so it can be combined with a module view flag.
  • migration - Opens the Migrate and Verify steps of the Desktop Migration Manager page (/migration), which is server-rendered and reads the same cookie.
  • label_only - Restricts the SPA view to the Label module. Sidebar links, dashboard cards, sub-dashboard tiles, and reports cards for the other modules are hidden, reproducing what a Label-only customer sees.
  • diet_only - Restricts the SPA view to the Diet module. Only Diet features (plus shared and core features) remain visible.
  • menu_only - Restricts the SPA view to the Menu module. Only Menu features (plus shared and core features) remain visible.

Notes​

  • The api flag that hid the Settings page API Key card was removed when the customer API was released in October 2026. The card now shows for every paying user, and a leftover api value in a browser's cookie does nothing.

  • The module view flags are for previewing a single module's experience from an all-module account. They are view-only and presentational; they do not change licensing or enforce any permission on the backend.

  • Shared and core features (dashboard, reports, account) stay visible under every module view flag.

  • These flags are client-side only. There are no backend, database, or seeder changes tied to them.