Commit graph

419 commits

Author SHA1 Message Date
Hongtao Zhang
793b432d61
Use Length instead of Position to keep thing clear 2022-08-21 22:02:46 -04:00
Hongtao Zhang
74d9290944
Redesign exception stream handling and dispose stream to recycle 2022-08-21 22:00:42 -04:00
Hongtao Zhang
2b60422a6c
Cleanup Using 2022-08-21 20:59:31 -04:00
Hongtao Zhang
ddb25a253a
Unregister Cancellation Event by disposing the delegate 2022-08-21 20:58:17 -04:00
Hongtao Zhang
c3dd3b1851
Suppress JsonRPC Empty Response Exception and refactor code 2022-08-18 09:37:41 -04:00
Hongtao Zhang
76d23aba9b
Suppress JsonRPC Empty Response Exception and refactor code 2022-08-18 09:34:53 -04:00
Kevin Zhang
fa7057ae8f
Plugin Exception Draft (#1147) 2022-08-12 23:12:38 +10:00
Oren Nachman
30669e8c25 Further cleanups 2022-08-09 20:18:37 -07:00
Oren Nachman
13c70a9bb7 Remove unused code 2022-08-09 17:41:02 -07:00
Oren Nachman
dbe2151810 Clean up exception throwing code for plugin loading 2022-08-09 16:31:29 -07:00
Oren Nachman
3648126854 Revert JSON Null change + fix more warnings
See comment inline re:JSON null
2022-08-08 17:35:38 -07:00
Oren Nachman
b85399137e Addressing more warnings 2022-08-08 14:55:04 -07:00
Oren Nachman
ffd877290d Addressing initial feedback 2022-08-08 11:27:11 -07:00
Oren Nachman
eb26070b8e Merge branch 'warnings' of https://github.com/nachmore/Flow.Launcher into warnings 2022-08-07 21:41:05 -07:00
Oren Nachman
a3197f8ee1 Fix (some) build warnings
CS1572
CS1573
CS0168
CS8073
CA2200
VSTHRD110
VSTHRD200
VSTHRD105
SYSLIB0013
CS8524
2022-08-07 21:31:38 -07:00
Jeremy Wu
96d9309f4e
add sponsor (#1306) 2022-08-07 19:50:52 -05:00
Jeremy Wu
dae0a5a812
Merge pull request #1121 from Garulf/Remove-trim-from-query
Pass query without trimming whitespace
2022-07-21 20:41:15 +10:00
Jeremy Wu
9bd9b94264
Merge pull request #1123 from Flow-Launcher/AsyncResultCallback
Implement Async Result Execution
2022-07-21 20:34:56 +10:00
Jeremy Wu
4c4ba92b22
Merge pull request #1005 from Flow-Launcher/KillProcess
Use Cancellation Token to avoid potential race tracing issue
2022-07-21 20:25:11 +10:00
Hongtao Zhang
de1b0a23c6 Rename from ActionAsync to AsyncAction 2022-04-15 18:32:05 -05:00
Hongtao Zhang
4cee1b9740 Implement Async Result Execution to stop JsonRPCPlugin hang Flow when executing results 2022-04-12 04:30:04 -05:00
Garulf
a3630e46e3 Trim leading whitespace 2022-04-10 08:42:54 -04:00
Garulf
84cb555dee Remove formatting 2022-04-10 05:36:46 -04:00
Jeremy
60e671ec5a formatting 2022-03-02 08:14:05 +11:00
Hongtao Zhang
3637961513 Fix Shared Assembly Issue 2022-02-25 14:23:40 -06:00
Hongtao Zhang
0ceefea2dd Use Cancellation Token to avoid potential race tracing issue 2022-02-01 15:32:32 -06:00
Jeremy
bf0e4ba452 fix Executable plugin's JsonRPC request string
This is a fix of Executable plugin's JsonRPC request string for ProcessStartInfo, but tested and should be used specifically for Typescript + JavaScript plugin
2021-12-24 19:07:51 +11:00
Jeremy
a53760b872 formatting 2021-12-22 21:22:21 +11:00
DB p
a05f2bb92b Adjust Control Aligment 2021-12-17 11:25:41 +09:00
DB p
31ce34bac6 Adjust TextBlock Margin 2021-12-17 11:06:31 +09:00
DB p
a8331af8a7 Adjust Vertical Aligment and margins 2021-12-17 04:05:17 +09:00
Hongtao Zhang
238d4df109 Add using for File.OpenRead 2021-12-08 21:17:51 -06:00
Hongtao Zhang
48971d8a2b Merge remote-tracking branch 'upstream/dev' into JsonRPCPluginSettingControl 2021-12-08 21:12:16 -06:00
Kevin Zhang
5ea8675c02
Update Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs
Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com>
2021-12-08 16:20:54 -06:00
Garulf
fffaa898f7
Provide Flow info in ENVs 2021-11-30 03:36:38 -05:00
Jeremy
c7e77e3912 add tests for loading unique metadata method 2021-11-21 16:54:30 +11:00
Jeremy
a796ac4c61 add capability to only load unique plugins with the highest version 2021-11-21 00:06:53 +11:00
Kevin Zhang
0a3b566e56 Implment textBlock and add tooltip 2021-11-15 20:35:05 -06:00
Kevin Zhang
c35ddbc2d9 add ability to add new line in textarea 2021-11-14 21:19:32 -06:00
Kevin Zhang
c677a63679 Manually Implement UI Binding 2021-11-14 11:46:09 -06:00
Kevin Zhang
420d8ea005 fix passwordBox issue 2021-11-14 11:12:47 -06:00
Kevin Zhang
36bb439647 Add passwordBox 2021-11-13 23:59:14 -06:00
Kevin Zhang
ddc6af52ed Allow modifying Setting via result 2021-11-13 23:48:53 -06:00
Kevin Zhang
05104a5ab0 Implement Setting back and forward transfer 2021-11-13 23:11:05 -06:00
Kevin Zhang
9cd3f90ec4 Change some configuration and refactor code 2021-10-30 16:17:33 -05:00
Kevin Zhang
710a1d7fe9 Merge branch 'dev' of github.com:Flow-Launcher/Flow.Launcher into JsonRPCPluginSettingControl 2021-10-30 13:47:16 -05:00
Kevin Zhang
054d1650e6 Use Yaml as configuration file 2021-10-30 13:46:57 -05:00
Jeremy Wu
2a68a41ef0
Merge pull request #681 from Flow-Launcher/QueryTermsRefactor
Fixes Typo TermSeparator & remove the actionkeyword in Terms
2021-10-18 08:10:03 +11:00
Jeremy Wu
10997095dd
Merge pull request #653 from Flow-Launcher/JsonRPCRefactor
Refactor JsonRPC structure
2021-09-23 12:23:03 +10:00
Kevin Zhang
812703766a Mark previous api as obsolete to preserve backward compatibility. 2021-09-07 17:07:21 -05:00
Kevin Zhang
9c13416231 Fixes Typo TermSeparator & remove the actionkeyword in Terms 2021-09-06 12:31:07 -05:00
Kevin Zhang
67027eb74b Allow JsonRPCPlugin.cs to have setting control 2021-08-17 00:50:36 +08:00
Kevin Zhang
8ae13a5473 Move working directary setting to init 2021-08-14 06:51:11 +08:00
Kevin Zhang
991b89ff44 Remove Legacy debug in sync request 2021-08-13 15:56:58 +08:00
Kevin Zhang
7ab86ca1f2 Refactor JsonRPC structure 2021-08-13 13:55:07 +08:00
Jeremy Wu
fe45e3bdd2
update python message from install to download 2021-08-12 09:12:38 +10:00
Jeremy Wu
7778449239
remove extra comments 2021-08-07 13:26:38 +10:00
Jeremy Wu
235fe4aacb
remove extra comments 2021-08-07 13:26:11 +10:00
Kevin Zhang
760333520c Adjust JsonRPCPlugin.cs Exception Handling 2021-08-06 14:35:14 +08:00
Jeremy
466b825611 fix comment formatting 2021-07-27 19:01:27 +10:00
张弘韬
d7c037d156 fix dispose issue by manually dispose 2021-07-27 14:11:48 +08:00
张弘韬
220db44a6c Manually kill process when token is canceled 2021-07-27 13:54:13 +08:00
张弘韬
4e3746f77d Don't rethrow OperationCanceledException 2021-07-27 11:15:27 +08:00
张弘韬
8330dd356f Add a MemoryStream buffer to ReadStream first 2021-07-26 12:18:49 +08:00
Jeremy Wu
55e985faae
Merge pull request #561 from taooceros/CloseWithDispose
Dispose Disposable or AsyncDisposable plugin on mainwindow close
2021-07-05 19:19:15 +10:00
Kevin Zhang
e2811ce747 dispose PluginPair.Plugin instead of PluginPair 2021-07-05 16:54:19 +08:00
Kevin Zhang
a18a777e75 Dispose Disposable or AsyncDisposable plugin on mainwindow close 2021-07-05 16:50:50 +08:00
Kevin Zhang
c7cfd25817 Ignore null value in deserialization to avoid unexpected nullreference issue 2021-07-05 11:47:56 +08:00
Kevin Zhang
908d1c4124 JsonRPC camelCase and Case Insensitive 2021-07-05 11:03:07 +08:00
Kevin Zhang
cc743c1efc fix unintended use of direct startInfo.Arguments in context menu 2021-07-01 16:27:41 +08:00
Kevin Zhang
3bdc82a47f fix an error 2021-07-01 16:03:03 +08:00
Kevin Zhang
10f3bcb209 Check null for ContextMenu 2021-07-01 15:58:50 +08:00
Kevin Zhang
4f13433913 CherryPick Layout change and ProgramLogger.cs Fix 2021-06-29 19:06:17 +08:00
Kevin Zhang
b955fde6e5 Use NLog Exception Handler, and , NLog Debug Message Printer, and change layout 2021-06-29 19:03:06 +08:00
Kevin Zhang
f80ae3092e CherryPick Exception Optimize 2021-06-29 19:02:27 +08:00
Jeremy Wu
b31fddd449
Merge pull request #481 from Flow-Launcher/everythingplugin_backwards_compatibility
Add backwards compatibility for Everything plugin v1.4.9
2021-06-21 23:10:19 +10:00
Jeremy Wu
644be7977c use ISavable and add obsolete message 2021-06-21 21:56:20 +10:00
Jeremy Wu
6ec151a8ab use inheritance for ISavable and JsonStrorage 2021-06-21 21:04:19 +10:00
pc223
e74d7ce102 Fix AmbiguousMatchException when plugins call Flow API (JsonRPC)
Why: `GetMethod(String)` raise AmbiguousMatchException when method have overloads (e.g. `ShowMsg`)

Solution: `Use GetMethod(String, Type[])`

https://stackoverflow.com/questions/1969411/avoiding-an-ambiguous-match-exception
2021-06-21 15:26:06 +07:00
Jeremy Wu
7319133ae8 add backwards compatibility with Everything plugin 2021-06-21 12:34:07 +10:00
Jeremy Wu
e6db8b85e8
remove spaces in Python Embeddable folder name 2021-06-19 19:09:09 +10:00
Jeremy Wu
5fbde3779d check location exists if python path is already set 2021-06-19 11:17:00 +10:00
Jeremy Wu
e125d59c6e reorder logic for setting python path 2021-06-19 00:54:04 +10:00
Jeremy Wu
c9b232aa26 remove automatic retrieval py path from PATH or via where.exe 2021-06-18 22:58:14 +10:00
Jeremy
4909f58225 switch to embedded path 2021-06-18 08:27:23 +10:00
Jeremy
cc2b9dc81d use python 3.8.9 embeddable 2021-06-17 22:20:32 +10:00
Jeremy Wu
ad36f89345
Merge pull request #449 from Flow-Launcher/ExplorerPathActionkeyword
Add specific keyword for path explore in explorer plugin
2021-06-13 18:16:53 +10:00
Kevin Zhang
5cedf7084c Remove Unused Code 2021-06-10 15:08:10 +08:00
Kevin Zhang
be8abafdda fix another hardcode issue, and the JsonSerialization problem 2021-06-10 13:06:35 +08:00
Kevin Zhang
aa3e7decd8 Fix Don'tHideAfterAction logic for JsonRPCPlugin.cs 2021-06-10 11:28:45 +08:00
Kevin Zhang
c399a87279 Add Customized Object Converter, fix Length issue 2021-06-08 08:04:04 +08:00
Kevin Zhang
456016cdd8 Use where.exe to detect pythonPath easily 2021-06-07 19:17:46 +08:00
Kevin Zhang
18e21a8b19 Don't thown error when JsonRPCPlugin.cs don't return a JsonFeedBack when calling callback 2021-06-07 13:08:18 +08:00
Kevin Zhang
ffcaa02e31 Use JsonLibrary to Parse object, and replace direct argument with the new api to allow auto escape 2021-06-07 13:03:59 +08:00
Jeremy
ff404c5c5b update ActionKeywordSetting view logic 2021-06-05 18:44:16 +10:00
Jeremy
002c27fc12 Merge remote-tracking branch 'origin/dev' into ExplorerPathActionkeyword 2021-06-05 13:08:50 +10:00
Kevin Zhang
d3e704cc86 Fix unparsed property 2021-06-04 11:08:40 +08:00
Jeremy
e5fbfa24b4 replace action keyword when updating 2021-05-29 22:00:10 +10:00
弘韬 张
efc45c76ac Use HashSet storing GlobalPlugins
Use HashSet instead of List to avoid duplicate global plugin
2021-05-28 17:06:58 +08:00
Jeremy
c5167cb5e5 fix duplicate query searches from same global action keywords 2021-05-28 08:44:06 +10:00
张弘韬
20ba2b2d23 Add SavePluginSettings API, and call that api in PluginManager.Save(); 2021-05-13 20:49:41 +08:00
弘韬 张
bad5504de4 Change object to byte to reduce overhead 2021-04-12 19:34:58 +08:00
弘韬 张
78d8dbbc14 Use ConcurrentDictionary instead of List 2021-04-12 18:44:08 +08:00
Jeremy Wu
9d4af83fef
Merge pull request #390 from Flow-Launcher/PluginAncestor
Make IPlugin inherit from IAsyncPlugin
2021-04-01 07:23:28 +11:00
弘韬 张
ab7d00eacc Make IPlugin inherit from IAsyncPlugin 2021-03-23 17:40:27 +08:00
弘韬 张
6430e2562d Use EnumerateDirectories instead of GetDirectories 2021-03-18 11:43:41 +08:00
弘韬 张
36678059a0 Merge branch 'AvoidDuplicateAssemblyLoad' of github.com:taooceros/Flow.Launcher into AvoidDuplicateAssemblyLoad 2021-02-24 20:38:59 +08:00
弘韬 张
a4b7bc5221 Use AppDomain to retrive the assembly that has been loaded, which contains the version 2021-02-24 20:37:43 +08:00
Jeremy Wu
81926c04cd remove extra space 2021-02-24 22:01:11 +11:00
Jeremy Wu
84257aa5d9 update PluginAssemblyLoader comment 2021-02-24 21:57:18 +11:00
弘韬 张
9e343ebff4 remove extra line 2021-02-24 18:52:10 +08:00
弘韬 张
03df6e4585 add comment back and remove extra empty line 2021-02-24 18:49:01 +08:00
弘韬 张
0b51a8c467 rename method 2021-02-24 12:46:51 +08:00
弘韬 张
d161faebbb make referencedPluginPackageDependencyResolver static 2021-02-24 12:44:42 +08:00
弘韬 张
6804b93a8d remove comment regarding newtonsoft.json 2021-02-24 12:42:13 +08:00
弘韬 张
d81a4a7fa3 avoid dupplicate assembly load 2021-02-24 12:37:57 +08:00
Jeremy Wu
dec9941cce
Merge pull request #346 from taooceros/fixSuggestSource
Remove unused check for Stream length
2021-02-16 19:10:37 +11:00
弘韬 张
307cb305f0 Remove unused check for Stream length 2021-02-16 10:50:48 +08:00
Jeremy Wu
6c42458ef1
Merge pull request #331 from taooceros/JSONRPCModelOpt
JSONRPC Async Model
2021-02-16 13:47:30 +11:00
Jeremy Wu
abd721a06c fix formatting 2021-02-16 06:14:13 +11:00
弘韬 张
9ebebfd0ef No need to cancel error reporting 2021-02-15 18:27:02 +08:00
弘韬 张
824ea07ab2 add Debug message field for debugging 2021-02-14 13:59:59 +08:00
弘韬 张
34a7a15226 Use Stream model 2021-02-14 13:56:27 +08:00
弘韬 张
aabb820f6f Optimize ToString() method override 2021-02-14 12:03:49 +08:00
弘韬 张
f93dcaef73 use throw instead of return empty string 2021-02-09 14:03:22 +08:00
张弘韬
b15319ea4d Keep the Sync version for ContextMenu and Callback 2021-02-08 14:43:17 +08:00
张弘韬
0da21b1ed7 JSONRPC Async Model 2021-02-08 14:37:37 +08:00
Jeremy Wu
f3d0b88616 remove task 2021-02-05 08:08:33 +11:00
Jeremy Wu
385fabe81b Merge branch 'dev' into add_python_installation 2021-02-04 21:18:57 +11:00
弘韬 张
d0b94c5b81 specify name for property to avoid property collision 2021-02-03 17:50:36 +08:00
弘韬 张
eeaa6f920d add null check before updateresultmanifest 2021-02-03 17:50:21 +08:00
Jeremy Wu
4933a2e28c add python installation 2021-01-31 17:49:08 +11:00
Jeremy Wu
539f4bf4c4 add eol 2021-01-17 19:10:26 +11:00
Jeremy Wu
114c12bdaf formatting and description 2021-01-17 18:47:19 +11:00
弘韬 张
971d374582 Merge Dev 2021-01-07 21:43:32 +08:00
弘韬 张
63a9e03d89 format QueryForPlugin code 2021-01-06 19:33:55 +08:00
弘韬 张
29ab9db7ce fix reloaddata not working and refactor Init code 2021-01-06 19:11:58 +08:00
弘韬 张
ecf2a7a1f7 change plugin type in pluginLoader for Release 2021-01-03 10:43:05 +08:00
弘韬 张
731c3cdcbc Use OperationCancelledException instead of catch Exception and check 2021-01-03 10:37:36 +08:00
弘韬 张
1c20069598 Rebase to Dev 2021-01-03 10:35:18 +08:00
弘韬 张
69cb8e6147 Reload IAsyncReloadable concurrently 2021-01-03 10:33:59 +08:00
张弘韬
b8f7d89970 Allows Loading both IPlugin and IAsyncPlugin 2021-01-03 10:33:58 +08:00
张弘韬
3cd609377e Plugin Async ModelAdd Full Async model, including AsyncPlugin and AsyncReloadable 2021-01-03 10:33:10 +08:00
弘韬 张
d28b14ff2d Replace All use of Json.Net with System.Text.Json 2020-12-30 13:40:42 +08:00
Jeremy Wu
8c136580e2 remove InstallPlugin method from API
- do not allow InstallPlugin method to be called via API
- move InstallPlugin functionality to PluginsManager for use exclusively
2020-12-08 21:59:45 +11:00
Jeremy Wu
a8eda14260 update dependency resolver to cater for existing dependency in Plugin
if the assembly already referenced in Flow.Launcher.Plugin then ignore it
2020-09-21 15:44:14 +10:00
Jeremy Wu
1e5d7bd928 add class to load assembly and resolve dependencies for each plugin 2020-09-16 21:12:43 +10:00
Jeremy Wu
59a18370ef remove in use obsolete GetAllRemainingParameter and use Search 2020-08-04 20:10:42 +10:00
Ioannis G
4205db293e
refactor Core.Plugin.PluginManager 2020-06-25 03:42:15 +03:00
Ioannis G
0d9cfd65a2
refactor Core.Plugin.PluginsLoader (continued) 2020-06-25 02:59:06 +03:00
Ioannis G
35cf51f82f
refactor Core.Plugin.PluginsLoader 2020-06-25 01:55:20 +03:00
Ioannis G
94a2393221
refactor Core.Plugin.PluginInstaller 2020-06-25 00:47:01 +03:00
Ioannis G
0ddd7f24f4
define plugin metadata file name as constant 2020-06-25 00:46:59 +03:00
Ioannis G
4abc9d8551
refactor Core.Plugin.PluginConfig 2020-06-25 00:46:58 +03:00
Ioannis G
2fd318fcbf
refactor logging in Core.Plugin.PluginInstaller 2020-06-25 00:46:37 +03:00
Jeremy Wu
7f23ac4909 remove unintended space before text 2020-05-26 19:10:40 +10:00
Jeremy Wu
5cf85b46de per comment
Add refer to logs message + warning icon
2020-05-26 14:11:20 +10:00
Jeremy Wu
9058afd1b0 Update error messages 2020-05-22 06:48:03 +10:00
Jeremy Wu
3a472a34e4 update 2020-05-21 09:04:28 +10:00
Jeremy Wu
9bddbe8455 Add references 2020-05-21 09:02:51 +10:00
Jeremy Wu
ecbcc5923f Add error message to inform user of failed plugins 2020-05-21 08:47:09 +10:00
Jeremy Wu
960593eb58 Add handling of reflection type error 2020-05-21 07:48:52 +10:00
Ioannis G
032a203224
add F# as an allowed plugin language
* rename PluginsLoader.CSharpPlugins to the more generic DotNetPlugins
* add AllowedLanguage.IsDotNet which checks for either C# or F#
2020-04-30 11:40:26 +03:00
Ioannis G
9ac9a2f218
fix typo in IPublicAPI
`RestarApp` to `RestartApp`. Mark `RestarApp` as obsolete.
2020-04-30 09:54:13 +03:00
Jeremy Wu
ed99112b62 update 2020-04-23 19:24:13 +10:00
Jeremy Wu
9f1377619d Update description strings 2020-04-22 20:26:09 +10:00
Jeremy Wu
28d67c8c81 Rename further code and text 2020-04-21 22:54:41 +10:00
Jeremy Wu
f5ed0291a0 Fix rename errors 2020-04-21 22:16:10 +10:00
Jeremy Wu
3c7f067770 rename all project file name 2020-04-21 21:27:02 +10:00