Commit graph

161 commits

Author SHA1 Message Date
PalmDevs
aba4fa7242
fix(lib/plugins): use defineLazyProperty to define plugin storage API 2025-06-03 16:13:54 +07:00
PalmDevs
e8fb54c19a
fix(lib/patcher): import types properly 2025-06-03 16:08:37 +07:00
PalmDevs
a1db2dbb2c
feat(lib/assets)!: modify cache struct, change how overrides work, cleanup APIs 2025-06-02 15:56:07 +07:00
PalmDevs
3cc039ae73
feat(lib/plugins): refactor discord plugin API as API extensions
The aim is to reduce Discord-specific code in core libraries.
2025-06-02 15:50:29 +07:00
PalmDevs
6d1ac67bff
feat(utils/objects): add defineLazyProperty 2025-06-02 15:48:06 +07:00
PalmDevs
6d19de566f
chore: format 2025-06-01 13:52:06 +07:00
PalmDevs
b9ed7d0203
feat(lib/storage): add Storage.delete 2025-06-01 13:51:05 +07:00
PalmDevs
5741d7ebbb
fix(lib/discord/types): correct property types for TableRowProps 2025-05-22 02:51:44 +07:00
PalmDevs
7a1ff7ef0c
feat(lib/plugins): add API for storages 2025-05-22 02:45:38 +07:00
PalmDevs
3c23236273
feat(lib): initial impl of storage 2025-05-22 02:44:49 +07:00
PalmDevs
291a4dfaa4
feat(lib/utils/types): add DeepPartial 2025-05-22 01:09:21 +07:00
PalmDevs
4df920009e
feat(lib/utils/objects): add isObject and mergeDeep 2025-05-22 01:09:04 +07:00
PalmDevs
f56309f448
chore(lib/modules/finders/filters): update docs 2025-05-22 00:00:11 +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
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