Commit graph

307 commits

Author SHA1 Message Date
PalmDevs
15499cbdab
fix(lib/discord/types): use StyleProp for component style properties 2025-07-18 01:15:39 +07:00
PalmDevs
bcb82e1f4f
chore: format 2025-07-17 16:55:23 +07:00
PalmDevs
79ce47c2bc
feat(lib/modules/metro): use Map for storing module dependencies for quicker access, rename file 2025-07-17 16:55:08 +07:00
PalmDevs
7359567b3e
feat(lib/types): declare react native intrinsic elements 2025-07-16 20:16:57 +07:00
PalmDevs
4edc6c3821
fix(lib/react/jsx-runtime): fix typings issues 2025-07-16 20:05:20 +07:00
PalmDevs
0095a3e153
feat(lib/plugins): allow accessing react API in preInit 2025-07-16 20:02:18 +07:00
PalmDevs
4f46b5a635
feat(lib/react/jsx-runtime)!: improve types 2025-07-15 22:05:11 +07:00
PalmDevs
ab8e2a5772
fix(lib/discord/modules/settings): fix edge case on renavigation in refreshSettingsOverviewScreen
If a route was replaced before renavigation, renavigation would fail. This commit fixes that issue.
2025-07-14 23:46:28 +07:00
PalmDevs
8d4581f9c1
fix: register start-only plugins during start stage
Previously they were registered on init which may have caused some minor performance issues.
2025-07-14 23:13:52 +07:00
PalmDevs
050b147147
fix(lib/externals/react-native-clipboard): also clean up destructure references 2025-07-14 10:02:52 +07:00
PalmDevs
188e88ae47
fix(lib/utils/proxy): with DBEUG_PROXIFIED_VALUES flag, run factory on next event loop if possible
Prevents an edge case where `proxify` with a cleanup causes subsequent `destructure` calls to error because the assigned value is no longer a proxified value.

