Commit graph

820 commits

Author SHA1 Message Date
goat
baa875f516 autoupdate: add missing space after comma 2024-07-08 20:50:00 +02:00
goat
77abd0455d autoupdate: print updated plugins in chat 2024-07-08 19:35:45 +02:00
goat
34a51d0119 pm: make sure that we don't stay on framework thread when loading and unloading
Without ConfigureAwait(false), all of the continuations below the await will be blocking the main thread
2024-07-08 19:21:44 +02:00
KazWolfe
82e6476ab6
fix: Fix auto-updates every 30 seconds (#1899)
- If no updates are found, properly defer.
2024-07-07 20:39:10 +02:00
goat
df51fc17e6 pm: don't install updates twice, don't globally lock the plugin list while updates are installing 2024-07-07 12:22:04 +02:00
KazWolfe
c5e90e4df2
fix: Make autoupdates work again (#1895)
* fix: Make autoupdates work again

- Always opportunistically schedule a future (fast) auto-update after a check/attempt has been made.
- Track the update notification dismiss to extend this time out.

This change relies on the fact that a second auto-update won't run so long as a notification is open.

* fix: Start update check time from notification dismiss
2024-07-05 10:29:08 +02:00
goat
8d08f46fd7 check for testing api level in HasTestingVersion() instead 2024-07-03 12:22:06 +02:00
goat
0f5cf33fdd Merge branch 'apiX' of github.com:goatcorp/Dalamud into apiX 2024-07-01 20:15:07 +02:00
Kaz Wolfe
d48d42d307
Change log level for manifest issues 2024-07-01 09:19:32 -07:00
goat
f574f797a1 add ITextureProvider.TryGetFromGameIcon() 2024-07-01 14:36:51 +02:00
goat
b425bb3e49 fix a million warnings 2024-06-30 00:58:04 +02:00
Kaz Wolfe
ed48b5e04c
comments for lumina pinning 2024-06-29 13:40:29 -07:00
Kaz Wolfe
6568c68e06
Re-add Lumina pinning
See #1598 for requirements to do this.
2024-06-29 13:38:28 -07:00
goat
085d76afda make DalamudPluginInterface internal 2024-06-29 18:22:45 +02:00
goat
d083d8db8b obsolete DalamudPluginInterface 2024-06-29 18:11:20 +02:00
goat
a3a7acc45e add ITextureProvider.GetFromFile(FileInfo) 2024-06-29 18:02:11 +02:00
goat
7e397bef17 actually just move the language types, don't use the one from the common assembly 2024-06-29 01:26:29 +02:00
goat
b212b4e00a Revert "api10 todo: only use ClientLanguage from Dalamud.Common, move ToLumina() extension into Dalamud.Util"
This reverts commit 2e731b1eab.
2024-06-29 01:23:29 +02:00
Kaz Wolfe
af2ec9029b
fix import issues 2024-06-28 15:52:35 -07:00
goat
1d1b60b011 api10 todo: move IDalamudTextureWrap to Dalamud.Interface.Textures.TextureWraps 2024-06-29 00:45:16 +02:00
goat
39a1d54011 api10 todo: remove IDalamudPluginInterface::OpenPluginInstaller(), make search text nullable 2024-06-29 00:41:07 +02:00
goat
2e731b1eab api10 todo: only use ClientLanguage from Dalamud.Common, move ToLumina() extension into Dalamud.Util 2024-06-29 00:29:51 +02:00
goat
2565f2c3c6 api10 todo: refactor InstalledPluginState into an interface, add functions to open UI 2024-06-29 00:18:33 +02:00
Blair
2e3153c502
Make DalamudPluginInterface into IDalamudPluginInterface (#1807)
* Make DalamudPluginInterface into IDalamudPluginInterface

* Interface UiBuilder
2024-06-29 00:00:57 +02:00
goat
7283e634e9 allow loading dev plugins with the wrong API level, but add a validation error 2024-06-28 23:45:12 +02:00
goat
d628be9536 explicitly make ICommandInfo => IReadOnlyCommandInfo 2024-06-28 23:26:15 +02:00
goat
29f951c309 CommandInfo must be public to allow registering commands 2024-06-28 23:21:14 +02:00
Blair
7947b896ea
Add interfaces to non public/sealed classes referenced in public interfaces (#1808)
* Add interfaces to non public/sealed classes referenced in public interfaces

* Fixed inheritdocs + made most classes internal

* Add missing properties to IFate and Fate, fix documentation

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-06-28 23:05:34 +02:00
Kaz Wolfe
d95befe96e
use CS TargetSystem for TargetManager service
- Remove address from service, as it's no longer necessary
2024-06-28 10:09:24 -07:00
Kaz Wolfe
fb4d9c5ac7
Merge branch 'refs/heads/master' into apiX 2024-06-27 16:22:54 -07:00
goat
c698ec9315 autoupdate: list which plugins are updateable in the notification 2024-06-25 23:58:19 +02:00
Kaz Wolfe
cce11a82be
Merge branch 'refs/heads/master' into apiX 2024-06-21 16:04:39 -07:00
goat
d244f7e09e autoupdate: wait longer for periodic check if user dismissed updates 2024-06-20 01:14:40 +02:00
goat
3509a0bdca pi: add "updateable plugins" page, open kind, make auto-updates go there by default 2024-06-18 23:04:04 +02:00
goat
c155be7db6 autoupdate: handle singular/plural in notification loc 2024-06-18 22:27:36 +02:00
goat
8553ef5412 pm: make sure to always destroy scope and interface when unloading a plugin 2024-06-18 21:37:30 +02:00
goat
5f51ca22e0 autoupdate: consider notification dismissal time as last check time 2024-06-17 19:23:55 +02:00
Kaz Wolfe
28ff62e488
fix errors/warnings 2024-06-16 16:45:18 -07:00
Blair
e160746d42
Add MarketBoard service and associated interfaces, test and data widget (#1822)
* Add MarketBoard service and associated interfaces, test and data widget
* Dispose of events properly
* Make listings readonly lists + provide internal list for internal use
* Rename CatalogId to ItemId on interfaces, have kept CatalogId internally as it's technically correct
* Removed RetainerOwnerId from the public interface
* Removed NextCatalogId from the public interface
* Updated test text
* Null events in scoped service disposal
2024-06-16 10:40:48 -07:00
goat
c91e24cb58 pi: "update all plugins" button must update banned plugins 2024-06-16 18:21:52 +02:00
github-actions[bot]
263610c9e7 Merge remote-tracking branch 'origin/master' into apiX-rollup 2024-06-15 22:45:08 +00:00
KazWolfe
1c03242aa9
feat: New Condition APIs (#1842)
* feat: New Condition APIs

- New methods for `ICondition`:
  - `AnyExcept` ensures the listed conditions are *not* present.
  - `OnlyAny` ensures that *only* the listed conditions are met.
  - `EqualTo` ensures that the condition state matches the listed set.
- New `IsGameIdle` method in `IClientState` can be used to check if the player is not in any "active" game state.
2024-06-15 15:44:47 -07:00
goat
13fc380dd5 disable autoupdate dry run by default 2024-06-15 23:09:08 +02:00
goat
c4e31bc5f1 use kaz's api for conditions instead 2024-06-15 19:29:23 +02:00
goat
3b4178082a localize all new auto-update strings 2024-06-15 18:54:01 +02:00
goat
bc2edf765f refactor UpdatePluginsAsync() to take a list of plugins to update instead 2024-06-15 18:36:49 +02:00
goat
8d18940108 initial implementation of new auto-update UX 2024-06-15 01:00:50 +02:00
goat
bc0bea03e0 add ICondition.Only() to check for a set of flags 2024-06-12 00:01:55 +02:00
github-actions[bot]
4e331b1d85 Merge remote-tracking branch 'origin/master' into apiX-rollup 2024-06-08 23:34:08 +00:00
goat
cf4ecacf85 pm: make sure that interface and scope are always disposed if ctor throws
This fixes an issue wherein dev plugins could end up in a half-disposed state if the ctor were to throw an exception
2024-06-08 21:44:25 +02:00