Commit Graph

2920 Commits

Author SHA1 Message Date
melvinchia3636
21d31a7025 fix: remove namespace preload 2026-06-25 08:53:36 +08:00
melvinchia3636
aed7b924f1 fix: minor type fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
781b1356af fix: miscellaneous fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
463b84893e feat: add locale consistency checker script 2026-06-25 08:53:36 +08:00
melvinchia3636
3bd14d0332 fix(ui): vertically center sidebar item number badge with absolute positioning 2026-06-25 08:53:36 +08:00
melvinchia3636
3fe2fea20a feat(ui): add i18n translations for alert types and remove sidebar category keys 2026-06-25 08:53:36 +08:00
melvinchia3636
bd1389254c feat(ui): allow namespace=false to skip i18n translation across components 2026-06-25 08:53:36 +08:00
melvinchia3636
451abae5b3 feat(ui): add onCreate and onRecoveryRequested callbacks to WithMasterPassword 2026-06-25 08:53:36 +08:00
melvinchia3636
aeec0782b3 feat: support bulk creation of missing translation categories in module manager 2026-06-25 08:53:36 +08:00
melvinchia3636
a705ccbb21 fix(api): remove masterPasswordHash and hasMasterPassword from user schema 2026-06-25 08:53:36 +08:00
melvinchia3636
8a4350086b fix(localization): remove missing key reporting API and use client-side placeholder 2026-06-25 08:53:36 +08:00
melvinchia3636
fe72d4ace4 fix(encryption): generate fresh RSA keypair on every server restart 2026-06-25 08:53:36 +08:00
melvinchia3636
4732ddbcc8 fix: minor bug fixes 2026-06-25 08:53:36 +08:00
melvinchia3636
d412e72f4d fix(ui): fix some locales minor issue 2026-06-25 08:53:36 +08:00
melvinchia3636
f216ad3000 fix: add back locales for en 2026-06-25 08:53:36 +08:00
melvinchia3636
88d2ef6f11 feat: a lot of i18n improvements 2026-06-25 08:53:36 +08:00
melvinchia3636
cbe23d18b8 fix: some minor issues 2026-06-25 08:53:36 +08:00
melvinchia3636
b545723f18 fix: fix casing in tsconfig 2026-06-25 08:53:36 +08:00
melvinchia3636
b4dfe07762 fix: remove console.log and move ModalManager inside Suspense
- DashboardGrid: remove stray console.log
- routeBuilder: move ModalManager inside Suspense boundary
- docs: update form migration guide with corrected examples
2026-06-25 08:53:36 +08:00
melvinchia3636
42444b4c08 feat(api): track loaded modules in memory for availability checks
- Add moduleRegistry with hashedKey/fullName tracking
- Register modules on load in loadModuleRoutes
- Replace filesystem check with in-memory lookup in checkModulesAvailability
2026-06-25 08:53:36 +08:00
melvinchia3636
dad651b942 fix(ui): resolve i18n namespace and null-safety issues
- EmptyStateScreen: support scoped namespace in message translation
- useInputLabel: add defaultValue fallback instead of early return
- ModalHeader: guard null namespace in useModuleTranslation
- Icon: remove redundant inline-block style prop
- contract: normalize JSON formatting
2026-06-25 08:53:36 +08:00
melvinchia3636
22569bbc32 refactor(api): restructure types and exports with barrel files
- Split forge_proxy.types.ts into contract.types.ts and io.types.ts
- Add barrel exports for core/, providers/, utils/, typescript/
- Restrict untyped and core helpers to root proxy only
- Add key, schema, endpoint to intermediate proxy types
- Disable rollupTypes for barrel compatibility
2026-06-25 08:53:36 +08:00
melvinchia3636
43e618a383 refactor: codebase linting 2026-06-25 08:53:36 +08:00
melvinchia3636
e15009d711 refactor: codebase linting 2026-06-25 08:53:36 +08:00
melvinchia3636
eeeec026a4 style: apply eslint local/padding-react-hooks auto-fix across codebase
Automatically fix padding lines around React hook calls per the new
local/padding-react-hooks rule: remove blank lines between consecutive
hooks, add blank lines after hooks before const/expression statements,
and remove trailing blank lines after const/expression blocks.
2026-06-25 08:53:36 +08:00
melvinchia3636
5682a22205 style: apply eslint local/padding-react-hooks auto-fix across codebase
Automatically fix padding lines around React hook calls per the new
local/padding-react-hooks rule: remove blank lines between consecutive
hooks, add blank lines after hooks before const/expression statements,
and remove trailing blank lines after const/expression blocks.
2026-06-25 08:53:35 +08:00
melvinchia3636
18602b20aa refactor: migrate eslint config to TS with modular rules and add local/padding-react-hooks rule
Replace eslint.config.js with eslint.config.ts and split rules into modular
eslint/ files (react, sonar, style, tests, stories, imports). Add custom
local/padding-react-hooks rule that enforces padding around React hook calls
(no blank lines between hooks, required before/after const/expression). Add
@types/eslint-plugin-jsx-a11y and @typescript-eslint/utils as dev deps.
2026-06-25 08:53:35 +08:00
melvinchia3636
032e577732 refactor(localization): extract i18n into @lifeforge/localization package
- Create new @lifeforge/localization package with client-i18n-config, I18nInitProvider, and useModuleTranslation hook
- Rename ModuleHeaderStateProvider -> ModuleMetadataProvider and move to @lifeforge/federation
- Move I18nInitProvider from apps/web to @lifeforge/localization with configurable init/fallbacks
- Add module name to ModuleMetadataProvider context for scoped translations
- Wire up @lifeforge/localization and @lifeforge/federation as dependencies in @lifeforge/ui
- Update ModuleHeader to use useModuleTranslation for scoped i18n namespaces
- Register @lifeforge/localization in shared-packages config
- Update docs vite config with federation plugin
2026-06-25 08:53:35 +08:00
melvinchia3636
a1509bbaee refactor: massive codebase folder restructuring 2026-06-25 08:53:35 +08:00
melvinchia3636
bdb860853c build: introduce to turborepo 2026-06-25 08:53:34 +08:00
melvinchia3636
7548c1a091 - 2026-06-25 08:53:34 +08:00
melvinchia3636
f38e91b51a refactor: move traceRouteStack to server-utils 2026-06-25 08:53:34 +08:00
melvinchia3636
2e66324554 fix: some fixes 2026-06-25 08:53:34 +08:00
melvinchia3636
ede310ebe9 refactor: some more sdk update 2026-06-25 08:53:34 +08:00
melvinchia3636
0038ca7717 refactor(ui): migrate toast from react-toastify to @lifeforge/ui 2026-06-25 08:53:34 +08:00
melvinchia3636
dc4baa0405 fix: update locale keys 2026-06-25 08:53:34 +08:00
melvinchia3636
c1afad2b21 refactor(shared): remove this library 2026-06-25 08:53:34 +08:00
melvinchia3636
7a32438b4b refactor(api): extract API client and providers from @lifeforge/shared into @lifeforge/api
- Create new @lifeforge/api package with forge proxy, endpoint, encryption, fetchAPI, and API providers
- Move AuthProvider from shared to client-local
- Move WidgetConfig/widgetConfigSchema from shared to @lifeforge/configs
- Add @lifeforge/api as peerDependency in all apps and dependent packages
- Update all imports across client, apps, ui, and federation
- Add build-api script to postinstall
2026-06-25 08:53:34 +08:00
melvinchia3636
06dd011702 refactor(shared): remove reexport of react-router and nuqs 2026-06-25 08:53:34 +08:00
melvinchia3636
4a28995c18 refactor(ui): move ui related providers from shared library to @lifeforge/ui 2026-06-25 08:53:34 +08:00
melvinchia3636
064cedabf8 refactor: move contract file outside src folder 2026-06-25 08:53:34 +08:00
melvinchia3636
237d1969e8 refactor: some prettier and eslint formatting 2026-06-25 08:53:34 +08:00
melvinchia3636
3f2b95e092 feat(configs): add vanilla extract vite plugin as part of base module config 2026-06-25 08:53:34 +08:00
melvinchia3636
28dd992e47 refactor: improve folder structure for @lifeforge/configs 2026-06-25 08:53:34 +08:00
melvinchia3636
e9776c3fd6 refactor: extract shared configs & federation packages; rename log/server-utils
- Create @lifeforge/configs package with shared client/module Vite configs
  and the `@` path alias resolver extracted from client/vite.config.ts
