PalmDevs
420f3e803e
fix(lib/plugins)!: update storage layout
...
No migration here. It also replaces some specific APIs.
2026-07-07 00:28:05 +07:00
PalmDevs
bf8b99efb9
feat(lib/plugins): external plugins support
...
This is the first draft. Things may change in the future.
Loader changes are required as well.
2026-07-07 00:03:46 +07:00
PalmDevs
7b651154a2
fix(lib/plugins): prepend API plugins last
2026-04-07 22:34:34 +07:00
PalmDevs
5c892bb8a1
fix(lib/plugins/apis): set most APIs during pre-init phase
2026-04-07 22:03:13 +07:00
PalmDevs
c8906b442a
feat(lib/plugins)!: bind lifecycle this to plugin
2025-10-26 23:08:36 +07:00
PalmDevs
0f0c5f85eb
fix(lib/plugins): clear Errored flag properly on prepare
2025-10-23 17:02:19 +07:00
PalmDevs
2bc2a9fd08
fix(lib/plugins): expose internal metadata via function instead
2025-10-22 22:19:42 +07:00
PalmDevs
67c3d9ec8d
chore(lib/plugins): update internal names with correct terminology
2025-10-14 00:37:24 +07:00
PalmDevs
fc679a4d15
fix(lib/plugins): do not incorrectly mark plugin status + do not race on rejected promises, if errored
2025-10-14 00:35:45 +07:00
PalmDevs
4f612edda4
fix(lib/plugins): do not emit flagUpdate if new flag is same
2025-09-17 17:14:21 +07:00
PalmDevs
e4cb41fa2b
feat(lib/plugins): save plugin states
2025-09-16 01:02:29 +07:00
PalmDevs
97534c9d04
feat(lib/modules/native): add fs
2025-09-16 01:02:18 +07:00
PalmDevs
c2d12321f6
chore(lib/modules): simplify imports
2025-08-13 01:27:49 +07:00
PalmDevs
3563daed39
fix(lib/plugins): only run dependencies that aren't already running
2025-08-13 00:56:23 +07:00
PalmDevs
2b69e17d68
feat(plugins/settings): show Reload required dialog immediately after flag update
2025-08-13 00:54:14 +07:00
PalmDevs
fca5dd1559
chore(lib/plugins): set arrays lengths to zero to reset states
2025-08-11 16:48:33 +07:00
PalmDevs
e7b4413675
chore: format
2025-08-05 20:39:09 +07:00
PalmDevs
b40e2f51ab
fix(lib/plugins): only run dependencies in runPluginLate
2025-07-26 01:58:17 +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
5d7ac417ba
fix(lib/plugins): some plugins with dependents being duplicated in ordered plugin list
2025-07-25 20:10:33 +07:00
PalmDevs
6852c816d0
chore(lib/plugins): add plugin start order log
2025-07-21 22:04:51 +07:00
PalmDevs
51125ef39f
feat(lib/plugins): return PluginDependency in registerPlugin
2025-07-21 22:04:06 +07:00
PalmDevs
831636f14c
fix(lib/plugins): fix depedency graphing logic
2025-07-21 21:27:17 +07:00
PalmDevs
5bde44a14c
fix(lib/plugins): compile error because arrow async function
2025-07-21 15:35:06 +07:00
PalmDevs
825f29ce52
chore(lib/plugins): cleanup
2025-07-21 15:33:00 +07:00
PalmDevs
a3ebccf1d6
fix(lib/plugins): resolve dependency graph before pushing nodes to ordered list
2025-07-21 15:32:38 +07:00
PalmDevs
601d5a28f5
feat(lib/plugins): improve types and documentation
2025-07-21 14:45:03 +07:00
PalmDevs
f5ed49d4e2
fix: declare unscoped storage API using decorators instead
2025-07-21 14:06:51 +07:00
PalmDevs
7a365f93c7
fix(lib/plugins/apis): spread descriptors instead of values
2025-07-21 14:05:37 +07:00
PalmDevs
84bb9992f5
feat(lib/plugins): do API decorator filtering
2025-07-21 14:02:00 +07:00
PalmDevs
72035286a9
feat(lib/plugins): cache resolved dependencies
2025-07-21 14:01:21 +07:00
PalmDevs
a1316e720e
fix(lib/plugins): error during preinit stage not being logged
2025-07-20 23:34:52 +07:00
PalmDevs
2bb51b7782
fix(lib/plugins): internal plugins marked ImplicitDependency not being added to head of list
2025-07-20 23:34:31 +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
d3b754d2cc
feat(lib/plugins): switch to objects for storage
2025-07-18 23:44:08 +07:00
PalmDevs
0095a3e153
feat(lib/plugins): allow accessing react API in preInit
2025-07-16 20:02:18 +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
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
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
83a3eb53fb
feat(lib/plugins): expose storage lib to unscoped API
2025-07-11 17:02:22 +07:00
PalmDevs
8babd1837a
feat(lib/plugins): log plugin errors in native as well
2025-07-11 15:19:27 +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
075f33f6c6
chore: cleanup
2025-07-05 13:56:52 +07:00
PalmDevs
77f8d62720
fix: improve perf by not returning implicitly
2025-06-17 19:53:58 +07:00