feat: Phase 5 BYOB foundation + Phase 3 GitHub integration

Phase 5 - BYOB Backend (TASK-007A/B):
- LocalSQL Adapter with full CloudStore API compatibility
- QueryBuilder translates Parse-style queries to SQL
- SchemaManager with PostgreSQL/Supabase export
- LocalBackendServer with REST endpoints
- BackendManager with IPC handlers for Electron
- In-memory fallback when better-sqlite3 unavailable

Phase 3 - GitHub Panel (GIT-004):
- Issues tab with list/detail views
- Pull Requests tab with list/detail views
- GitHub API client with OAuth support
- Repository info hook integration

Phase 3 - Editor UX Bugfixes (TASK-013):
- Legacy runtime detection banners
- Read-only enforcement for legacy projects
- Code editor modal close improvements
- Property panel stuck state fix
- Blockly node deletion and UI polish

Phase 11 - Cloud Functions Planning:
- Architecture documentation for workflow automation
- Execution history storage schema design
- Canvas overlay concept for debugging

Docs: Updated LEARNINGS.md and COMMON-ISSUES.md
This commit is contained in:
Richard Osborne
2026-01-15 17:37:15 +01:00
parent dd73b1339b
commit ddcb9cd02e
86 changed files with 17408 additions and 1873 deletions

View File

@@ -223,6 +223,7 @@ const LogicBuilderNode = {
editorType: 'logic-builder-workspace'
},
displayName: 'Logic Blocks',
group: '', // Empty group to avoid "Other" label
set: function (value) {
const internal = this._internal;
internal.workspace = value;
@@ -230,10 +231,14 @@ const LogicBuilderNode = {
}
},
generatedCode: {
type: 'string',
displayName: 'Generated Code',
type: {
name: 'string',
allowEditOnly: true,
codeeditor: 'javascript',
readOnly: true // ✅ Inside type object - this gets passed through to property panel!
},
displayName: 'Generated code',
group: 'Advanced',
editorName: 'Hidden', // Hide from property panel
set: function (value) {
const internal = this._internal;
internal.generatedCode = value;