Commit graph

272 commits

Author SHA1 Message Date
PalmDevs
8bd9f4f8b2
fix(lib/storage): allow imports during preinit 2025-07-11 16:58:53 +07:00
PalmDevs
f05885e559
feat(lib/modules/metro): blacklist primitives and empty objects for finders 2025-07-11 15:59:35 +07:00
PalmDevs
c66dace21b
chore: cleanup questionable code 2025-07-11 15:53:12 +07:00
PalmDevs
8babd1837a
feat(lib/plugins): log plugin errors in native as well 2025-07-11 15:19:27 +07:00
PalmDevs
3ef9f17188
fix(lib/discord/modules/settings): dispatch reset on next paint in if renavigating refreshSettingsOverviewScreen 2025-07-11 15:02:42 +07:00
PalmDevs
2b05b34a28
chore: lint and format 2025-07-11 01:15:50 +07:00
PalmDevs
8347e24e54
chore(lib/react)!: remove jsx-runtime
This has been made because no developer will likely ever require this API.

The current API assumes you already have an instance of the component, which means you can likely already patch that component instance itself.

The API can be made more powerful by taking any string names, and comparing it to the component's type name, type displayName, name, displayName, etc., but it will introduce performance bottlenecks.
2025-07-11 01:15:20 +07:00
PalmDevs
f824778519
fix(lib/modules/metro): improve performance by preallocating 2025-07-11 01:11:06 +07:00
PalmDevs
14920bc21a
fix(lib/react/jsx-runtime/patches): bug and performance fixes
- Compute fiber normally if there are no instead patches
- Store all patch kinds in one single Map
- Attempt cleanup after unpatch
2025-07-11 00:59:02 +07:00
PalmDevs
9e6614a1bd
chore: lint and format 2025-07-10 21:26:27 +07:00
PalmDevs
2a0d91878f
feat(lib/react): add jsx-runtime 2025-07-10 21:25:46 +07:00
PalmDevs
546bbc080a
chore(lib/patcher): add jsdoc 2025-07-10 21:24:04 +07:00
PalmDevs
78e8a96034
fix(lib/react)!: ReactJsxRuntime -> ReactJSXRuntime
JSX is JavaScript XML, which should be capitalized
2025-07-10 21:23:39 +07:00
PalmDevs
84c6edcfe2
fix: revert using Object.defineProperty instead of delete
Apparently it's somewhat faster to `delete` and set, than to use Object.defineProperty
2025-07-10 12:43:05 +07:00
PalmDevs
aacb038d09
fix(lib/utils/objects): use Object.defineProperty instead of delete 2025-07-09 19:09:05 +07:00
PalmDevs
796f1cf392
feat(lib/modules/metro): patch all primitives to improve perf 2025-07-09 19:08:28 +07:00
PalmDevs
9560a8320b
feat(lib/modules/metro)!: more performance wins 2025-07-09 01:28:44 +07:00
PalmDevs
7645bfdf61
chore: new DEBUG_WAITS build flag, improve DBEUG_LOOKUPS build flag logs, other dev env fixes 2025-07-08 11:24:48 +07:00
PalmDevs
e9fedc8db4
feat: small performance wins
- Delay initializing unimportant parts until index module (ID 0) is required
- Lower memory usage by interacting with Metro's internal module list directly
2025-07-07 20:00:20 +07:00
PalmDevs
962c818835
fix(lib/discord/common/flux): ignore type error 2025-07-07 19:11:09 +07:00
PalmDevs
c532f5c3fd
fix(lib/modules/metro/subscriptions): run catching subscriptions 2025-07-07 18:59:49 +07:00
PalmDevs
66d95a8c49
fix(lib/modules/finders): correct types for get and lookup 2025-07-05 14:16:37 +07:00
PalmDevs
d639d31367
feat(lib/discord/common/flux): add caching, and export byStore filter 2025-07-05 13:56:58 +07:00
PalmDevs
075f33f6c6
chore: cleanup 2025-07-05 13:56:52 +07:00
PalmDevs
e83078abc8
feat(lib/discord): correct and add file paths for modules for reference 2025-07-04 22:23:56 +07:00
PalmDevs
8a7529fdbd
fix(lib/modules/finders/lookup): fix builds with DEBUG_PROXIFIED_VALUES flag on 2025-07-04 22:15:36 +07:00
PalmDevs
c067dc520d
fix(lib/modules/finders): correct filtering logic for prod builds 2025-07-04 22:14:42 +07:00
PalmDevs
2cff8ebf07
feat(lib/modules)!: add new options for lookup finders, include prefix from finders options, make utils functions safe again 2025-07-04 21:38:37 +07:00
PalmDevs
22a931de51
feat(lib/modules/metro/utils): improve perf more on bad module exports check 2025-07-03 21:38:26 +07:00
PalmDevs
75982bfb45
feat(lib/modules/metro): improve perf in patching module factories 2025-07-03 21:28:16 +07:00
PalmDevs
b56e6153a5
feat(lib/modules/metro/utils)!: remove confusing functions 2025-07-03 21:07:02 +07:00
PalmDevs
6a6a67e78f
feat(lib/modules/metro/utils): improve perf on bad module exports check 2025-07-03 21:07:01 +07:00
PalmDevs
24c4985ae8
fix(lib/modules/metro/utils): make turbo module check more performant 2025-07-03 00:02:00 +07:00
PalmDevs
50a499f6d2
fix(lib/modules/metro/utils): check if export is object before checking properties 2025-07-02 23:02:18 +07:00
PalmDevs
4fc6af8136
feat(lib/modules/finders/filters): improve perf for bySingleProp 2025-07-02 22:50:11 +07:00
PalmDevs
856b28d7ba
fix(lib/modules/finders/lookup): skip inversing boolean in initialized check 2025-07-02 22:47:49 +07:00
PalmDevs
fead7436a9
fix(lib/modules/metro/utils): add new turbo module check in isModuleExportBad 2025-07-02 22:47:10 +07:00
PalmDevs
8f0755c4e7
fix: get turbo modules from turbo module proxy 2025-07-02 21:46:13 +07:00
PalmDevs
c239c5b4f8
fix(lib/modules/finders): improve perf, correct docs 2025-07-01 17:45:49 +07:00
PalmDevs
e714960335
fix(lib): fix type errors 2025-07-01 17:30:53 +07:00
PalmDevs
b1e293325a
fix(lib/modules/finders/lookup): do not null cache if modules are found in lookupModules 2025-06-17 22:55:16 +07:00
PalmDevs
77f8d62720
fix: improve perf by not returning implicitly 2025-06-17 19:53:58 +07:00
PalmDevs
981e9dc080
feat(lib/modules): initial impl of modules caching
- Lookup caches have been fully implemented
- Wait caches will not exist
  - Wait APIs should simply wait until a matching module is initialized. Caching is useless when the API is for this purpose.
- Get APIs will inherit the benefits from using Lookup APIs
2025-06-16 20:25:45 +07:00
PalmDevs
5171e2cfba
fix(lib): revert bf9e723 partially 2025-06-16 20:20:04 +07:00
PalmDevs
921d997230
fix(lib/assets/caches): remove useless async modifiers 2025-06-16 19:59:02 +07:00
PalmDevs
cf3ded454d
fix(lib/modules/finders/filters): compare relative.withDependencies with root-relative dependencies with proper parent ID 2025-06-16 19:58:42 +07:00
PalmDevs
256191b8a4
fix(lib/plugins): emit events properly when no lifecycles are present 2025-06-16 18:13:48 +07:00
PalmDevs
598728d195
fix(lib/plugins)!: name types more consistently
skip-checks:true
2025-06-16 09:57:25 +07:00
PalmDevs
fb8cc2d897
feat!: allow plugin API extensions to get runtime options, and allow API extensions to pass options, refactor api.storage to API extensions 2025-06-16 09:51:30 +07:00
PalmDevs
bf9e723e73
chore: update rolldown and use defineLazyProperties to set lazy-loaded plugin APIs 2025-06-16 09:01:50 +07:00