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
PalmDevs
d386035342
chore(lib/storage): move Storage#use initialization back to library
2025-08-12 16:56:10 +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
2c6e54a81b
chore: setup lifecycles before initializing plugins
2025-08-11 16:52:26 +07:00
PalmDevs
dcfe40c1d7
feat(lib/storage): add Storage#subscribe
2025-08-11 16:39:23 +07:00
PalmDevs
02c1c69abc
chore: cleanup
2025-08-09 02:12:29 +07:00
PalmDevs
ce188950cd
feat(lib/discord): add flux APIs
2025-08-05 20:36:08 +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
00e9794baf
chore(plugins/no-track): make AnalyticsActionHandlers patch more readable
2025-07-30 20:17:57 +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
7ecce136a8
chore: remove useless Object.freeze patch
2025-07-26 12:13:33 +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
b27fd9221a
fix(plugins/no-track): remove immediate discord lib dependency
2025-07-22 19:12:54 +07:00
PalmDevs
b7ed6bb88f
fix(plugins/staff-settings): use API from parameter, show toast instead of attempting refresh
2025-07-22 18:58:49 +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
PalmDevs
fbe1852e8d
fix(plugins/settings): refresh SettingsNavigator to register plugin setting route on enable
2025-07-21 22:41:17 +07:00
PalmDevs
a586c0cebd
feat(lib/discord/modules/settings): new method to refresh SettingsOverviewScreen and SettingsNavigator
2025-07-21 22:40:28 +07:00
PalmDevs
d2ac578cff
feat(src/plugins/settings): use global state context to reduce rerenders
2025-07-21 22:15:31 +07:00
PalmDevs
57e2fa89da
fix(plugins/settings): NavigatorHeader not having an icon immediately in plugin settings
2025-07-21 14:45:49 +07:00
PalmDevs
f5ed49d4e2
fix: declare unscoped storage API using decorators instead
2025-07-21 14:06:51 +07:00
PalmDevs
2e455cf2c5
feat: add ability to decorate plugin APIs, move private properties to WeakMap stores
2025-07-20 23:06:56 +07:00
PalmDevs
78614c1cc9
chore: move SettingRendererConfig patches to lib, refactor how lifecycles are run
2025-07-19 23:23:32 +07:00
PalmDevs
832a3fc7da
chore(plugins/settings): cleanup
2025-07-19 14:45:16 +07:00
PalmDevs
72f4232a95
feat(plugins/settings): register plugins as own routes instead
2025-07-19 14:01:04 +07:00
PalmDevs
86e02202b6
feat(lib/discord/modules/settings): switch to objects for storage
2025-07-18 23:44:31 +07:00
PalmDevs
d3b754d2cc
feat(lib/plugins): switch to objects for storage
2025-07-18 23:44:08 +07:00
PalmDevs
7b99a59a73
chore(lib/plugins): improve plugin manifest consistencies
2025-07-18 18:29:50 +07:00
PalmDevs
5543030b57
fix(plugins/developer-settings): missing icon in React DevTools error toast
2025-07-18 02:04:54 +07:00
PalmDevs
8ca50309eb
chore(plugins/logging): only register on dev builds
2025-07-18 02:03:26 +07:00
PalmDevs
38b035966b
chore: cleanup
2025-07-18 02:02:34 +07:00
PalmDevs
9c8d55af21
fix(plugins/developer-settings): crash on copy React DevTools version
2025-07-18 01:55:52 +07:00