- Create @lifeforge/federation package with module loading, federation
  provider, and route utilities moved out of the client app
- Rename packages/lifeforge-log → packages/log
- Rename packages/lifeforge-server-utils → packages/server-utils
- Update all imports, tsconfig references, Dockerfiles, and workspace
  scripts to reflect the new package names and locations
2026-06-25 08:53:34 +08:00
melvinchia3636
67440a8443 refactor: extract shared packages and clean up monorepo dependencies
- Add new packages: @lifeforge/configs, @lifeforge/federation,
  @lifeforge/log, @lifeforge/server-utils with their package.json
- Strip framework-specific deps (react, i18next, react-query, etc.)
  from shared/client/ui/server packages — these belong in individual apps
- Update workspace scripts to match renamed package directories
  (packages/log → @lifeforge/log, packages/server-utils → @lifeforge/server-utils)
- Add rollup-plugin-visualizer to client devDependencies
2026-06-25 08:53:34 +08:00
melvinchia3636
48c91869af chore: remove redundant files 2026-06-25 08:53:34 +08:00
melvinchia3636
5307c5cb25 feat: rework on module route registration and forge api proxy client SDK 2026-06-25 08:53:34 +08:00
melvinchia3636
57fbf2a375 chore(tools): remove outdated templates (to be added back in the future) 2026-06-25 08:53:34 +08:00
melvinchia3636
14ce399440 feat(client): move widgets into its dedicated utility widgets module 2026-06-25 08:53:34 +08:00