mirror of
https://github.com/Heretek-AI/GDevelop-Unlocked.git
synced 2026-11-07 10:55:58 -10:00
Replaces the 205-file fork delivery vehicle with patches/ + launcher/ + versioned packages, per the implementation plan: Phase 1: seam tripwires (27 tests) freezing every surgical target in upstream (Usage predicate, %16 gate, SubscriptionChecker, debugger, LoadingScreen branding, Electron hook surface, no-plugin-registry verdict). Phase 2: 5 generated Tier-1 hunks (round-trip verified; 3 files reach byte-identical fork parity) + apply driver (dry-run gate, marker verify, asar extract/repack). Phase 3: launcher hook (preload fetch/XHR spoof of the two usage GETs, BrowserWindow wrap, webRequest fallback, updater pin) + 06 loader patch. Module._load interception dropped: renderers run a webpack bundle, so the spoof rides the axios/XHR path the provider hydrates from instead. Phase 4: Tier-2 verbatim extraction (CustomAIClient + 12 Studio modules + offline mock harness, manifest-pinned) + 07/08 verbatim glue patches + pure generation shim with fail-closed leak guard. Phase 5: web userscript demo (Tier-1 only, documented CORS/LAN/churn limits). Phase 6 runbook + upstream provider-interface RFC draft included; fork archiving left to owners (destructive). Suite: 66 tests green (seams, patcher incl. re-apply refusal, launcher incl. vm-sandbox fallback eval, tier-2 provenance, web).
58 lines
1.8 KiB
Diff
58 lines
1.8 KiB
Diff
--- a/newIDE/app/src/Profile/AuthenticatedUserContext.js
|
|
+++ b/newIDE/app/src/Profile/AuthenticatedUserContext.js
|
|
@@ -23,6 +23,8 @@
|
|
type Subscription,
|
|
type SubscriptionPlanPricingSystem,
|
|
type UserEarningsBalance,
|
|
+ UNLOCKED_HERETEK_SUBSCRIPTION,
|
|
+ UNLOCKED_HERETEK_CAPABILITIES,
|
|
} from '../Utils/GDevelopServices/Usage';
|
|
import {
|
|
type AssetShortHeader,
|
|
@@ -132,11 +134,20 @@
|
|
coursePurchases: null,
|
|
bundlePurchases: null,
|
|
recommendations: null,
|
|
- subscription: null,
|
|
+ subscription: UNLOCKED_HERETEK_SUBSCRIPTION,
|
|
subscriptionPricingSystem: null,
|
|
usages: null,
|
|
userEarningsBalance: null,
|
|
- limits: null,
|
|
+ limits: {
|
|
+ quotas: {},
|
|
+ capabilities: UNLOCKED_HERETEK_CAPABILITIES,
|
|
+ credits: {
|
|
+ userBalance: { amount: 999999 },
|
|
+ prices: {},
|
|
+ purchasableQuantities: [],
|
|
+ },
|
|
+ message: undefined,
|
|
+ },
|
|
...authenticatedUserPropertiesLoadingState,
|
|
authenticationError: null,
|
|
onLogin: async () => {},
|
|
@@ -190,11 +201,20 @@
|
|
receivedAssetShortHeaders: ([]: Array<empty>), // Initialize to empty array to indicate that the loading is done.
|
|
receivedGameTemplates: ([]: Array<empty>), // Initialize to empty array to indicate that the loading is done.
|
|
receivedBundles: ([]: Array<empty>), // Initialize to empty array to indicate that the loading is done.
|
|
- subscription: null,
|
|
+ subscription: UNLOCKED_HERETEK_SUBSCRIPTION,
|
|
subscriptionPricingSystem: null,
|
|
userEarningsBalance: null,
|
|
usages: null,
|
|
- limits: null,
|
|
+ limits: {
|
|
+ quotas: {},
|
|
+ capabilities: UNLOCKED_HERETEK_CAPABILITIES,
|
|
+ credits: {
|
|
+ userBalance: { amount: 999999 },
|
|
+ prices: {},
|
|
+ purchasableQuantities: [],
|
|
+ },
|
|
+ message: undefined,
|
|
+ },
|
|
};
|
|
|
|
const AuthenticatedUserContext: React.Context<AuthenticatedUser> = React.createContext<AuthenticatedUser>(
|