See ./lib/externals/src/react-native-clipboard.ts for reference.
2025-07-14 10:02:17 +07:00
PalmDevs
fbc2d0e796
fix(lib/assets): do wait before proxified lookup 2025-07-14 09:54:30 +07:00
PalmDevs
e48e45226f
fix(utils/proxy): accept nested options in destructure 2025-07-14 09:53:06 +07:00
PalmDevs
74fef6a3e4
chore(lib/assets): correct typo, remove useless log 2025-07-13 20:04:42 +07:00
PalmDevs
a98de1ce9d
chore(lib/assets)!: revert 056e082 2025-07-13 19:52:40 +07:00
PalmDevs
ec062a78df
feat(lib/assets): allow using AssetsRegistry during preinit 2025-07-13 19:29:44 +07:00
PalmDevs
c949517e4a
fix(lib/modules/metro): mark module as initializing instead of optimistically marking as initialized during require 2025-07-13 19:22:15 +07:00
PalmDevs
cc7635005b
fix(lib/assets)!: rename exports
`AssetRegistry*` -> `AssetsRegistry*`
2025-07-13 19:20:54 +07:00
PalmDevs
874c074f1e
fix(lib/modules/finders): only run filter again if module is not blacklisted 2025-07-13 19:20:07 +07:00
PalmDevs
996e4f5994
fix(lib/utils/proxy)!: disallow passing type-strings to ProxifyOptions.hint 2025-07-13 19:18:41 +07:00
PalmDevs
c331f1fb84
fix(lib/assets): throw error when accessing uninitialized assets-registry 2025-07-13 18:12:18 +07:00
PalmDevs
96a8d576f4
fix(lib/discord/types): correct AlertModalProps['title'] type 2025-07-13 18:03:12 +07:00
PalmDevs
056e082fdb
feat(lib/assets): add isAssetsRegistryInitialized and onAssetsRegistryInitialized 2025-07-13 15:56:56 +07:00
PalmDevs
6a38136762
fix(lib)!: breaking changes
- Remove `noopFalse` from `@revenge-mod/utils/callback`
- Do not return result from unpatch/undo/unsub functions
- `onSettingsModulesLoaded` from `@revenge-mod/discord/modules/settings` now calls the callback immediately if settings modules are already loaded instead of throwing
2025-07-13 15:53:44 +07:00
PalmDevs
709a944d49
feat(lib/patcher/types): export UnpatchFunction 2025-07-13 15:47:45 +07:00
PalmDevs
37a20160db
fix: do not use emitter to emit error event
Discord's EventEmitter handles the `error` event specially for some reason.
2025-07-13 00:26:22 +07:00
PalmDevs
7bfb703e01
fix(lib/react/jsx-runtime): init patch set when undefined 2025-07-13 00:26:21 +07:00
PalmDevs
811bd30756
chore: revert 8347e24 2025-07-12 21:05:27 +07:00
PalmDevs
0746db3648
chore(lib/plugins): move utils assignments to own lib 2025-07-11 17:55:54 +07:00
PalmDevs
b3d9f0c9ec
fix(lib/plugins): remove bad assignment 2025-07-11 17:49:30 +07:00
PalmDevs
f591fc7de9
feat(lib/plugins): expose utils, components to unscoped API 2025-07-11 17:43:23 +07:00
PalmDevs
4b2a612374
chore(lib/utils): do not pluralize submodules 2025-07-11 17:33:06 +07:00
PalmDevs
a2c97abd3b
feat(lib/utils/objects): export original Object.freeze 2025-07-11 17:16:33 +07:00
PalmDevs
fe97059933
feat(lib/modules): cache blacklisted modules 2025-07-11 17:15:49 +07:00
PalmDevs
83a3eb53fb
feat(lib/plugins): expose storage lib to unscoped API 2025-07-11 17:02:22 +07:00
PalmDevs
8bd9f4f8b2
fix(lib/storage): allow imports during preinit 2025-07-11 16:58:53 +07:00
PalmDevs
f05885e559
feat(lib/modules/metro): blacklist primitives and empty objects for finders 2025-07-11 15:59:35 +07:00
PalmDevs
c66dace21b
chore: cleanup questionable code 2025-07-11 15:53:12 +07:00
PalmDevs
8babd1837a
feat(lib/plugins): log plugin errors in native as well 2025-07-11 15:19:27 +07:00
PalmDevs
3ef9f17188
fix(lib/discord/modules/settings): dispatch reset on next paint in if renavigating refreshSettingsOverviewScreen 2025-07-11 15:02:42 +07:00
PalmDevs
2b05b34a28
chore: lint and format 2025-07-11 01:15:50 +07:00
PalmDevs
8347e24e54
chore(lib/react)!: remove jsx-runtime
This has been made because no developer will likely ever require this API.

The current API assumes you already have an instance of the component, which means you can likely already patch that component instance itself.

The API can be made more powerful by taking any string names, and comparing it to the component's type name, type displayName, name, displayName, etc., but it will introduce performance bottlenecks.
2025-07-11 01:15:20 +07:00
PalmDevs
f824778519
fix(lib/modules/metro): improve performance by preallocating 2025-07-11 01:11:06 +07:00
PalmDevs
14920bc21a
fix(lib/react/jsx-runtime/patches): bug and performance fixes
- Compute fiber normally if there are no instead patches
- Store all patch kinds in one single Map
- Attempt cleanup after unpatch
2025-07-11 00:59:02 +07:00
PalmDevs
9e6614a1bd
chore: lint and format 2025-07-10 21:26:27 +07:00
PalmDevs
2a0d91878f
feat(lib/react): add jsx-runtime 2025-07-10 21:25:46 +07:00
PalmDevs
546bbc080a
chore(lib/patcher): add jsdoc 2025-07-10 21:24:04 +07:00
PalmDevs
78e8a96034
fix(lib/react)!: ReactJsxRuntime -> ReactJSXRuntime
JSX is JavaScript XML, which should be capitalized
2025-07-10 21:23:39 +07:00
PalmDevs
84c6edcfe2
fix: revert using Object.defineProperty instead of delete
Apparently it's somewhat faster to `delete` and set, than to use Object.defineProperty
2025-07-10 12:43:05 +07:00
PalmDevs
aacb038d09
fix(lib/utils/objects): use Object.defineProperty instead of delete 2025-07-09 19:09:05 +07:00