Commit graph

210 commits

Author SHA1 Message Date
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
5d1a29b008
chore: update dependencies 2025-06-01 13:50:21 +07:00
PalmDevs
80c76f907a
fix(plugins): include tsx in import globs 2025-05-22 03:45:10 +07:00
PalmDevs
bd061478e6
fix(plugins/settings): run subscriptions with catch, register items during plugin register 2025-05-22 03:15:40 +07:00
PalmDevs
33d3bac5c3
fix(scripts/build): only compress and mangle in prod builds 2025-05-22 03:14:39 +07:00
PalmDevs
5741d7ebbb
fix(lib/discord/types): correct property types for TableRowProps 2025-05-22 02:51:44 +07:00
PalmDevs
c2e640388e
chore(scripts/build): add dev hint when no output from hermesc 2025-05-22 02:49:24 +07:00
PalmDevs
ce726accca
feat(plugins/developer-settings/react-devtools): add settings 2025-05-22 02:48:54 +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
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