Skip to content

feat: add Jmix account sign-in and Enterprise+BPM trial (#9) - #10

Merged
Fedoseew merged 23 commits into
mainfrom
feat/account-trial
Nov 3, 2026
Merged

Fedoseew merged 23 commits into
mainfrom
feat/account-trial

Conversation

@Fedoseew

@Fedoseew Fedoseew commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator
  • Add browser sign-in, local sign-out, and account status in the CLI menu.
  • Download or start the Enterprise+BPM trial, choose its destination and demo module, and show run instructions.
  • Configure premium Gradle credentials for commercial add-ons with interactive conflict handling.

Three independent reviews covered account and trial security, generation and wizard behavior, and release verification. Follow-up checks reproduced the fixes for session races, stalled responses, and trial extraction failures.

Tracks #9.

AccessTokens refreshes once per process, keeps the rotated refresh token and
deletes the session when the provider ends it. StoreClient reads the store's
subscriptions, trial availability and trial start, with one refresh-and-retry
on a 401.

The checked-cast string reader that SessionStore, TokenClient and BrowserSignIn
each carried now lives in util/Json.kt and StoreClient uses it too.
Add the account-and-trial feature guide and link it from AGENTS.md and the README,
with the session location and the new options-table wording for --no-update and -h.
Point the add-ons guide at jmix trial, and note jdk.httpserver in the distribution guide.

Extend the installer tests (shell and PowerShell) to run login --help and trial --help
and to require jdk.httpserver in the runtime image, which only the installed CLI needs.
A browser that still has a Jmix sign-in session completes the sign-in
without showing a page, so jmix trial could ask to start the trial
without ever naming the account. signInInteractively, which jmix login
and jmix trial share, now prints the "Signed in ..." line itself.
Without a name or email claim the line reads "Signed in to your Jmix
account." instead of "... as your Jmix account."
Clikt's test() runs Mordant's JNA terminal detection, so every test run
printed four "restricted method" warnings on JDK 25. Use the flag the
application already passes.
The account/trial row filtered only the account and trial packages and
skipped LoginCommandTest, LogoutCommandTest and TrialCommandTest. Use
the command from the feature guide.
Group commands in a dedicated package and add a responsive menu with cached account details, logo-only animation and navigation back from project creation.

Prevent credential leaks through redirects and errors, validate trial archives, and add regression tests and updated documentation.
@Fedoseew
Fedoseew marked this pull request as ready for review November 3, 2026 09:26
@Fedoseew
Fedoseew merged commit 5867cfc into main Nov 3, 2026
4 checks passed
@Fedoseew
Fedoseew deleted the feat/account-trial branch November 3, 2026 10:17
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.

1 participant