Commit graph

182 commits

Author SHA1 Message Date
PalmDevs
37664aaa55
chore: format 2025-05-19 01:43:41 +07:00
PalmDevs
cff9474d3f
fix(scripts/build): clean generated assets before build 2025-05-19 01:42:47 +07:00
PalmDevs
a03aaa338d
chore(scripts): target ESNext 2025-05-19 01:42:02 +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
3818ee1313
fix(shims/react~jsx-runtime): correctly unproxify values 2025-05-10 18:14:05 +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
177988dd8e
feat(plugins/developer-settings/devtools): use generated IconComponent for toasts 2025-05-10 02:12:18 +07:00
PalmDevs
c0babbd486
feat(plugins/developer-settings): add Asset Browser 2025-05-10 02:12:16 +07:00
PalmDevs
d40b16e3a2
feat(components): add Page and SearchInput 2025-05-10 02:12:15 +07:00
PalmDevs
65b10524b2
fix(plugins/developer-settings): add correct parent for EvaluateJavaScriptSetting 2025-05-10 02:12:14 +07:00
PalmDevs
456829e92a
feat(lib/assets): export getAllAssets 2025-05-10 02:12:13 +07:00
PalmDevs
f6c7ddb908
fix(scripts/build): remove leading . from asset type 2025-05-10 02:12:12 +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
bea425a8ca
fix: make things work with refactor 2025-05-09 21:55:05 +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
1e48473b74
fix(plugins/logging): rename imports 2025-05-08 20:23:15 +07:00
PalmDevs
2336a00df7
fix(lib/discord): expose AppStartPerformance to plugins under discord/common 2025-05-08 20:22:52 +07:00
PalmDevs
65abd86acb
feat(plugins/settings): register custom page as route 2025-05-08 19:10:45 +07:00
PalmDevs
fbdea3c9da
fix(plugins): refactor plugins to work with new APIs 2025-05-08 19:10:44 +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
66f376ca33
feat(scripts/build): add more logging 2025-05-07 02:53:31 +07:00
PalmDevs
2c29979f45
fix(scripts/build): await generating assets 2025-05-07 02:53:07 +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
4371b95bd9
fix(plugins/settings/definitions/ReactVersionSetting): switch to use AssetIcon 2025-05-06 23:51:21 +07:00