SuperMemoAssistant.Interop
2.1.0-beta.18
See the version list below for details.
dotnet add package SuperMemoAssistant.Interop --version 2.1.0-beta.18
NuGet\Install-Package SuperMemoAssistant.Interop -Version 2.1.0-beta.18
<PackageReference Include="SuperMemoAssistant.Interop" Version="2.1.0-beta.18" />
paket add SuperMemoAssistant.Interop --version 2.1.0-beta.18
#r "nuget: SuperMemoAssistant.Interop, 2.1.0-beta.18"
// Install SuperMemoAssistant.Interop as a Cake Addin #addin nuget:?package=SuperMemoAssistant.Interop&version=2.1.0-beta.18&prerelease // Install SuperMemoAssistant.Interop as a Cake Tool #tool nuget:?package=SuperMemoAssistant.Interop&version=2.1.0-beta.18&prerelease
Enables interactions between SuperMemo Assistant and Plugins.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Extensions.System.IO (>= 0.1.0.3)
- Newtonsoft.Json (>= 13.0.1)
- Nito.AsyncEx.Coordination (>= 5.1.0)
- PluginManager.Interop (>= 0.2.1.51)
- Serilog (>= 2.10.0)
- Serilog.Exceptions (>= 6.1.0)
- Serilog.Sinks.Async (>= 1.4.0)
- Serilog.Sinks.Debug (>= 2.0.0)
- Serilog.Sinks.RollingFile (>= 3.3.0)
- SuperMemoAssistant.mshtml (>= 7.0.3300.1)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on SuperMemoAssistant.Interop:
Package | Downloads |
---|---|
SuperMemoAssistant.Services.UI
Facilitate working with graphical user interfaces. |
|
SuperMemoAssistant.Services.Sentry
Facilitate bug reporting with Sentry. |
|
SuperMemoAssistant.Plugins.PDF
Package Description |
|
SuperMemoAssistant.Plugins.Dictionary.Interop
Package Description |
|
SuperMemoAssistant.Services.HTML
Facilitates working with html content. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on SuperMemoAssistant.Interop:
Repository | Stars |
---|---|
supermemo/SuperMemoAssistant
A companion app for SuperMemo 17-18 which extends its functionalities through plugins.
|
Version | Downloads | Last updated | |
---|---|---|---|
2.1.0-beta.26 | 1,039 | 5/7/2022 | |
2.1.0-beta.20 | 2,788 | 4/16/2021 | |
2.1.0-beta.18 | 2,620 | 4/14/2021 | |
2.1.0-beta.17 | 291 | 4/13/2021 | |
2.1.0-beta.12 | 1,581 | 4/11/2021 | |
2.0.4.10 | 652 | 3/23/2020 | |
2.0.3.35 | 498 | 3/17/2020 | |
2.0.3.32 | 1,427 | 3/17/2020 | |
2.0.3.26 | 524 | 3/13/2020 | |
2.0.3.24 | 464 | 3/12/2020 | |
2.0.3.18 | 1,221 | 3/6/2020 | |
2.0.3.17 | 509 | 3/5/2020 | |
2.0.3.16 | 515 | 3/5/2020 | |
2.0.3 | 506 | 2/27/2020 | |
2.0.2.17 | 488 | 2/27/2020 | |
0.1.120-preview | 941 | 6/8/2018 |
- Added: UniqueId placeholder
- Added: ElementBuilder.TemplateApplyMode
- Added: TemplateUseMode
- Added: IElementWdw.AssignTemplate(int templateId)
- Added: Template in ElementBuilder
- Added: IElement.ToJson()
- Added: Registry member JSON converters
- Added: ISuperMemoEx.cs
- Added: Empty slots definitions
- Added: Improved fields & methods in the ElementBuilder
- Added: TypeEx.IsSubclassOfUnboundGeneric
- Added: Windows Toast Notification interface & models (see package SuperMemoAssistant.Services.ToastNotifications)
- Added: Custom SMA Data Dir location
- Added: *UpdateLock methods to IElementWdw
- Added: Documentation to ISuperMemo.cs
- Added: Plugin Lifecycle event system
- Added: Lifecycle events to ISuperMemoAssistant
- Added: non-generic InvokeRemote extension method
- Added: SMCollection extension methods IsLocked and Exists
- Added: Support for prerelease versions in SMAExecutableInfo
- Added: SMAFileSystem.TempErrorLog
- Added: Documentation
- Added: Async version of the exception handler in RunAsync
- Added: Non-Async vesion of the ConfigurationService Load and Save methods
- Added: version.json
- Added: SuperMemoAssistant.Interop.Shared
- Added: Quote file
- Added: Only one instance of SMA can be run #156
- Added: Rescue tool ("SMA Updater") which can install or update to any SMA version #152
- Added: Installer ability to rollback to a previous version #151
- Added: Distribution channels for SMA updates (stable, beta, nightly) #86
- Added: Update settings accessible from Collection Window
- Added: Shortcut for "SMA Updater" on install
- Added: Debug symbols (pdb) to Services nuspec
- Added: SuperMemo 18.04 compatibility #138
- Added: automated ChangeLog and NuPkg Release notes #52
- Added: Splash screen (also overrides SuperMemo's) #100
- Added: Plugin labels (e.g. Official, Verified)
- Added: A ChangeLog Popup after update, and a Change Logs Tab in the Settings #134
- Added: Limited settings window to one instance displayed at a time #113
- Added: Tool tips (hints) to UI icons that do not have a label #130
- Added: During installation, the confirmation popup displays the install folder destination #129
- Added: Import collection from SuperMemo (supermemo.ini) setup step #73
- Added Notifications #53
- Added Notification + Option to restart on plugin crash
- Added plugin labels #133
- Added ToolTips to UI icons #130
- Added install destination folder in confirmation popup message #129 (Squirrel.Windows)
- Added cancel button + reset in Collection Selection #117
- Added a setup step to import collections from supermemo.ini #73
- Added CfgBase with reset on cancel
- Added automatic version configuration
- Added more documentation
- Added SMA Setup screen
- Added Pugin Setup
- Added License agreement
- Added SMA update notifications
- Added the Logger configuration panel to Settings (will be moved under the General tab later)
- Added nuget.config with local Squirrel.Windows repository
- Added Squirrel.Windows submodule
- Added Logger configuration (WIP) Fix #64
- Added Plugin OnMessage (WIP)
- Added PluginMessage.OnLoggerConfigUpdated (WIP)
- Added SM exe setup window
- Added SuperMemoAssistant.Plugins.Import.BrowserPlugin submodule
- Added Browser Import projects to solution
- Added ObjectToStringJsonConverter.cs
- Added mshtml assembly check
- Added debug key logger
- Added plugin Template
- Added Services.HTML
- Added Title bar collapse option
- Added Layout editor interface [WIP]
- Added SoundContent
- Added Options (SM path, hint addresses) in CollectionSelectionWindow
- Added ImageEx, StreamEx extension classes
- Added Array Buffers in IOHooks
- Added SuperMemoAssistant.Core.Remote project
- Added Error catching in Prod
- Added Sentry
- Added Type to IElement
- Added Global Settings
- Added Element Picker
- Added exception messages
- Added dynamic component building
- Added new Keyboard hook method
- Added EasyHook dll
- Added binary registry
- Added GetFirst* methods to ControlGroup and ComponentGroup
- Added ImageWrapper
- Updated: Packages
- Updated: ChangeLogs
- Updated: ElemCreationFlags reflect the new branch destination system
- Updated: ElemCreationResultCodes introduces DestinationBranchNotCreated, and changed value
- Updated: Created a new SuperMemoAssistant.Interop.SMA namespace and moved ISuperMemoAssistant.cs into it
- Updated: Missing csproj 2.1.0 version update
- Updated: Version to 2.1.0-beta
- Updated: OnSMStarted now takes a parameter to indicate whether SM was already running when the Plugin was initialized.
- Updated: Bumped version to 2.0.5
- Updated: Coding style
- Updated: Fixed a few issues in the API (Template now is an ITemplate instead of IElement, etc.)
- Updated: Cleaned up API for the first public SDK release
- Updated: Overall code quality (missing using statements, SetCurrentValue etc.)
- Updated: Moved logger code to Services/IO/Diagnostics/
- Updated: Applied coding style
- Updated: Project (csproj) to the new SDK format
- Updated: Moved projects under the src/ folder
- Updated: Stub executable now selects the version based on the local RELEASES file first #161 #151
- Updated: Improved Installer ability to optimize the download size by choosing delta updates
- Updated: All windows' default size are less or equal to 800x600 #160
- Updated: Tool tips (wip) #166
- Updated: All projects to PackageReference
- Updated: Change log is now generated before build to include the include the latest commit messages in the package
- Updated: ChangeLogs is now an embedded resource
- Updated: NuSpec dependencies version
- Updated some NuGet packages
- Updated DeviceId package
- Updated nuGets
- Updated gitmodules
- Updated/Fixed WndProc hook to capture SM's program flow only during the requested operations
- Fixed: Race condition when a keyboard shortcut targets SM or one of its windows
- Fixed: Element Builder de-referenced null value on Concept and Parent
- Fixed: ElementDisplayState is now Serializable
- Fixed: Attempt at fixing unregistering null handler in Keyboard/KeyboardHook.cs
- Fixed: ISuperMemoAssistant Namespace
- Fixed: Plugin init when SM is already started
- Fixed: Plugin Lifecycle events unregistered even when SM is already started
- Fixed: Plugin's OnSMStarted is called when SM is already running
- Fixed: SMAPluginBase xml-doc
- Fixed: Keyboard hook race condition
- Fixed: Default namespace (RootNamespace in csproj)
- Fixed: ObservableHastSet Remove thrown an exception
- Fixed: SMAExecutableInfo didn't recognize semver 2.0 correctly
- Fixed: Removed GitRepoRoot
- Fixed: Update channel selection
- Fixed: SMA interrupts update mid-way when exiting #88 #161 #151
- Fixed: Updated plugin does not refresh in the UI (still happens in the Browse tab)
- Fixed: Occasional error when updating a Plugin
- Fixed: Change Log window now displays correctly
- Fixed: Wrong offsets for Hook and Concept in NativeDataCfg.json
- Fixed: Collection Selection > Options, and other option windows can now be canceled and revert changes #117
- Fixed an issue where Anotar.Serilog was kept as a reference https://github.com/Fody/Anotar/issues/324
- Fixed an issue where updated registry elements would have their Empty property set to true
- Fixed an issue where creating non-memorized element with repetition history would prompt a warning dialog in SM (rep history totally removed from element builder string)
- Fixed logging
- Fixed logging issues
- Fixed several issues
- Fixed collection lock check
- Fixed several smaller issues
- Fixed a bug where the hooked OnWnd method was being called while disposed
- Fixed Logger path. Now logs in AppData/Roaming
- Fixed issue with space in collection path
- Fixed several bugs in Component, Element, Members registries
- Fixed binary file structures
- Fixed slot file paths for .html & .jpg registry members
- Removed: AssemblyEx.GetAssemblyGuid (not reliable)
- Removed: DebuggerAttachStrategy
- Removed JetBrains annotations
- Removed ModuleInit from SuperMemoAssistant.Core
- Removed legacy code (Menus, ElementDataWdw)
- Removed MediaPlayer plugin from this repo
- Misc: Reorganized Template plugin
- Misc: Cleaned up SMAInstaller from legacy Change Log code
- Misc minor fixes
- Misc. minor improvements
- Misc minor improvements
- Misc fixes
- Misc. minor changes
- Change the type casts to soft casts
- Is there a reason they aren't soft casts using `as` rather than hard casts? It can be a bit confusing from the name because AsWeb, AsImage etc. suggest they will return null on failure rather than throwing.
- Fix: Attempt at fixing #SuperMemoAssistant/228
- Several other minor updates
- Plugin Manager is now initialized on startup (but plugins are still run after SM has started)
- Plugin enabled/Disabled is temporarily hidden
- Remove Hint Pattern from the option UI
- Improved Documentation
- Several other fixes & additions
- Plugin system is now fully functional
- Migrated most of the projects to NuGet and referenced them instead of having local project dependencies
- Several smaller UI improvement (Collection Selection, Settings, etc.)
- Started documenting the project
- Refactoring & many minor other additions & fixes
- (Settings) Browse plugins WIP
- (PluginManager) Moved Plugin management core features to their own NuGet package "PluginManager.Core"
- (ElementWdw) Added GenerateCloze and GenerateExtract (new API)
- (ElementWdw) Changed LearningMode to its enum instead of int
- (ElementRegistryBase) Added WaitForElement** methods
- (ElementRegistry17) Fixed crash when unknown element types are produced
- (Plugins) Changed the copy destination to MyDocuments\SuperMemoAssistant\Plugins
- (Plugins) Added DevSandboxPlugin
- (ModuleInitializer) Fixed no exception logging (Anotar reload needed)
- (SMATaskbarIcon) Fixed OnSMStarted crashing due UI access from another thread
- (RemotingConfiguration.CustomErrorsMode) Moved config to static constructors in SMA, InjectLib, SMAPluginBase
- (Configs) Renamed StartupCfg to CoreCfg
- (Configs) Split CoreCfg into two subclasses (UpdateCfg and StartupCfg)
- (Configs) Moved Update configs from App.config to CoreCfg.json
- (Sentry) Moved sentry api token to a parameter
- (Solution) Added NuPack* solution configurations (see MSBuild.Tools)
- (Solution) Cleaned and optimized solution's configurations & platforms
- (Sys.IO.*) Moved Sys.IO.* file and directory facilities to their own NuGet Extensions.System.IO
- (Extensions.System.IO) Added submodule
- Many other minor fixes & enhancements
- Turned SuperMemoAssistant.Services.Sentry in a class library
- Minor fixes
- SMA Installer (Debug only)
- SMA is now located in %LocalAppData%\SuperMemoAssistant, and its data (plugins, configs, logs) in %UserProfile%\Documents\SuperMemo Assistant
- Created a nuget for libs/mhshtml/Microsoft.mshtml.dll called "SuperMemoAssistant.mshtml"
- Several minor improvements & fixes
- Installer (WIP)
- Minor AppHost refactoring
- Minor additions & fixes
- Collection config #56
- added ability to query current learning mode
- Improved KeyboardHook logging
- App.xaml.cs: Replaced Environment.Exit with Shutdown
- SMATaskbarIcon: Fixed null issue when right clicking the tray icon
- NativeDataCfg.json: Updated versions number
- InjectLib: Better exception handling
- Several minor additions, bug fixes, cleanup
- Minor fix
- Enhanced concept handling
- Several minor fixes/additions (Extensions, RemoteTasks, ..)
- Package update
- Open collection through command line
- Minor other improvements & fixes
- Improved logging
- Fix attempt for borderless window for SM18
- Minor cleanup
- Validate SMA location
- Better exception logging for RemoteTask
- Cleanup
- Cleaning up
- VS upgrade
- Multi-sm version system seems to work OK.
- Not quite sure about the direction SMNatives is taking. This is a restore point.
- Multi-Version handling WIP
- Several fixes
- Several minor fixes
- Auto-subfolder, Better element creation control, child per branch setting, minor fixes
- Few additions, Several minor fixes & sanity checks
- ElementRegistry: Element batch creation
- XamlControlHtml: Fixed encoding
- ElementBuilderEx: Improved references + title
- Additions, fixes, ...
- Layout / Layout editor
- Several fixes/improvements (logging, keyboard hook scope, ...)
- Settings, UI, ...
- Layouts
- Other fixes/refactoring/...
- Plugin isolation
- Settings (plugins, layouts, ...)
- Plugin isolation + UI
- Lot of refactoring + improvements
- Remoting/plugin interop additions/fixes
- Finalizing plugin isolation
- Some refactoring
- Upgraded all projects to .NET 7.2
- Many other fixes/additions
- Plugin Manager
- Plugin package management system
- Optimized registries I/O processing
- Vast refactoring
- New element Layout system based on WPF + XAML
- Refactored native calls to only use SM17Natives
- Native calls: Added ShowNextElementInLearningQueue
- Native calls: Added SetElementState
- Native calls: Added ExecuteUncommitedRepetition
- Native calls: Added ScheduleInInterval
- Native calls: Added ForceRepetitionExt
- Native calls: Added ForceRepetitionAndResume (special handling)
- Native calls: Added RestoreLearningMode
- Native calls: Added PostponeRepetition (special handling)
- NuGet: Added DeviceId package
- Sentry: Added User context
- Sentry: Updated to 1.1.0
- Span: Added object holder child class
- Interop: Added SM LearningMode, DisplayState enums
- Several minor changes/additions
- LoadAssembliesOnStartup
- NativeFuncScanner overhaul (caching, centralized procedure store, ...)
- CorePlugin + CoreCfg
- Disabled InitOnLoad
- Fix for Delete preventing update in ElementBase
- Changed default ElementBuilder.TextContent Encoding to Unicode
- Refactored Svc
- Several minor fixes/refactor
- Improved Element/Component builder
- PluginHost/App WIP
- Fixing KeyboardHook.cs
- Started removing FlaUI library
- Handle WM_QUIT in WndProc
- Smaller fixes
- New MainThread execution method
- New keyboard hotkey capture method
- Configured Serilog Logger
- Many fixes/additions
- Many core addition, improvements, bug fixes
- Renamed ControlWeb to ControlHtml.cs
- ElementRegistry: Image creation
- ElementBuilder: New IContent interface & TextContent/ImageContent classes for a more modular element creation system
- ElementClipboardBuilder.cs: Renamed from ElementClipboard.cs
- ElementClipboardBuilder.cs: Handle images
- Image: Several fixes for image registry member
- IRegistryMember: Added Empty, UseCount properties
- Signed-off-by: Alexis <alexis@incogito.org>
- CollectionSelectionWindow: Auto-select first collection
- CollectionSelectionWindow: Enter and Alt+O keyboard shortcut to open collection
- ControlWeb: Fixed exception in setting outerHtml (use innerHtml instead)
- ElementRegistry/ElementBuilder: Images + refactored
- Text/Image/...Registry: Added native (sm) registry ptr
- ImageRegistry: Add image to native (sm) registry
- ElementWdw: Added Delete, FocusWindow + Try/catches on native calls
- ISuperMemo: Added IgnoreUserConfirmation
- CollectionFSService: Added method to get plugin resources path
- Keys: Added shift modifier
- Collection selection interface
- Implemented program flow
- ControlWeb::GetDocument now retries 5 times on ElementNotAvailableException and TimeOutException
- Several small fixes
- AppDomain serialization fixes
- Setup Svc & System.Windows.Application in PluginHost
- Minor fix to ComponentRegistry (component groups did not get inserted while loading)
- Introduced LastElement to DisplayElementChanged event
- Services.Svc refactoring
- WIP
- Initial Commit