@iyulab/modern-app 0.18.4 → 0.18.5
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.
- package/CHANGELOG.md +13 -0
- package/dist/App.js +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.18.5] - 2026-08-23
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`App.load()` now initializes i18next before checking the `auth` gate.** Same ordering bug as
|
|
8
|
+
`0.18.4`'s theme fix, one layer down: when `auth.me()` resolves to `null`, `load()` renders the
|
|
9
|
+
login screen and returns before the shell is built, but `i18next.init()` used to run only after
|
|
10
|
+
the auth check passed. Any `renderLogin` screen that calls `i18next.t()` for its copy rendered
|
|
11
|
+
with i18next uninitialized (falling back to raw keys or an empty string, depending on
|
|
12
|
+
`returnEmptyString`/`returnNull`). i18n setup is pure display configuration independent of auth
|
|
13
|
+
state, so it now runs unconditionally before the gate alongside theme and icon setup — every
|
|
14
|
+
render path, including the pre-auth login screen, has translations available.
|
|
15
|
+
|
|
3
16
|
## [0.18.4] - 2026-08-23
|
|
4
17
|
|
|
5
18
|
### Fixed
|
package/dist/App.js
CHANGED
|
@@ -28,7 +28,11 @@ var o = class o {
|
|
|
28
28
|
return t;
|
|
29
29
|
}
|
|
30
30
|
async load(a) {
|
|
31
|
-
if (this.unload(), this._config = a, await i.init(a.theme), a.iconBasepath && r(a.iconBasepath), a.
|
|
31
|
+
if (this.unload(), this._config = a, await i.init(a.theme), a.iconBasepath && r(a.iconBasepath), a.i18n) {
|
|
32
|
+
for (let e of a.i18n.plugins || []) t.use(e);
|
|
33
|
+
await t.init(a.i18n);
|
|
34
|
+
}
|
|
35
|
+
if (a.auth) {
|
|
32
36
|
let e = await a.auth.me();
|
|
33
37
|
if (e == null) {
|
|
34
38
|
let e = a.root || document.body, t = a.auth.renderLogin({
|
|
@@ -42,10 +46,6 @@ var o = class o {
|
|
|
42
46
|
}
|
|
43
47
|
this._user = e, await a.auth.onAuthenticated?.(e);
|
|
44
48
|
}
|
|
45
|
-
if (a.i18n) {
|
|
46
|
-
for (let e of a.i18n.plugins || []) t.use(e);
|
|
47
|
-
await t.init(a.i18n);
|
|
48
|
-
}
|
|
49
49
|
let o = a.root || document.body;
|
|
50
50
|
this._layout = await this.createLayout(o, a.layout), this._screen = new e({
|
|
51
51
|
element: o,
|