@genesislcap/blank-app-seed 5.23.0 → 5.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed-config",
3
3
  "description": "Genesis Blank App Seed Configuration",
4
- "version": "5.23.0",
4
+ "version": "5.23.2",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
7
7
  "lint": "eslint .",
@@ -1,6 +1,6 @@
1
1
  {{#if route.tiles}}
2
2
  import { Layout, Model, TabNode } from 'flexlayout-react';
3
- import React, { useRef } from 'react';
3
+ import React, { useState } from 'react';
4
4
  import { TileErrorBoundary } from '../../components/error-boundary/ErrorBoundary';
5
5
  import { getFlexLayoutStorageKey } from '../../utils/layout';
6
6
  /* eslint-disable import-es/order -- generated tile imports follow tile order, not alphabetical */
@@ -38,7 +38,7 @@ function loadModel(): Model {
38
38
  }
39
39
 
40
40
  const {{pascalCase route.name}} = () => {
41
- const modelRef = useRef<Model>(loadModel());
41
+ const [model] = useState<Model>(loadModel);
42
42
 
43
43
  const factory = (node: TabNode) => {
44
44
  const Component = componentMap[node.getComponent() ?? ''];
@@ -60,7 +60,7 @@ const {{pascalCase route.name}} = () => {
60
60
 
61
61
  return (
62
62
  <section className="{{kebabCase route.name}}-page">
63
- <Layout model={modelRef.current} factory={factory} onModelChange={onModelChange} />
63
+ <Layout model={model} factory={factory} onModelChange={onModelChange} />
64
64
  </section>
65
65
  );
66
66
  };
@@ -1,5 +1,5 @@
1
1
  {
2
- "UI": "15.7.2",
2
+ "UI": "15.19.4",
3
3
  "GSF": "8.15.14",
4
4
  "Auth": "8.15.3"
5
5
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.23.2](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.23.1...v5.23.2) (2026-08-28)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * drop the post-login watcher superseded by the foundation-auth fallback fix [PTC-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 2c142f0
9
+ * give the auth hostPath a leading slash when no base path is set [PTC-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 450a2fe
10
+ * give the auth hostPath a leading slash when no base path is set [PTC-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) (#619) 1b4fd2c
11
+ * re-assert the post-login destination while the auth router tears down [PTC-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 2c175e7
12
+
13
+ ## [5.23.1](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.23.0...v5.23.1) (2026-08-25)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * bump versions.UI to 15.18.0 for event-type date and wire-name fixes GENC-1526 b093abe
19
+ * bump versions.UI to 15.18.0 for event-type date and wire-name fixes GENC-1526 (#617) aafb04f
20
+ * satisfy new oxlint react rules in seed template and route generator GENC-0 b5b12af
21
+
3
22
  ## [5.23.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.22.1...v5.23.0) (2026-08-18)
4
23
 
5
24
 
@@ -16,6 +16,12 @@ export const configureFoundationAuth = ({
16
16
  }) => {
17
17
  const baseElement = document.querySelector('base');
18
18
  const basePath = baseElement?.getAttribute('href') || '';
19
+ // The base href is '' outside a container deployment, and a bare '' + 'login' is a
20
+ // RELATIVE host path — the auth flow's navigations then compound onto whatever path the
21
+ // app is on (e.g. '/login/not-found'), and a reload booted at that URL falls through to
22
+ // the router's not-found page. Join with a normalised leading slash so the host path is
23
+ // absolute with and without a base.
24
+ const hostPath = `${basePath}/${AUTH_PATH}`.replace(/\/{2,}/g, '/');
19
25
 
20
26
  configure({
21
27
  name: 'client-app-login',
@@ -26,7 +32,7 @@ export const configureFoundationAuth = ({
26
32
  ...defaultAuthConfig.fields.username,
27
33
  },
28
34
  },
29
- hostPath: basePath + AUTH_PATH,
35
+ hostPath,
30
36
  postLoginRedirect: async () => {
31
37
  const url = API_HOST;
32
38
  await connectService.connect(url);
@@ -20,11 +20,14 @@ const PBCElementsRenderer = ({
20
20
  predicate = ALWAYS_TRUE_PREDICATE,
21
21
  }: PBCElementsRendererProps) => {
22
22
  const containerRef = useRef<PBCContainerElement>(null);
23
- const [isConnected, setIsConnected] = useState(false);
23
+ // Read during render rather than set synchronously in the effect below; the
24
+ // subscription still delivers every later change.
25
+ const [isConnected, setIsConnected] = useState(
26
+ () => DI.getOrCreateDOMContainer().get(Connect).isConnected,
27
+ );
24
28
 
25
29
  useEffect(() => {
26
30
  const connect = DI.getOrCreateDOMContainer().get(Connect);
27
- setIsConnected(connect.isConnected);
28
31
  const isConnected$ = (
29
32
  connect as {
30
33
  isConnected$?: { subscribe: (cb: (v: boolean) => void) => { unsubscribe: () => void } };
@@ -21,6 +21,12 @@ export const configureFoundationLogin = ({
21
21
  const baseElement = document.querySelector('base');
22
22
  const basePath = baseElement?.getAttribute('href') || '';
23
23
  const connect = DI.getOrCreateDOMContainer().get(Connect);
24
+ // The base href is '' outside a container deployment, and a bare '' + 'login' is a
25
+ // RELATIVE host path — the auth flow's navigations then compound onto whatever path the
26
+ // app is on (e.g. '/login/not-found'), and a reload booted at that URL falls through to
27
+ // the router's not-found page. Join with a normalised leading slash so the host path is
28
+ // absolute with and without a base.
29
+ const hostPath = `${basePath}/${AUTH_PATH}`.replace(/\/{2,}/g, '/');
24
30
 
25
31
  configure({
26
32
  name: 'client-app-login',
@@ -31,7 +37,7 @@ export const configureFoundationLogin = ({
31
37
  ...defaultAuthConfig.fields.username,
32
38
  },
33
39
  },
34
- hostPath: basePath + AUTH_PATH,
40
+ hostPath,
35
41
  postLoginRedirect: async () => {
36
42
  await connect.connect();
37
43
  // Preserve the full original location (query string + hash) so deep-link
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed",
3
3
  "description": "Genesis Blank App Seed",
4
- "version": "5.23.0",
4
+ "version": "5.23.2",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
7
7
  "release": "semantic-release"