Skip to content

Commit 63b9ba7

Browse files
authored
Merge pull request #424 from objectstack-ai/copilot/implement-console-authentication-system
2 parents 11f0b99 + 44f817a commit 63b9ba7

13 files changed

Lines changed: 1813 additions & 31 deletions

File tree

ROADMAP.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,26 @@ ObjectUI is a universal Server-Driven UI (SDUI) engine built on React + Tailwind
7979

8080
**Authentication & Console Gaps (P0):**
8181
- ✅ Authentication package (@object-ui/auth with AuthProvider, useAuth, AuthGuard, forms)
82-
- 🔲 Console integration (connect auth to routes, DataSource, and user context)
83-
- 🔲 Session management & token injection into @objectstack/client
84-
- 🔲 System admin UIs (sys_user, sys_org, sys_role, sys_audit_log)
82+
- Console integration (auth routes, AuthGuard, UserMenu in sidebar, real auth session)
83+
- Session management & token injection into @objectstack/client
84+
- System admin UIs (sys_user, sys_org, sys_role, sys_audit_log)
8585

8686
**ObjectOS Integration Gaps (P1):**
8787
- ✅ Multi-tenant architecture support (@object-ui/tenant)
8888
- ✅ RBAC integration (object/field/row-level permissions) (@object-ui/permissions)
89-
- 🔲 System objects (sys_user, sys_org, sys_role, sys_permission, sys_audit_log)
89+
- System objects (sys_user, sys_org, sys_role, sys_permission, sys_audit_log)
9090
- ✅ Workflow engine integration
9191
- 🔲 Real-time collaboration (WebSocket, presence, comments)
9292

9393
**@objectstack/client Integration Gaps (P1):**
94-
- 🔲 Dynamic app loading from server metadata via `adapter.getApp()`
95-
- 🔲 Widget manifest system for runtime widget registration
94+
- Dynamic app loading from server metadata via `adapter.getApp()` + `useDynamicApp` hook
95+
- Widget manifest system for runtime widget registration (WidgetManifest + WidgetRegistry)
9696
- 🔲 Formula functions in expression engine (SUM, AVG, TODAY, NOW, IF)
97-
- 🔲 Schema hot-reload via cache invalidation
97+
- Schema hot-reload via cache invalidation (`useDynamicApp.refresh()`)
9898
- 🔲 File upload integration via client file API
9999

100100
**Spec Alignment Gaps (P1):**
101-
- 🔲 Widget System (WidgetManifest, dynamic loading)
101+
- Widget System (WidgetManifest, WidgetRegistry, dynamic loading)
102102
- 🔲 Formula functions (SUM, AVG, TODAY, NOW, IF)
103103
- 🔲 Report export (PDF, Excel)
104104

@@ -162,47 +162,47 @@ ObjectUI is a universal Server-Driven UI (SDUI) engine built on React + Tailwind
162162
- [x] Implement authenticated fetch wrapper for @objectstack/client token injection
163163

164164
**Phase 2 — Console Integration (Week 3-4):**
165-
- [ ] Add /login, /register, /forgot-password routes to Console
166-
- [ ] Wrap app routes with AuthGuard (redirect unauthenticated users)
167-
- [ ] Connect AuthProvider → ExpressionProvider → PermissionProvider chain
168-
- [ ] Add UserMenu to AppHeader (profile, settings, sign out)
169-
- [ ] Replace hardcoded user context with real auth session
165+
- [x] Add /login, /register, /forgot-password routes to Console
166+
- [x] Wrap app routes with AuthGuard (redirect unauthenticated users)
167+
- [x] Connect AuthProvider → ExpressionProvider → PermissionProvider chain
168+
- [x] Add UserMenu to AppSidebar footer (profile, settings, sign out)
169+
- [x] Replace hardcoded user context with real auth session
170170

171171
**Phase 3 — System Administration (Week 5-6):**
172-
- [ ] Define system objects (sys_user, sys_org, sys_role, sys_permission, sys_audit_log)
173-
- [ ] Build user management page (reuse plugin-grid + plugin-form)
174-
- [ ] Build organization management page with member management
175-
- [ ] Build role management page with permission assignment matrix
176-
- [ ] Build user profile page (profile edit, password change)
177-
- [ ] Build audit log viewer (read-only grid)
172+
- [x] Define system objects (sys_user, sys_org, sys_role, sys_permission, sys_audit_log)
173+
- [x] Build user management page (reuse plugin-grid + plugin-form)
174+
- [x] Build organization management page with member management
175+
- [x] Build role management page with permission assignment matrix
176+
- [x] Build user profile page (profile edit, password change)
177+
- [x] Build audit log viewer (read-only grid)
178178

179179
#### 1.6 @objectstack/client Low-Code Integration (3 weeks)
180180
**Target:** Validate and enhance client SDK integration for full low-code platform capability
181181

182182
> 📄 Full evaluation: [OBJECTSTACK_CLIENT_EVALUATION.md](./OBJECTSTACK_CLIENT_EVALUATION.md)
183183
184184
**Dynamic App Loading (Week 1):**
185-
- [ ] Implement dynamic app configuration loading via `adapter.getApp(appId)`
186-
- [ ] Add server-side schema fetching with fallback to static config
187-
- [ ] Schema hot-reload via MetadataCache invalidation + re-render
185+
- [x] Implement dynamic app configuration loading via `adapter.getApp(appId)`
186+
- [x] Add server-side schema fetching with fallback to static config (`useDynamicApp` hook)
187+
- [x] Schema hot-reload via MetadataCache invalidation + re-render (`refresh()`)
188188

189189
**Widget System Foundation (Week 2):**
190-
- [ ] Define WidgetManifest interface for runtime widget registration
191-
- [ ] Implement plugin auto-discovery from server metadata
192-
- [ ] Custom widget registry for user-defined components
190+
- [x] Define WidgetManifest interface for runtime widget registration
191+
- [x] Implement plugin auto-discovery from server metadata (WidgetRegistry)
192+
- [x] Custom widget registry for user-defined components
193193

194194
**Data Integration Hardening (Week 3):**
195195
- [ ] File upload integration via extended ObjectStackAdapter
196-
- [ ] Connection resilience testing (auto-reconnect, error recovery)
196+
- [x] Connection resilience testing (auto-reconnect, error recovery)
197197
- [ ] End-to-end data flow validation with live ObjectStack backend
198198

199199
**Deliverables:**
200200
- @object-ui/auth package ✅
201-
- Console login / register / password reset pages
202-
- System administration pages (users, orgs, roles, audit logs)
203-
- Dynamic app loading from server metadata
204-
- Widget manifest system
205-
- @objectstack/client integration hardening
201+
- Console login / register / password reset pages
202+
- System administration pages (users, orgs, roles, audit logs)
203+
- Dynamic app loading from server metadata
204+
- Widget manifest system
205+
- @objectstack/client integration hardening (in progress)
206206

207207
**Q1 Milestone:**
208208
- **v0.6.0 Release (March 2026):** Infrastructure Complete + Auth Foundation + Client Integration Validated

0 commit comments

Comments
 (0)