Commit graph

142 commits

Author SHA1 Message Date
PalmDevs
37664aaa55
chore: format 2025-05-19 01:43:41 +07:00
PalmDevs
a43cd5d564
feat!: plugins page, tons of API changes, and bug fixes
Plugins
- Settings: Plugins page is now semi-functional
- No Track: Added new plugin
- Developer Settings: Clean up properly
- Logging: Log in preInit stage
- Staff Settings: Add ReloadRequired flags when late-running

@revenge-mod/init
- Moved to the top-level src/index.ts instead

@revenge-mod/modules
- Switch `exports` and `id` parameters in finders APIs
- Lookups now return an array of exports and ID instead of just exports
  - Lookup ID APIs have been removed
- Add `finders.get` helper, a new alternative for `finders.find`
- Corrected documentation for subscription APIs

@revenge-mod/plugins
- Added new APIs for plugins to allow running during pre-init stages
- Added `unscoped.modules.finders.get*`
- Added `unscoped.react.native`

@revenge-mod/react
- native: Added `onRunApplication` and `onRunApplicationFinished`

@revenge-mod/utils
- callbacks: Add `noopFalse`
- promises: Fix `allSettled`
- promises: Add `sleep`
2025-05-18 22:24:48 +07:00
PalmDevs
4d31b7016c
chore(lib/modules/metro/subscriptions): update documentation 2025-05-15 16:47:02 +07:00
PalmDevs
066f6c9671
fix: remove sparse arrays from lookups 2025-05-15 15:13:19 +07:00
PalmDevs
331f509f8d
feat(lib/modules/finders/lookup): warn about bad filters in development builds 2025-05-15 15:12:29 +07:00
PalmDevs
273294df82
fix(lib/modules/finders)!: remove find* apis
- `find` APIs are merely a wrapper for `wait` and `lookup` APIs. I think the developer should already know whether the module they're trying to get is initialized already or not by the time their plugin runs.
In the `init` phase, most important packages such as React, React Native, React JSX Runtime, Native modules, etc. are already initialized. So, the `lookup` APIs can be used here instead.

- While I am not sure what exactly gets initialized after `init` until `start`, you can simply do trial and error to see if the module is initialized or not. If it is not, you can use `wait` API to wait for it to be initialized.

- `lookup` can also be used inside `wait` if you know a certain module would be initialized after another module.

