PalmDevs
b1d65fbda2
feat(plugins/recovery): detect freezes much earlier + show stack traces
2026-08-14 01:48:31 +07:00
PalmDevs
2172bc862b
feat(lib/discord/types): type additional parameters for AlertActionCreators.openAlert
2026-08-13 02:06:10 +07:00
PalmDevs
4247a75567
feat(lib/discord/types): type ActionSheet related exports more accurately
2026-08-13 01:43:43 +07:00
PalmDevs
6f50a92c71
fix(lib/plugins): don't add own IDs to dependency map of reserved dependencies
2026-08-13 01:42:43 +07:00
PalmDevs
1df184bc1f
fix(lib/discord/flux/stores): busy wait when withStore can't match anything + minor issues
...
- Updated `withStore` dependencies filter
- Check if exports are bad within `withStore` and `withStoreName`
2026-08-12 23:17:50 +07:00
PalmDevs
3ac922a817
fix(lib/modules/metro/utils): detect proxies better in isModuleExportBad
2026-08-12 23:15:10 +07:00
PalmDevs
c16dcaa654
feat(lib/discord/types): add expressive Button type
2026-08-12 15:52:18 +07:00
PalmDevs
ecb2cf810b
fix(lib): migrate to new withDependencies APIs
2026-08-12 15:47:36 +07:00
PalmDevs
d3fb84b76d
feat(lib/modules/finders): new withDependencies builders
...
- `skip` and `last`: Skips the first N/to the end of dependencies before doing comparisons.
- `atLeast` and `atMost`: Length check before doing comparisons.
- `includes`: Simply checks if the depedencies exist. This is performance intensive though.
2026-08-12 15:21:22 +07:00
PalmDevs
07291f6c20
fix(lib/modules/metro/runtime): use module ID from closure
...
mInitializingId will never match the actual ID outside of the factory call.
2026-08-12 01:33:39 +07:00
PalmDevs
9258695ec7
feat(lib/modules/finders)!: initialized boolean for filter predicates + remove FilterFlag and weird assumptions + fix partial matches causing modules skip in lookup
2026-08-12 01:12:48 +07:00
PalmDevs
51647ef513
fix(lib/discord): TextStyleSheet types and export in Design
2026-08-04 23:41:13 +07:00
PalmDevs
54f5d94205
feat: warn user to update loader if native cache format is outdated
2026-08-02 17:10:53 +07:00
PalmDevs
ed9f4dee43
fix(lib/utils/proxy)!: remove proxy patch and isProxy getProxyTarget
2026-08-02 17:03:57 +07:00
PalmDevs
cb334d0b9c
fix(lib/utils): use Reflect.ownKeys and PropertyKey for correctness
2026-08-02 16:58:03 +07:00
PalmDevs
c096b80225
fix(lib/modules/finders): don't let one bad filter take down the whole process
2026-08-02 16:57:23 +07:00
PalmDevs
9a10e9d509
fix(lib/modules): don't make assumptions about what consumers are filtering
2026-08-02 16:57:18 +07:00
PalmDevs
215cd487b9
fix(lib/modules/metro/patches): don't blacklist objects with no enumerable keys
2026-08-02 16:19:34 +07:00
PalmDevs
e2dcc294e9
fix(lib/modules/metro): handle all subscription tasks in runtime
2026-08-02 16:18:36 +07:00
PalmDevs
57961ae5d7
fix(lib/plugins): ignore re-registration for internal plugins
2026-08-02 00:05:18 +07:00
PalmDevs
2dd77f24b5
fix(lib/plugins)!: incorrect API structure for unscoped.discord.utils
2026-08-01 21:44:47 +07:00
PalmDevs
912fa8e896
chore(lib/plugins): update init+ error message with hints
2026-08-01 15:45:31 +07:00
PalmDevs
73534bda6a
fix(lib/plugins): restrict unscoped.discord.(actions|design) to init+
2026-08-01 15:42:30 +07:00
PalmDevs
ff410cbb25
chore(lib/modules/finders/lookup): move LookupModulesOptions.initialize clarification comment
2026-08-01 15:32:11 +07:00
PalmDevs
752f3b1c7e
fix(lib/discord/design): improve perf for Design filter
2026-08-01 15:31:33 +07:00
PalmDevs
bd5ee5c1f1
chore(lib): clarify doc
2026-08-01 14:49:54 +07:00
PalmDevs
acdf865cc7
fix(lib): improve Discord-related filtering
2026-08-01 14:49:20 +07:00
PalmDevs
944dbb6838
feat: improve recovery mode + small lib additions
...
Improved Recovery Mode features generally:
- Ability to view and modify saved states while not actually running any additional plugins
- Better Recovery Mode banner display
- Enter Recovery Mode option in Revenge Settings UI
- Fixed freeze detection false positives
New APIs:
- lib/discord: `disabled` in `DiscordModules.Components.FloatingActionButtonProps`
- lib/modules/native/app: new submodule with `reloadApp()` method
Fixes:
- Use `reloadApp()` instead of `BundleUpdaterManager.reload()`
2026-08-01 01:51:34 +07:00
PalmDevs
6d7e017c0b
fix(lib/modules/metro): move all error handling to metroRequire
2026-08-01 00:18:32 +07:00
PalmDevs
ffce0e2cf2
feat(lib/plugins): add sourceURL to external plugin scripts
2026-07-31 17:46:42 +07:00
PalmDevs
1497e8ef8d
feat: app freeze detection and recovery mode
...
This requires loader support and can only be triggered from a native dialog.
Recovery mode toggle won't be a functionality for now. If there's a use, such as binary searching problematic plugins, then it'll be added (similar to VSCode extension bisect).
2026-07-31 17:46:08 +07:00
PalmDevs
c49f3eb471
fix(lib/discord/common)!: split to own submodules + don't restrict everything to init+
2026-07-31 14:51:15 +07:00
PalmDevs
217617a663
fix(plugin/settings): remount instead of recomputing SettingHookHarness memos
...
Recomputing causes a React crash because the harness calls additional hooks for every setting.
When we add/remove setting items, hooks are not called the same amount.
React expects the same amount of hooks to be called after each render, so this breaks adding settings items while in Settings.
We can remount it instead to avoid this crash.
2026-07-31 03:26:04 +07:00
PalmDevs
1c58b7a5a1
chore: use AnyFunction from lib everywhere
2026-07-31 02:38:45 +07:00
PalmDevs
10371ff000
fix: settings UI refreshing
2026-07-31 02:38:41 +07:00
PalmDevs
8040d3be07
fix(lib/externals/react-native-safe-area-context): update filters for 341202+
2026-07-29 23:42:44 +07:00
PalmDevs
bb0919ef0a
fix(lib/discord): bring back support for <341202
2026-07-29 23:18:11 +07:00
PalmDevs
6bdff25482
feat: better types + typegen output
...
- Add dependencies to types package.json
- Make temp file names deterministic
2026-07-29 22:15:23 +07:00
PalmDevs
2e944b0f25
fix: support 341202+
...
First Android Static Hermes version incoming, with Metro issues.
- scripts/plugins/hermesc: use hermes-compiler
- plugins/settings: get React Native version correctly
- lib/modules/finders/filters: support null ID in DependencyMap for `withDependencies`
- lib/discord: update filters for 341202+
2026-07-29 21:48:18 +07:00
PalmDevs
49c1b1e68d
fix(lib/utils/object): lazy properties shouldn't delete itself when loader errors
2026-07-29 21:48:15 +07:00
PalmDevs
c7b5ae8ee6
fix(lib/plugins): external JS plugins not loading
2026-07-29 21:48:10 +07:00
PalmDevs
e73bbc03ba
fix(lib/json-storage): clarify how JsonStorage.get() and JsonStorageUpdateMode.Load works
2026-07-28 12:44:31 +07:00
PalmDevs
da08b94f76
fix(lib/assets): skip useless comparison during pre-init
2026-07-28 12:12:22 +07:00
PalmDevs
0fdc1f1cff
fix: plugin API types + JS options validation
2026-07-28 12:07:28 +07:00
PalmDevs
a629b2ad44
fix(lib/discord/types): export API types to expose plugin API decoration
2026-07-26 16:13:13 +07:00
PalmDevs
b250450367
feat(lib/plugins): reexpose EnabledLate flags property as startedLate
2026-07-26 16:01:09 +07:00
PalmDevs
f6d119a210
fix(lib/externals/shopify): update filters for 340206+
2026-07-26 13:47:31 +07:00
PalmDevs
d2c7f47fe7
fix(plugins/settings.plugins): match the version, channel, and repo exactly from the card when installing plugins from the Browse screen
2026-07-26 02:01:58 +07:00
PalmDevs
5432276ab0
fix(plugins/settings.plugins): small errors & inconsistencies
...
- Soft errors now nudge UI to rerender.
- `runPluginLate` will throw anyway, so early return is cleaner.
- `confirmInstall` returns a `Promise` which the AlertModal should await before closing.
2026-07-26 02:01:57 +07:00
PalmDevs
ff263a2282
chore: remove dead code and correct comments
2026-07-26 02:01:56 +07:00