Commit graph

202 commits

Author SHA1 Message Date
PalmDevs
a87d4ced5c
fix(lib/modules)!: decouple discord-specific helpers to lib/discord 2026-01-17 20:41:14 +07:00
tralwdwd
aa07721269
feat(plugins/developer-kit): improve UI for JS eval
Currently the eval is done in a modal which makes it hard to use and means any code written is discarded after pressing evaluate and also it is hard to read output from an alert. This commit improves it by instead having it as a page instead where the code remains after evaluation and outputs the result in a box in the page rather than in an alert.

Eval results are also selectable now, and have display options. And inspecting with zero depth is now possible.

---------

Co-authored-by: PalmDevs <git@palmdevs.me>
2025-12-13 23:16:53 +07:00
PalmDevs
3284300ef1
feat(plugins/developer-kit): make Asset Browser asset names easy to copy 2025-12-13 22:50:27 +07:00
PalmDevs
47084f4f52
chore: update dependencies 2025-12-13 22:43:21 +07:00
PalmDevs
13722b994b
fix(plugins/no-track): crash on 310205+
Discord updated Sentry and now Sentry attempts also to set __SENTRY__ each attempt it tries to get the value, so now we fake the carrier instead.
2025-12-13 22:43:02 +07:00
PalmDevs
11259ee0b7
fix(plugins): update color tokens 2025-12-13 22:41:08 +07:00
PalmDevs
6c63ba5a31
fix: settings patches and definitions for 306203+ 2025-11-13 16:55:23 +07:00
PalmDevs
d9968c6e22
fix(plugins/developer-kit): use indirect eval 2025-11-12 15:05:50 +07:00
tralwdwd
440c2ab1bd
fix(plugins/developer-kit): eval alert box layout (#8) 2025-11-10 10:27:41 +07:00
PalmDevs
96ea57c559
fix(plugins/settings): navigate to Plugins screen correctly in plugin error alert 2025-10-24 14:50:35 +07:00
PalmDevs
2293e288d1
feat(plugins/settings): improve additional plugin options sheet
- Disable Settings icon button with tooltip hint if plugin is not enabled
- Added Status
- Moved Flags to Advanced
- Added Internal Flags

Other changes (to make the above work):
- TooltipProvider now properly uses React Contexts
- Added usePluginStatus (PluginStateProvider now subscribes to plugin statuses)
2025-10-23 17:50:38 +07:00
PalmDevs
2bf7709ba3
fix: use CircleErrorIcon instead of CircleXIcon for errors 2025-10-23 17:37:21 +07:00
PalmDevs
5aca231f2a
fix(plugins/settings): increase spacing for additional plugin options sheet 2025-10-23 17:06:08 +07:00
PalmDevs
da8c535544
fix(plugins/settings): clear storage properly on errored plugins
Previous code did not handle API being undefined after plugin is stopped.
Code has also been abstracted to be inside the storage API provider.
2025-10-23 17:05:25 +07:00
PalmDevs
079577922e
feat(plugins/settings): notify user on plugin error 2025-10-23 00:55:24 +07:00
PalmDevs
acac384f8b
feat(plugins/settings): improve styling for additional plugin options sheet 2025-10-23 00:53:35 +07:00
PalmDevs
fa0e480974
feat(plugins/settings): add plugin filtering by error status, derive and set route params directly 2025-10-23 00:52:25 +07:00
PalmDevs
a2f330e7e2
chore: remove #lib syntax
Autocomplete is annoying.
2025-10-22 22:24:26 +07:00
PalmDevs
de063fe260
feat(plugins/settings): add sheet for additional plugin options 2025-10-22 22:20:58 +07:00
PalmDevs
2bc2a9fd08
fix(lib/plugins): expose internal metadata via function instead 2025-10-22 22:19:42 +07:00
PalmDevs
0583c97ae2
fix(plugins/user-badges): remove dummy badge correctly 2025-10-22 22:16:15 +07:00
PalmDevs
de3134f1f3
fix(plugins/developer-kit): make address fields no longer sticky 2025-10-18 19:07:09 +07:00
PalmDevs
0bdf191fc9
fix(plugins/developer-kit): listen for correct setting, send log in correct level 2025-10-18 11:35:35 +07:00
PalmDevs
cb3b12f2ee
fix(plugins/no-track): correctly block AnalyticsTrackingActionCreators 2025-10-17 17:47:43 +07:00
PalmDevs
fbf2396d94
feat: catch and report fatal initialization errors 2025-10-17 15:49:50 +07:00
PalmDevs
67c3d9ec8d
chore(lib/plugins): update internal names with correct terminology 2025-10-14 00:37:24 +07:00
PalmDevs
0df3530788
feat(plugins/developer-kit): devtools integration + some fixes 2025-10-14 00:16:49 +07:00
PalmDevs
17fd1ec0bd
fix(plugins/settings): correct path for SettingsNavigator patch 2025-10-13 00:45:07 +07:00
PalmDevs
6dfeccb26a
fix(plugins/developer-kit): access property from globalThis
Prevents "Property '__REACT_DEVTOOLS__' does not exist" on builds without React DevTools.
2025-09-17 18:00:26 +07:00
PalmDevs
6df0716ec5
fix(plugins/settings): show Reload Required dialog before settings modules load 2025-09-17 17:14:25 +07:00
PalmDevs
d54623aa20
fix(plugins/developer-kit): refresh SettingsNavigator on state change 2025-09-17 17:14:23 +07:00
PalmDevs
349c23eced
fix: correct misleading terms 2025-09-17 17:14:22 +07:00
PalmDevs
56cb524aeb
chore(preinit): correct arg name for native method 2025-09-16 01:02:44 +07:00
PalmDevs
5684fa9d8b
feat: use native bridge for alerting errors 2025-09-16 01:02:22 +07:00
PalmDevs
d33f68ebad
feat(plugins/settings): add Loader info in Revenge page 2025-09-16 01:02:20 +07:00
PalmDevs
c03b87723e
fix(plugins/settings): debounce showing "Reload required" dialog 2025-09-10 00:52:13 +07:00
PalmDevs
5956d19125
chore: use import defer 2025-09-10 00:51:28 +07:00
PalmDevs
622df65cbf
chore: replace side-effect requires with imports mapping to requires
So the code editor can report errors for bad imports.
import statements are mapped to require statements via a bundler plugin.
2025-09-10 00:47:39 +07:00
PalmDevs
d842c16903
feat(plugins/api.storage): remove gotcha with load: true 2025-09-02 10:24:15 +07:00
PalmDevs
ab81c4b726
feat(plugins/settings): add optional descriptions for plugin list filters 2025-08-31 20:04:10 +07:00
PalmDevs
408c8463ac
feat(plugins/settings): exclude API plugins, turn on match all by default for plugin list 2025-08-31 20:04:03 +07:00
PalmDevs
83cd04d5b1
fix(plugins/settings): key FormSwitch to prevent animation on fast scrolls 2025-08-30 23:23:37 +07:00
Palm
5f5fc6f2b2
feat!: module finders refactor (#6)
- Renamed `byX` filters to `withX`.
  It is more correct. For example: You don't lookup, wait for, or get modules **BY** props. You lookup, wait for, and get modules **WITH** props.
- Renamed `*byImportedPath` to `*withImportedPath`
  For consistency with the above change.
- Renamed `getModule` to `getModules`.
  The API allows getting multiple modules and not just a single one. Types are renamed as well.
  `getModuleByImportedPath` remains the same as it only gets one single module with a unique imported path.
- `withX` filter **helpers** removed.
  They can now be replaced with the new capability-based `and` filter.
- `preferExports` and `moduleStateAware` filters removed.
  They can now be replaced with the new capability-based `and` filter.
- Composite finders renamed.
  `some` -> `or`, `every` -> `and`
- Composite finders takes a capability-based approach.
- Filter generators now need to attach runtime flag to let the system know whether the generated filter can be used to filter modules without proper exports or not.

## Misc.

- Removed useless unsub call in Profile Badges
- Use `queueMicrotask` with `asap`

# Features

## Capability-based approach to composite filters

```js
// Old
byProps(...).withDependencies(...)
// Old, same as: preferExports(byProps(...), byDependencies(...))
every(byDependencies(...), byProps(...))
// Old, ordering matters, this would fail unexpectedly!
every(byProps(...), byDependencies(...))

// New
withProps(...).and(withDependencies(...))
// New (as well), ordering doesn't matter, this has the same result as above
withDependencies(...).and(withProps(...))
```
2025-08-30 09:19:57 +07:00
PalmDevs
497bb232ea
chore: update dependencies 2025-08-25 19:19:22 +07:00
PalmDevs
68b84ea203
fix(plugins/developer-kit): move IconComponent lookup outside function 2025-08-20 20:51:05 +07:00
PalmDevs
50a3804709
fix(plugins/developer-kit): use new icons for fallback displays 2025-08-20 20:49:23 +07:00
PalmDevs
180b8b858d
chore(plugins/user-badges): use push + pop instead of unshift + shift 2025-08-19 21:45:48 +07:00
PalmDevs
c2d12321f6
chore(lib/modules): simplify imports 2025-08-13 01:27:49 +07:00
PalmDevs
2b69e17d68
feat(plugins/settings): show Reload required dialog immediately after flag update 2025-08-13 00:54:14 +07:00
PalmDevs
d38a0394f6
fix(plugins/settings): trailing comma in Reload required dialog content 2025-08-13 00:54:01 +07:00