10407 Commits

Author SHA1 Message Date
John Doe a5f307c2d6 Merge branch 'master' of https://github.com/Heretek-AI/GDevelop 2026-05-20 21:20:06 -04:00
John Doe 0b9fd90fab gsd snapshot: pre-dispatch, uncommitted changes after 30m inactivity 2026-05-20 21:04:07 -04:00
John Doe 7b8e215d37 feat: Created verify-release-job.py with 12 structural YAML checks mirr…
- .github/scripts/verify-release-job.py

GSD context:
- Milestone: M002 - CI Build Pipeline
- Slice: S04
- Task: T02 - Created verify-release-job.py with 12 structural YAML checks mirroring the verify-platform-build.py pattern

GSD-Task: S04/T02
2026-05-20 20:34:05 -04:00
John Doe a1c54baa60 gsd snapshot: uncommitted changes after 49m inactivity 2026-05-20 16:19:11 -04:00
John Doe f2fb0e29c6 gsd snapshot: pre-dispatch, uncommitted changes after 31m inactivity 2026-05-20 15:29:24 -04:00
John Doe b1a98595e1 gsd snapshot: uncommitted changes after 122m inactivity 2026-05-20 14:57:43 -04:00
John Doe e22e9e4b42 gsd snapshot: uncommitted changes after 152m inactivity 2026-05-20 12:55:05 -04:00
John Doe 6ee27cac28 gsd snapshot: pre-dispatch, uncommitted changes after 159m inactivity v5.6.269-pre.20260520144029.6ee27ca 2026-05-20 10:22:53 -04:00
John Doe 094f73a792 feat: add automatic pre-release builds on push to master
Renamed release.yml → build.yml and added three build modes:

1. Push to master — validates code, then auto-creates a pre-release
   with a unique tag (v<version>-pre.<timestamp>.<sha>). Published
   immediately as a GitHub Pre-release (not draft).

2. Push a v* tag — validates code, then creates a draft release for
   manual review before publishing (existing behavior preserved).

3. workflow_dispatch — requires the 'tag' input; fails early with a
   clear error if omitted.

Key changes from the old release.yml:
- Added branch trigger (master) for automatic pre-releases
- Determines tag from event context: auto-generated for master,
  from ref for tagged pushes, from input for manual dispatch
- Uses prerelease/draft flags appropriately per mode
- Dynamic job name ('Create pre-release' vs 'Create release')
v5.6.269-pre.20260520115121.094f73a
2026-05-20 07:43:45 -04:00
John Doe 138cac1d57 fix: set tag_name on release action to fix workflow_dispatch releases
The release action (softprops/action-gh-release@v1) was called without a tag_name parameter. For tag-push triggers, GITHUB_REF contains the tag ref so the action implicitly infers the tag. For workflow_dispatch (manual trigger), GITHUB_REF points to the branch (refs/heads/master), so no valid tag was found.

Fixes:
1. Added a 'Determine release tag' step that resolves the tag from the correct source: inputs.tag for workflow_dispatch, GITHUB_REF for tag pushes. Fails early with ::error if no tag is provided.
2. Passes tag_name to the release action.
3. Changed checkout in the release job to fetch-depth: 0 + fetch-tags: true so changelog generation can find previous tags.
2026-05-19 22:51:56 -04:00
John Doe 2339a80952 fix: replace fs-extra with native fs in byokConfig.js to fix CI test failure
The CI workflow runs npm ci --ignore-scripts in newIDE/electron-app/,
which skips the postinstall script that normally installs app/ dependencies
(where fs-extra was declared). This caused callLLM.test.js to fail with
'Cannot find module fs-extra' when loading byokConfig.js.

Fix: replace fs-extra (readFile, ensureDir, writeJson) with native Node.js
fs.promises equivalents (readFile, mkdir recursive, writeFile).  All three
operations are trivially available in the native fs module — no external
dependency needed. This makes byokConfig.js loadable in any Node environment.

