Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STCOR-864 correctly evaluate typeof stripes.okapi #1498

Merged
merged 2 commits into from
Jun 25, 2024
Merged

Conversation

zburke
Copy link
Member

@zburke zburke commented Jun 25, 2024

Stripes should render <ModuleContainer> either when discovery is complete or when okapi isn't present at all, i.e. when stripes.config.js doesn't even contain an okapi entry. What's most amazing about this bug is not the bug, which is a relatively simple typo, but that it didn't bite us for more than six years.

Ignore the "new" AuthnLogin test file; those tests were previously stashed in RootWithIntl.test.js for some reason and have just been relocated.

See also #153, where this bug was introduced, and #1497, where it is fixed on the master branch (yes, we would eventually pick that up via rebasing, but I'm impatient).

Refs STCOR-864

Stripes should render `<ModuleContainer>` either when discovery is
complete or when okapi isn't present at all, i.e. when
`stripes.config.js` doesn't even contain an `okapi` entry. What's most
amazing about this bug is not the bug, which is a relatively simple
typo, but that it didn't bite us for more than six years.

Ignore the "new" AuthnLogin test file; those tests were previously
stashed in `RootWithIntl.test.js` for some reason and have just been
relocated.

Refs STCOR-864
@zburke zburke requested review from ryandberger and aidynoJ June 25, 2024 18:56
Copy link

github-actions bot commented Jun 25, 2024

Jest Unit Test Results

260 tests  +6   260 ✅ +6   55s ⏱️ -2s
 51 suites +1     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 8c763c9. ± Comparison against base commit eed1ba5.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 25, 2024

Bigtest Unit Test Results

192 tests  ±0   187 ✅ ±0   6s ⏱️ ±0s
  1 suites ±0     5 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 8c763c9. ± Comparison against base commit eed1ba5.

♻️ This comment has been updated with latest results.

@@ -72,7 +72,7 @@ const RootWithIntl = ({ stripes, token = '', isAuthenticated = false, disableAut
event={events.LOGIN}
stripes={connectedStripes}
/>
{ (connectedStripes.okapi !== 'object' || connectedStripes.discovery.isFinished) && (
{ (typeof connectedStripes.okapi !== 'object' || connectedStripes.discovery.isFinished) && (
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZOMG!

Copy link
Member

@ryandberger ryandberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 👍 👍

BTOG init never conducted discovery, but _did_ pass an okapi object
during application setup, which is another way of saying that our
application didn't have anything that relied on the presence of this
bug, but our test suite did.
Copy link

@zburke zburke merged commit 6201292 into keycloak-ramsons Jun 25, 2024
26 checks passed
@zburke zburke deleted the STCOR-864 branch June 25, 2024 20:55
zburke added a commit that referenced this pull request Jul 25, 2024
Stripes should render `<ModuleContainer>` either when discovery is
complete or when okapi isn't present at all, i.e. when
`stripes.config.js` doesn't even contain an `okapi` entry. What's most
amazing about this bug is not the bug, which is a relatively simple
typo, but that it didn't bite us for more than six years.

BTOG init never conducted discovery, but _did_ pass an okapi object
during application setup, which is another way of saying that our
application didn't have anything that relied on the presence of this
bug, but our test suite did. :|

Ignore the "new" AuthnLogin test file; those tests were previously
stashed in `RootWithIntl.test.js` for some reason and have just been
relocated.

Refs STCOR-864

(cherry picked from commit 6201292)
zburke added a commit that referenced this pull request Sep 20, 2024
The time has come. The time is now. 
`keycloak-eureka` will you please merge now!
You can go in a merge commit. You can squash with ease.
You can go in a rebase. But please merge. Please!

* STCOR-773 #1385: Handle Eureka-based discovery
* #1388: handle absent `provides` property on interfaces in Settings > About
* STCOR-790 #1389: Pass client-id from stripes-config to keycloak
* STCOR-794 #1400: Reset pre-login tenant-selection form when navigating back to it
* STCOR-795 #1399: When `users-keycloak` interface is present, use its API for password-reset
* STCOR-796 #1410: replace x-okapi-token credentials with RTR and cookies
* STCOR-811 #1417: retrieve AT/RT expiration data from `/authn/token` response
* STCOR-812 #1416: include `X-Okapi-Tenant` header in call to `/authn/logout`
* STCOR-813 #1421: correctly parse `.../_self` permissions
* STCOR-810 #1418 #1427 #1429: leverage `stripes-config::config.tenantOptions` in place of deprecated tenant-entitlement values
* STCOR-803 #1426: logout immediately, without confirming or redirecting through keycloak
* STCOR-816 #1432: only call `/saml/check` when `login-saml` interface is present
* STCOR-789 #1442: restore original URL after login
* STCOR-820 #1445: optionally retrieve password-reset token from path (or query-string)
* STCOR-845 #1462: correctly handle redirect after password-change
* STCOR-787 #1487 #1492: retrieve clientId and tenant from stripes-config::config.tenantOptions
* STCOR-859 #1489: correctly list UI apps under apps/modules/interfaces column of Settings > About
* STCOR-776 #1490: show idle-session modal with countdown timer before logout
* STCOR-864 #1498: correctly evaluate `typeof stripes.okapi`
* STCOR-865 #1500: call `logout()` exclusively from `/logout*` routes
* STCOR-834 #1491`: refactor `useUserTenantPermissions` to switch on `roles` interface presence
* STCOR-866 #1502: include `/users-keycloak/_self` in list of authentication-related endpoints
* STCOR-867 #1505 #1506: store permission displaynames in redux
* STCOR-862 #1503: handle fixed-length-session timeout
* STCOR-869 #1513: avoid storing `/logout*` as a return-to URL; ensure `/logout` is called with a valid token
* STCOR-872 #1520: return query-keys from `useChunkedCQLFetch()`
* STCOR-874 #1521: provide `key` to `<SessionEventContainer>` components
* STCOR-873 #1519: `useChunkedCQLFetch()` should use `tenantId` argument when present
* STCOR-876 #1526: restore original URL after login (regression of STCOR-789)
* STCOR-885 #1531: clear original URL from storage after login-and-redirect
* STCOR-889 #1536: include all reference interfaces in optionalOkapiInterfaces

I said MERGE and MERGE I meant....
The time had come ... so this branch went.
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.

2 participants