Commit graph

4802 commits

Author SHA1 Message Date
goaaats
4a6faed2e2 pi: slightly improve validation messages 2024-03-27 20:58:43 +01:00
goaaats
614ea211a0 pi: add validator for DevPlugins, with basic warnings about callbacks and commands 2024-03-27 19:35:29 +01:00
goat
ba24b574d1
build: 9.1.0.3 2024-03-27 18:09:07 +01:00
srkizer
a53a77541d
Fix ime (#1750) 2024-03-27 18:08:34 +01:00
bleatbot
b9ae368401
Update ClientStructs (#1705)
Co-authored-by: github-actions[bot] <noreply@github.com>
2024-03-26 00:38:07 +00:00
goat
93c4c607b8
build: 9.1.0.2 2024-03-25 16:36:34 +01:00
KazWolfe
d36106fa30
feat: Add HelpMarker with custom icon (#1588) 2024-03-25 12:22:44 +01:00
srkizer
eb5fa24101
Use CultureInfo.GetCultureInfo for DateTimeSpanExtensions.LocAbsolute instead (#1742)
* MMmm

* Use regional culture infos instead
2024-03-25 12:07:41 +01:00
Asriel Camora
6027aaab77
Add ImPlot to ImRaii (#1741) 2024-03-25 12:07:09 +01:00
KazWolfe
9bd80ee39f
Change Chinese Language Localization Names (#1749)
* locale name standardize

* change ko back to English

* cn -> zh

* Change Chinese localization mapping

- Maps tw to zh-hant, and zh to zh-hans
- Removes explicit override for tw langcode in UI
- Makes all languages use Windows-provided name and capitalization
- Add note to ko to prevent accidental helpful PRs

---------

Co-authored-by: wozaiha <wozaiha@gmail.com>
2024-03-25 12:04:49 +01:00
nebel
3c471575af
Clear context menu callbacks when opening AddonContextMenuTitle (#1743) 2024-03-23 17:47:32 +01:00
goaaats
b3db0e78b3 pm: reign in overeager profile cleanup on install
...and remove Profile::RemoveByInternalNameAsync() because it's a footgun
2024-03-23 15:48:54 +01:00
goaaats
ba1c8cba45 console: fatal => red 2024-03-23 15:14:46 +01:00
goaaats
f1920005e5 change docs link in readme 2024-03-22 21:42:27 +01:00
goaaats
35c67650f0 remove api docs primer; now on dalamud.dev 2024-03-22 21:40:38 +01:00
goaaats
bd85a7f014 docs: remove from this repo, add redirect 2024-03-22 21:35:37 +01:00
srkizer
55bd845a63
Add IconTexture/Wrap to INotification (#1738) (#1739)
* Add IconTexture/Wrap to INotification (#1738)

Notification record and IActiveNotification interface now supports
setting or updating the texture wraps being used, and SetIconTexture has
gotten more overloads to support leaveOpen mechanism that can commonly
be found with Stream wrappers.

ImGui widget is updated to support testing setting "leaveOpen" and
updating "IconTexture" property via setter, making it possible to check
whether IDTW.Dispose is being called under given conditions.

Some changes to doccomments are made.

* typo
2024-03-22 14:47:50 +01:00
goaaats
12d70f0749 build: 9.1.0.1 2024-03-21 00:19:18 +01:00
goat
5270cddf6d
Merge pull request #1736 from Soreepeong/fix/notification-imgui-ini
Prevent notification from being saved into ui.ini
2024-03-21 00:19:04 +01:00
goaaats
3b0d4a6068 remove lazy debug msgbox 2024-03-21 00:14:22 +01:00
goaaats
0bfb1d5b50 datamanager: don't assume bad integrity status if there isn't one 2024-03-21 00:12:16 +01:00
Soreepeong
ff7dd2d0c3 Prevent notification from being saved into ui.ini 2024-03-21 07:41:25 +09:00
goaaats
714e9e0319 pm: don't throw if there are no valid versions for a plugin 2024-03-20 23:33:35 +01:00
goat
0382b927ea
ci: re-enable rollup for new_im_hooks 2024-03-20 23:05:27 +01:00
goaaats
f9847398d2 settings: get "reduced motion" setting from WinApi 2024-03-20 22:14:24 +01:00
srkizer
95defa200f
Add Reduced Motion for Notifications (#1732)
When Reduced Motion configuration is on, the expiry progressbar is
removed, and instead a pie on top right is shown, and relative time
update interval increases to 15 seconds. Progress wave animation also is
suppressed.
2024-03-20 21:53:20 +01:00
goaaats
fb60ac5b4b style editor: don't allow rename/delete of Dalamud Classic 2024-03-20 21:34:10 +01:00
goat
d1d72f2aef
build: 9.1.0.0 2024-03-20 15:57:36 +01:00
goaaats
fa111c3a70 installer: also fade overlay 2024-03-19 23:28:02 +01:00
goaaats
ec122c85d5 fix warnings 2024-03-19 23:24:23 +01:00
goaaats
148de97331 installer: fade icons when loading 2024-03-19 23:17:15 +01:00
goaaats
4e7531f703 installer: always pick dev plugin first when collecting local plugins for available manifests
fixes a bug where the available and the installed plugin showed separately in the plugin list if the LocalDevPlugin of the same internalname was in it before the LocalPlugin
2024-03-19 22:43:48 +01:00
goat
639cb1ac33
Merge pull request #1731 from goatcorp/net8
.NET 8
2024-03-19 22:15:35 +01:00
Kaz Wolfe
a372476340
chore: bump clientstructs 2024-03-19 08:20:40 -07:00
KazWolfe
9c771f4446
Merge pull request #1730 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-19 08:17:02 -07:00
github-actions[bot]
fe80490d5e Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-19 15:04:46 +00:00
srkizer
be63276a85
Rename to Framework.Run (#1728) 2024-03-19 08:04:21 -07:00
Kara
d393fa64b6
Add tests for GameVersionConverter and fix edge case (#1726)
- Adds tests for GameVersionConverter
- Refactors GameVersionConverter to reduce nesting
- Fixes an edge case in GameVersion deserialization in which the JsonConstructor will be invoked even if no properties match
- Adds a test for the GameVersion deserialization edge case
2024-03-18 20:12:34 -07:00
KazWolfe
7fcd10ecd8
Merge pull request #1724 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-18 20:11:31 -07:00
github-actions[bot]
990f04715f Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-19 03:11:08 +00:00
srkizer
5d473919a1
Hide scheduler from RunOnFrameworkThread (#1725)
* Hide scheduler from RunOnFrameworkThread

Creating new tasks via Task.Run and alike would fetch the current
scheduler, which we do not want in case of running stuff from the
framework thread. Change is to prevent the standard library from seeing
the "current scheduler". If one wants to use `await` with an async
function to be run in the framework thread, one can use
`RunOnFrameworkThreadAwaitable` instead now.

* TaskSchedulerWidget: test better stuff

* TaskSchedulerWidget: add freeze tests

* More comments

* Make TaskFactory a getter method instead of property to avoid bad suggestions

* Why are there stuff still not pushed
2024-03-18 20:10:47 -07:00
srkizer
c709ad1811
Make NotificationManager IInternalDisposableService (#1723)
Pull request merge order shenanigans.
2024-03-16 19:44:10 +00:00
goat
772117ef24
Merge pull request #1721 from goatcorp/net8-rollup
[net8] Rollup changes from master
2024-03-16 17:14:48 +01:00
github-actions[bot]
4abb3535fa Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-16 16:02:57 +00:00
srkizer
e52c2755cb
Fix CreateImGuiRangesFrom to omit null char (#1709)
* Fix CreateImGuiRangesFrom to omit null char

UnicodeRanges.BasicLatin is [0, 127], but ImGui stops reading the glyph
range list on encountering a zero. Fixed that by ensuring that 0 never
appears in the glyph range list.

* Make problems explicit

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-03-16 16:02:36 +00:00
srkizer
87b9edb448
Add IInternal/PublicDisposableService (#1696)
* Add IInternal/PublicDisposableService

Plugins are exposed interfaces that are not inherited from
`IDisposable`, but services implementing plugin interfaces often
implement `IDisposable`. Some plugins may try to call
`IDisposable.Dispose` on everything provided, and it also is possible to
use `using` clause too eagerly while working on Dalamud itself, such as
writing `using var smth = await Service<SomeService>.GetAsync();`. Such
behaviors often lead to a difficult-to-debug errors, and making those
services either not an `IDisposable` or making `IDisposable.Dispose` do
nothing if the object has been loaded would prevent such errors. As
`ServiceManager` must be the only class dealing with construction and
disposal of services, `IInternalDisposableService` has been added to
limit who can dispose the object. `IPublicDisposableService` also has
been added to classes that can be constructed and accessed directly by
plugins; for those, `Dispose` will be ignored if the instance is a
service instance, and only `DisposeService` will respond.

In addition, `DalamudPluginInterface` and `UiBuilder` also have been
changed so that their `IDisposable.Dispose` no longer respond, and
instead, internal functions have been added to only allow disposal from
Dalamud.

* Cleanup

* Postmerge fixes

* More explanation on RunOnFrameworkThread(ClearHooks)

* Mark ReliableFileStorage public ctor obsolete

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-03-16 15:58:05 +00:00
goat
dcec076ca7
Merge pull request #1681 from Soreepeong/feature/inotificationmanager
Implement INotificationManager
2024-03-16 16:46:12 +01:00
Ridan Vandenbergh
0656a524b1
Add missing space in cross-world PF links (#1717) 2024-03-16 16:45:19 +01:00
Kara
1e8fb2e363
Add tests for ReliableFileStorage (#1718) 2024-03-16 16:43:01 +01:00
wolfcomp
3f4a91b726
Handle static declares in AddonLifecycleWidget (#1720)
* Handle static declares

old way: <https://learn.microsoft.com/en-us/dotnet/api/system.delegate.target?view=net-8.0#property-value>

new way: <https://learn.microsoft.com/en-us/dotnet/api/system.reflection.memberinfo.declaringtype?view=net-8.0#property-value>

* get full name instead of class name
2024-03-16 16:42:24 +01:00