Tests: all 72 BYOK unit tests pass (4 suites, 72 assertions, 0 failures).
2026-05-19 21:27:27 -04:00
John Doe 91ae6d3b83 Run Prettier on BYOK files to fix formatting check 2026-05-19 21:03:08 -04:00
John Doe 7867a2ddeb Fix pre-existing unused import causing CI lint failure
Remove unused isNativeMobileApp import from Usage.js. This is an
upstream issue that was already present when the fork was created.
2026-05-19 18:11:39 -04:00
John Doe 82beb6d5e1 Add electron-app node_modules cache for BYOK tests
BYOK tests mock the electron module and may need transitive dependencies
(fs-extra) from electron-app/node_modules for module resolution.
2026-05-19 18:00:40 -04:00
John Doe 78531b4c48 Fix CI workflow failures and add release action
CI fixes:
- Use npm run lint/check-format instead of npx (PATH handling)
- Explicit test file paths instead of glob (shell compatibility)
- Remove duplicate cache steps that could overwrite
- Remove newIDE Jest tests (require GDevelop.js C++ build artifacts
  not available in CI environment)

Release workflow:
- Triggers on tag push (v*) or manual dispatch
- Validates lint + BYOK syntax + unit tests
- Creates draft GitHub Release with auto-generated notes
- Full packaging requires C++/Emscripten; documented how to build locally
2026-05-19 17:51:37 -04:00
John Doe bec38ad0c7 Add GitHub Actions CI workflow and BYOK smoke-test procedure
- .github/workflows/ci.yml: 4-job CI pipeline (install, lint, BYOK unit
  tests, newIDE Jest tests) running on push/PR to main/master/milestone/*
- newIDE/electron-app/app/byok/SMOKE-TEST.md: 17-step manual verification
  procedure for the BYOK feature (config persistence, chat routing,
  non-BYOK fallback)
2026-05-19 17:38:37 -04:00
John Doe 29cce95169 gsd snapshot: uncommitted changes after 76m inactivity 2026-05-19 17:25:43 -04:00
John Doe 7029d1a541 gsd snapshot: uncommitted changes after 65m inactivity 2026-05-19 16:09:29 -04:00
John Doe 72d591edab feat: All 12 BYOK modules pass node --check syntax validation with exit…
GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S05
- Task: T03 - All 12 BYOK modules pass node --check syntax validation with exit 0 — 7 main-process and 5 renderer files clean

GSD-Task: S05/T03
2026-05-19 15:03:45 -04:00
John Doe bea1b46fd8 chore: auto-commit after reactive-execute
GSD-Unit: M001/S05/reactive+T01,T02
2026-05-19 15:01:27 -04:00
John Doe 49e1995cf9 gsd snapshot: uncommitted changes after 177m inactivity 2026-05-19 14:31:06 -04:00
John Doe f5d747528b feat: Created ByokConfigPanel.js React component with provider CompactS…
- newIDE/app/src/AiGeneration/AiRequestChat/ByokConfigPanel.js

GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S04
- Task: T02 - Created ByokConfigPanel.js React component with provider CompactSelectField, endpoint/model/apiKey SemiControlledTextFields, and save/success/error feedback via window.byokAi IPC

GSD-Task: S04/T02
2026-05-19 11:33:44 -04:00
John Doe db25ec088d feat: Added apiKey merge logic in byok:saveConfig to preserve existing…
- newIDE/electron-app/app/byok/byokMain.js

GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S04
- Task: T01 - Added apiKey merge logic in byok:saveConfig to preserve existing key when incoming value is empty/masked

GSD-Task: S04/T01
2026-05-19 11:29:56 -04:00
John Doe 98fd36b498 feat: Wired BYOK routing into AskAiEditorContainer — BYOK preset now ro…
- newIDE/app/src/AiGeneration/AskAiEditorContainer.js

GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S03
- Task: T03 - Wired BYOK routing into AskAiEditorContainer — BYOK preset now routes createAiRequest and addMessageToAiRequest through local IPC instead of the GDevelop REST API

GSD-Task: S03/T03
2026-05-19 11:07:11 -04:00
John Doe dbfc27dfad gsd snapshot: uncommitted changes after 177m inactivity 2026-05-19 10:47:09 -04:00
John Doe 6cf96b3db9 chore: finalize worktree state before migration to master 2026-05-19 07:49:51 -04:00
John Doe f957c5f0fa test: Created byokConfig.js (Electron config persistence with fs-extra)…
- newIDE/electron-app/app/byok/byokConfig.js
- newIDE/electron-app/app/byok/requestStore.js
- newIDE/electron-app/app/byok/test-t02.cjs

GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S02
- Task: T02 - Created byokConfig.js (Electron config persistence with fs-extra) and requestStore.js (in-flight AI request tracker with AbortController), with 22 passing unit tests

GSD-Task: S02/T02
2026-05-18 21:45:43 -04:00
John Doe 343ebb2cc2 test: Created errors.js with typed ByokError class and buildSystemPromp…
- newIDE/electron-app/app/byok/errors.js
- newIDE/electron-app/app/byok/buildSystemPrompt.js
- newIDE/electron-app/app/byok/test-t01.cjs

GSD context:
- Milestone: M001 - BYOK Fork
- Slice: S02
- Task: T01 - Created errors.js with typed ByokError class and buildSystemPrompt.js with configurable system prompt assembly — both pure-JS modules with 19 passing tests

GSD-Task: S02/T01
2026-05-18 21:37:46 -04:00
John Doe 0166ecc4c8 chore: auto-commit after stop
GSD-Unit: M001
2026-05-18 21:15:59 -04:00
John Doe cbe4259fc5 chore: auto-commit after stop
GSD-Unit: M001
2026-05-18 19:48:17 -04:00
John Doe fcfee149f6 chore: auto-commit after stop
GSD-Unit: M001
2026-05-18 19:26:22 -04:00
D8H 830587f25b Fix object parameter color in expression (#8611)
Don't show in changelog
2026-05-18 19:42:10 +02:00
D8H 032b93f0e2 Fix copied events to keep the same order when pasted (#8610) 2026-05-18 18:24:59 +02:00
D8H cea1410fb3 Add syntax highlighting for expressions in events (#8538)
Complex expressions and formula will now be shown using multiple colors, like the rest of events. This allows to identify objects, numbers, strings in a long formula.
2026-05-18 18:10:00 +02:00
Florian Rival 391caaddf4 Add internal hints for objects without known width/height (#8608)
Don't show in changelog
2026-05-17 13:38:23 +02:00
D8H d9d8a7d3ea Fix a regression on the displayed position of custom objects (#8604) 2026-05-16 13:38:28 +02:00
D8H c8d5f4600c Add a button in the extension editor to select behaviors with the dialog (#8602) 2026-05-15 11:30:00 +02:00
D8H f9d1d4c60c Fix and show the button to add parameters to "action with operator" functions as disabled (#8603) 2026-05-15 11:29:59 +02:00
D8H d81a6899dd Allow to create variables from autocompletion in more cases (#8583)
Also, in the extension editor: 
- Focus and select new parameter names
- Allow to add a new parameter from the variable autocompletion
- Allow to add behaviors from the bottom of the instruction list
2026-05-14 16:24:24 +02:00
D8H cacd28eed7 Add a "layer" property type for custom behaviors (#8596) 2026-05-14 12:50:25 +02:00
D8H e2de846279 Allow to load and unload objects from other scenes (#8592)
- Also fix manually loaded objects not being unload with their scene
2026-05-14 10:56:19 +02:00
ViktorVovk 584cca2d43 Export classes in ResourceLoader for better TypeScript compatibility (#8594)
Only show in developer changelog
2026-05-14 10:21:47 +02:00
D8H 0b3f8e7205 Improve types for TypeScript 6 (#8591)
Only show in developer changelog
2026-05-13 12:07:46 +02:00
Clément Pasteau 4bb652f5e1 Fix Ai Panel not aligned to the top properly on mobile + improve games search to be more relevant (#8590) 2026-05-13 10:27:58 +02:00
github-actions[bot] f60562eae3 [Auto PR] Update translations (#8585) 2026-05-13 10:27:13 +02:00
D8H 1c17c895bb Allow custom objects to move layer cameras (#8572)
- Also fix a crash when there is a trigger once in an external function used from a custom object
2026-05-12 11:14:34 +02:00
ViktorVovk 651c93ae1f Add "Select All" in Events Sheet and ability to deselect an event when doing a multi-selection (#8578) 2026-05-11 14:29:29 +02:00
Clément Pasteau 0eb6014a93 Fix some visual glitches in the Events Sheet when opening and scrolling (#8571) 2026-05-11 10:52:30 +02:00
Florian Rival d52d42d3b4 Add integration test for objects created via a behavior action parameter (#8576)
Verify that a behavior's custom action whose events Create the object
passed as parameter (FireBullet-style) leads to the newly created
instances being picked in the calling scope, while a previously created
instance of the same object remains untouched.

Don't show in changelog
v5.6.269
2026-05-07 19:00:52 +02:00
Florian Rival 230657d076 Bump 2026-05-07 17:48:54 +02:00