Commit 7d89c16
fix(i18n): add MemoryI18nPlugin to fix timing issue in server mode
Root cause: In server mode (`pnpm start`), the kernel bootstrap sequence
runs plugin starts BEFORE validateSystemRequirements(). The memory i18n
fallback service is auto-registered in validateSystemRequirements() —
AFTER AppPlugin.start() → loadTranslations() has already tried (and
failed) to find the i18n service, silently skipping translation loading.
Fix: Add a MemoryI18nPlugin to objectstack.config.ts that registers the
in-memory i18n service during the init phase (Phase 1). Since ALL inits
complete before ANY starts, the service is available when AppPlugin.start()
runs in Phase 2. The plugin's name ('com.objectstack.service.i18n') matches
the CLI's dedup check, preventing conflicts.
Also added a server-mode simulation test that validates the full flow:
createMemoryI18n → loadTranslations (AppPlugin-style) → getTranslations.
All 746 console tests pass.
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/8eb7854e-6a7b-4b91-bcca-6d28bff373a31 parent 0bee120 commit 7d89c16
File tree
3 files changed
+69
-1
lines changed- apps/console
- src/__tests__
3 files changed
+69
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| 27 | + | |
25 | 28 | | |
26 | 29 | | |
27 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
28 | 58 | | |
| 59 | + | |
29 | 60 | | |
30 | 61 | | |
31 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
152 | 189 | | |
0 commit comments