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
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
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
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
PalmDevs
4193661de8
fix(plugins/settings): make sure plugin name does not overflow
2025-08-11 20:10:52 +07:00
PalmDevs
7712b818f8
feat(lib/discord)!: flatten api structure
2025-08-11 17:21:12 +07:00
PalmDevs
02c1c69abc
chore: cleanup
2025-08-09 02:12:29 +07:00
PalmDevs
15ed4c551b
fix(plugins/developer-kit): use eval
2025-08-03 14:19:19 +07:00
PalmDevs
578b78dd7e
feat(lib/modules/finders/waits): cached-only waits
2025-07-31 19:15:08 +07:00
PalmDevs
8f4305e767
feat(lib/discord/types): type TableCheckboxRow TableRadioGroup TableRadioRow in Design
2025-07-26 20:01:30 +07:00
PalmDevs
7a7345d433
fix(plugins/developer-kit): correct Evaluate JavaScript placeholder code
2025-07-26 12:36:43 +07:00
PalmDevs
7b4d566e4d
fix(plugins/settings): mark plugin as essential
2025-07-26 01:39:25 +07:00
PalmDevs
bb8c38cdcb
feat(plugins/settings): add estimatedListSize to improve initial render, fix right-side gap on cards
2025-07-26 01:31:59 +07:00
PalmDevs
6e67a8a0e4
chore(plugins/developer-kit): cleanup
2025-07-25 21:20:56 +07:00
PalmDevs
8eea0d12ea
feat: plugin dependencies and dependent dialogs, refactor plugins library and settings plugin
...
- Refactored the plugins library
- Refactored the settings plugin
2025-07-25 21:19:59 +07:00
PalmDevs
22ce36e4f4
chore(plugins/staff-settings): move to register on start
2025-07-22 19:13:16 +07:00
PalmDevs
f250276180
fix(plugins/settings): don't add custom sections twice, cleanup
2025-07-22 18:22:56 +07:00
PalmDevs
44adc6679f
chore(plugins/settings): start plugin at start stage, add as dependency to developer-kit to prevent race condition
2025-07-21 22:42:37 +07:00