Commit graph

386 commits

Author SHA1 Message Date
PalmDevs
63fd1938cf
feat(lib/modules): micro-optimizations + logic fixes
FIXES:
- `getInitializedModuleExports` now returns `undefined` correctly on uninitialized modules instead of empty objects.
- `NotFoundResult` for lookups is now a frozen array
- `lookupModuleByImportedPath` now returns `LookupNotFoundResult` as a union instead of `[]`

PERFORMANCE:
- Optimized Array checks with `byDependencies` filter
- Micro-optimized finders and filters
- `ModuleDefinition`s no longer allocate their `Module` object immediately after defined
2025-08-22 02:32:07 +07:00
PalmDevs
04fccbb149
fix(lib/discord/design): update filter for Design on 295204+ 2025-08-20 20:20:49 +07:00
PalmDevs
0d370638a5
chore(lib/modules/finders/filters): update key in docs for createFilterGenerator example 2025-08-20 17:28:15 +07:00
PalmDevs
913c987951
fix(lib/modules/finders/filters): generate proper keys for relative.withDependencies 2025-08-20 17:27:36 +07:00
PalmDevs
a0c03057b4
fix(lib/modules/types): correct definition for Metro.ModuleDefinition['publicModule'] 2025-08-19 21:48:38 +07:00
PalmDevs
4ed96c8512
fix(lib/modules/finders/wait): do not log matched cached waits in non-"debug wait" builds 2025-08-19 21:47:43 +07:00
PalmDevs
7b3ede1904
chore(lib/react/native/patches): refactor to one instead patch 2025-08-19 21:46:32 +07:00
PalmDevs
69fff07c1f
fix(lib/storage): read options.load and act in Storage directly 2025-08-19 21:37:11 +07:00
PalmDevs
78ccd4286f
fix(lib/modules/native): match implementation with lastest changes 2025-08-17 03:46:59 +07:00
PalmDevs
b817178e8e
fix(lib/modules/finders/filters): type FilterGenerator without ts-expect-error 2025-08-17 00:56:27 +07:00
PalmDevs
e689976e28
feat(lib/modules/native): API for calling custom native methods 2025-08-17 00:55:42 +07:00
PalmDevs
d8b2d0302d
chore(lib/modules/finders/wait): use existing parameter for exports in waitForModuleByImportedPath 2025-08-13 21:38:02 +07:00
PalmDevs
c2d12321f6
chore(lib/modules): simplify imports 2025-08-13 01:27:49 +07:00
PalmDevs
e0c2ca7d6c
fix(lib/modules/native): getNativeModule should fallback to legacy if turbo module doesn't exist 2025-08-13 01:12:36 +07:00
PalmDevs
3563daed39
fix(lib/plugins): only run dependencies that aren't already running 2025-08-13 00:56:23 +07:00
PalmDevs
2b69e17d68
feat(plugins/settings): show Reload required dialog immediately after flag update 2025-08-13 00:54:14 +07:00
PalmDevs
ac3546a53d
chore: make internal library imports more readable 2025-08-13 00:51:28 +07:00
PalmDevs
d386035342
chore(lib/storage): move Storage#use initialization back to library 2025-08-12 16:56:10 +07:00
PalmDevs
7712b818f8
feat(lib/discord)!: flatten api structure 2025-08-11 17:21:12 +07:00
PalmDevs
3963db69b8
feat(lib/discord/flux): add optional generics 2025-08-11 17:00:44 +07:00
PalmDevs
7f1b116a63
fix(lib/utils/callback): only use enqueueJob if engine queue is used 2025-08-11 16:49:50 +07:00
PalmDevs
fca5dd1559
chore(lib/plugins): set arrays lengths to zero to reset states 2025-08-11 16:48:33 +07:00
PalmDevs
28f8c02869
fix(lib/discord/flux): patch dispatch method instead of using interceptors
Previously patched events weren't being returned at all.
2025-08-11 16:47:59 +07:00
PalmDevs
dcfe40c1d7
feat(lib/storage): add Storage#subscribe 2025-08-11 16:39:23 +07:00
PalmDevs
02c1c69abc
chore: cleanup 2025-08-09 02:12:29 +07:00
PalmDevs
ab5b131b8b
feat: improve types generation 2025-08-09 02:07:29 +07:00
PalmDevs
05c0b093ea
fix(lib): remove and add exports 2025-08-09 01:02:44 +07:00
PalmDevs
e7b4413675
chore: format 2025-08-05 20:39:09 +07:00
PalmDevs
934b25de08
chore(lib): make assignments more readable 2025-08-05 20:37:37 +07:00
PalmDevs
6c596a4a5c
fix(lib/assets): remove now-useless lookup
It no longer matches during preinit.
2025-08-05 20:37:06 +07:00
PalmDevs
ce188950cd
feat(lib/discord): add flux APIs 2025-08-05 20:36:08 +07:00
PalmDevs
ed966a7772
feat(lib/discord/common): export module IDs from lookups 2025-08-04 09:43:00 +07:00
PalmDevs
37ed46226c
chore(lib/assets): document use of unproxify to trigger set module ID 2025-08-04 09:42:50 +07:00
PalmDevs
0d1fcb5c2d
feat(lib/utils/proxy)!: return non-proxified value if passed to unproxify 2025-08-04 09:36:11 +07:00
PalmDevs
1598a4940c
chore(lib): use asap function to queue tasks 2025-08-03 14:18:16 +07:00
PalmDevs
f1e94fe634
fix(lib/modules/finders/get): undefined unsub function on immediately found lookup 2025-08-03 14:17:47 +07:00
PalmDevs
ab41ec060f
fix(lib/modules/finders/wait): use exports from parameter in cached waits 2025-08-02 17:26:10 +07:00
PalmDevs
1c6da3a376
fix(lib/modules/metro): blacklist turbo modules properly 2025-08-02 17:25:40 +07:00
PalmDevs
3bb2203ff9
fix: get native modules in bridgeless correctly 2025-08-02 17:25:07 +07:00
PalmDevs
b8ed2bf334
fix(lib/react/native): do not do patches until wait matches 2025-07-31 19:19:40 +07:00
PalmDevs
578b78dd7e
feat(lib/modules/finders/waits): cached-only waits 2025-07-31 19:15:08 +07:00
PalmDevs
c640a0e5a0
fix(lib/modules/metro/patches): make it work with inlineConst bundler option 2025-07-30 20:17:12 +07:00
PalmDevs
7d7d6a4358
feat(lib): small performance improvements 2025-07-27 17:07:50 +07:00
PalmDevs
8f4305e767
feat(lib/discord/types): type TableCheckboxRow TableRadioGroup TableRadioRow in Design 2025-07-26 20:01:30 +07:00
PalmDevs
b81344f1d1
fix(lib/utils/proxy): attempt to use HermesInternal.enqueueJob to delay call with DEBUG_PROXIFIED_VALUES build flag 2025-07-26 12:37:58 +07:00
PalmDevs
7ecce136a8
chore: remove useless Object.freeze patch 2025-07-26 12:13:33 +07:00
PalmDevs
b40e2f51ab
fix(lib/plugins): only run dependencies in runPluginLate 2025-07-26 01:58:17 +07:00
PalmDevs
8eea0d12ea
feat: plugin dependencies and dependent dialogs, refactor plugins library and settings plugin
- Refactored the plugins library
- Refactored the settings plugin
2025-07-25 21:19:59 +07:00
PalmDevs
5d7ac417ba
fix(lib/plugins): some plugins with dependents being duplicated in ordered plugin list 2025-07-25 20:10:33 +07:00
PalmDevs
282685aabb
fix(lib/utils/discord): return early if unregistered asset used in lookupIconComponent 2025-07-23 17:14:24 +07:00