With all the above reasons, I think the `find*` APIs are redundant and should be removed.
2025-05-13 10:35:07 +07:00
PalmDevs
4f3621ecd4
feat(lib/plugins/apis): include plugin, reduce getters on other apis 2025-05-13 10:34:57 +07:00
PalmDevs
8a8bbf7c8a
feat(lib/utils): export promises 2025-05-10 18:18:08 +07:00
PalmDevs
96ff348fd8
feat(lib/discord/design)!: export FormSwitch, rename Components -> Design 2025-05-10 18:17:47 +07:00
PalmDevs
47e10b3be0
feat(utils/proxy): add isProxified 2025-05-10 18:13:21 +07:00
PalmDevs
c811e9e302
feat(lib/modules/finders/filters): add bySingleProp filter 2025-05-10 18:12:38 +07:00
PalmDevs
456829e92a
feat(lib/assets): export getAllAssets 2025-05-10 02:12:13 +07:00
PalmDevs
81f529c607
feat(lib/externals): export react-native-clipboard 2025-05-10 02:12:05 +07:00
PalmDevs
0202254e7f
feat(lib/utils): make lookupGeneratedIconComponent more versatile 2025-05-10 01:15:21 +07:00
PalmDevs
9a21a91985
feat(lib/plugins): refactor 2025-05-09 21:53:48 +07:00
PalmDevs
ca7ef6ea1a
feat(lib)!: refactor discord, add export utils/discord 2025-05-09 21:52:43 +07:00
PalmDevs
bea3439c5e
fix(lib): refactor modules, react, utils 2025-05-09 21:21:06 +07:00
PalmDevs
c11a74bc35
fix(lib/types): reference react-native types in tsconfig instead 2025-05-09 00:15:00 +07:00
PalmDevs
c51e5e6a13
fix(lib): refactor init and utils 2025-05-09 00:04:36 +07:00
PalmDevs
9e857d7751
chore(lib/externals): refactor 2025-05-08 23:43:25 +07:00
PalmDevs
5587ede6ba
chore(lib/assets): refactor 2025-05-08 23:41:55 +07:00
PalmDevs
5de00474d4
fix(lib/plugins): lazy load some APIs 2025-05-08 20:25:11 +07:00
PalmDevs
2336a00df7
fix(lib/discord): expose AppStartPerformance to plugins under discord/common 2025-05-08 20:22:52 +07:00
PalmDevs
d08d1a9795
feat(lib/plugins): expose externals lib to plugins 2025-05-08 19:10:43 +07:00
PalmDevs
ef5f2ce87c
fix(lib)!: refactor structure 2025-05-08 19:10:42 +07:00
PalmDevs
98b84a43c7
feat(lib): add externals 2025-05-08 19:10:40 +07:00
PalmDevs
15154c05fe
feat(lib/modules/finders/filters): allow specifying custom types in byDependencies 2025-05-08 19:10:39 +07:00
PalmDevs
75837d48cc
feat(lib/assets): add getAssetModuleId 2025-05-08 18:40:53 +07:00
PalmDevs
c0a853b2fb
fix(lib/modules/finders/filters): correct cache key generation for byDependencies 2025-05-07 17:34:55 +07:00
PalmDevs
6407b0518f
fix: optimize typechecking performance 2025-05-07 17:34:19 +07:00
PalmDevs
c5daae75e6
fix(lib/discord)!: move ui/settings to settings 2025-05-07 01:35:54 +07:00
PalmDevs
26b4c08a24
chore: refactor, auto-gen assets 2025-05-07 01:21:27 +07:00
PalmDevs
73dbf1aa2e
fix(lib/assets): make RN resolve custom assets properly 2025-05-07 00:51:43 +07:00
PalmDevs
72bd9c00fb
feat(lib/assets): add api for registering custom and overriding assets 2025-05-07 00:17:12 +07:00
PalmDevs
7450447c1b
feat(lib/assets)!: store asset IDs separately, prepare for asset override support 2025-05-07 00:13:22 +07:00
PalmDevs
bb8d46468a
feat(lib/plugins): expose utils in unscoped API 2025-05-06 22:08:35 +07:00
PalmDevs
3bca2c4691
fix(lib/discord/ui/settings): correct isSettingsModulesLoaded status 2025-05-05 21:22:21 +07:00
PalmDevs
930f8221c0
chore: format 2025-05-05 21:17:42 +07:00
PalmDevs
8bb1ccca2a
feat(lib/discord/ui/settings): add onceSettingsModulesLoaded and isSettingsModulesLoaded 2025-05-05 21:14:23 +07:00
PalmDevs
b0b80fdc0d
feat(lib/discord/ui/settings): type StaticSettingsItem 2025-05-05 20:23:55 +07:00
PalmDevs
7cf05a6f53
feat(lib/discord/actions): export ToastActionCreators 2025-05-05 19:22:59 +07:00
PalmDevs
7789c26d86
feat(lib/modules/finders/filters): add withoutProps 2025-05-05 19:22:58 +07:00
PalmDevs
b85b2257e4
chore: update build flags 2025-05-05 19:22:57 +07:00
PalmDevs
125a803824
fix(lib/utils/proxy)!: do not forcefully proxify primitives 2025-05-05 19:22:56 +07:00
PalmDevs
e16a008901
feat(lib/utils/react): add useReRender 2025-05-05 19:22:55 +07:00
PalmDevs
8f74dfc79c
feat(plugins/settings): add react devtools support 2025-05-05 19:22:53 +07:00
PalmDevs
f3d3c6b646
feat(lib/discord/ui/settings): add registerSettingItems api 2025-05-05 02:18:01 +07:00
PalmDevs
9959b5be6c
feat(lib/discord): add missing types 2025-05-04 20:31:54 +07:00
PalmDevs
93decc2d63
feat(lib/discord): exports actions and polyfills 2025-05-04 20:31:48 +07:00
PalmDevs
00265bdfa1
fix(lib/discord/ui): cleanup common exports 2025-05-04 20:26:44 +07:00