Commit graph

193 commits

Author SHA1 Message Date
PalmDevs
fe43fd14d4
feat: import plugins using import.meta.glob 2025-05-22 00:06:36 +07:00
PalmDevs
f56309f448
chore(lib/modules/finders/filters): update docs 2025-05-22 00:00:11 +07:00
PalmDevs
4606a9edc2
feat(scripts/build): mangle names, and compress 2025-05-21 07:26:14 +07:00
PalmDevs
bea79efb4f
chore: update deps 2025-05-21 07:25:26 +07:00
PalmDevs
7535e56b84
feat(plugins/staff-settings): apply changes without reload 2025-05-19 02:46:58 +07:00
PalmDevs
d56067d1d1
fix(lib/plugins): handle force stopping after timing out properly 2025-05-19 02:22:12 +07:00
PalmDevs
fa21c4ddc0
fix(lib/plugins): don't run setups if lifecycles do not exist 2025-05-19 02:21:35 +07:00
PalmDevs
2f71d92417
feat(util/promises): add sleepReject 2025-05-19 02:20:22 +07:00
PalmDevs
8437c224cd
fix(modules/finders/get): mismatched args for getModule 2025-05-19 02:20:00 +07:00
PalmDevs
8cf107ed12
feat(lib/discord/common/flux): export getStore and byStoreName 2025-05-19 02:19:39 +07:00
PalmDevs
ae8d19db7c
fix(lib/discord/types): correct types for Logger 2025-05-19 02:18:45 +07:00
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