2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-04-05 17:39:39 -04:00

6 Commits

Author SHA1 Message Date
F K
31a9cfc92d
[Framework] Add 3 new properties to NotificationArgs to expand detail (#131)
The new properties are:

* string Sender: The name of the plugin sending the notification.
* string ExtendedDetails: Even more detail than Title and Detail convey. This value will not be spoken nor included in pop-up notifications. However, other notifier plugins may use this value.
* int ColescingId: An id which can be used to correlate multiple notifications together (ie. for sorting/grouping) without depending on arbitrary string values. I recommend reserving -1 for system, 0 .. 1000 for system bodies and anything else is arbitrary and can be agreed upon between Core and Plugin authors, as desired.

While the motivating use is a new notifier plugin I am authoring (my Aggregator plugin, see GitHub), I have tried to make this as general purpose as possible.

I have modified Explorer as an example of usage. After this is merged, I'll follow up with another PR to use this in Botanist as well (I have other changes pending for Botanist; see #120).

Comments welcomed!
2024-01-23 19:36:16 -05:00
Jonathan Miller
8de34a141c
Export version fixes (#83)
* Add file association for .eop, prompt for install dir

* Handle .eop or .aip file passed as arg.

* VS2022 version bump

* Filter neutron stars and black holes from fast spinning criteria.

* Adjustments for new "high value" check

* Refactor herald cache

* Fix element order and namespaces for voice moods.

* Add explicit .Stop() between audio player calls.

* Use nullsafe member access instead of skipping

* Don't queue up a title that's already queued.

* Improve body ordinal handling for explorer speech titles.

* Escape strings being inserted into xml

* Handle flip-flopping JSON type

* Converter for flip-flopping property type

* Use the converter

* Escape characters *before* we wrap it in xml.

* Give Eahlstan his clear button. :D

* Exclude all stars from fast rotation check.

* Close outstanding popup notifications on exit.

* TO DONE

* [Herald] Suppress duplicate notification titles for spoken notifications

If you have notifications from multiple plugins producing notifications with the same title in quick succession (ie. "Body A 1 e" from both Explorer and BioInsights), the title on successive notifications will not be spoken again to save the breath of our friendly Azure speakers.

* Doc update

* Remove unintended member hiding

* Fix export errors when exporting BioInsights data, cleanup

Discovered a couple issues with exporting BioInsights data resulting from using two different types of objects in the data grid; improved error handling as well.

Also cleaned up some old-style read all code.

* Add read-all on launch setting

* Updated framework xml

* Improve high-value body description text

Co-authored-by: Fred Kuipers <mr.fredk@gmail.com>
2022-05-21 13:00:47 -02:30
F K
0c86590f75
Use HasFlag in another spot. (#68)
Just a tiny cleanup.
2022-03-23 08:12:28 -02:30
F K
4f4ba88878
Add event-based LogMonitor state changes to better handle batch reads (#59)
* Add event-based LogMonitor state changes to better handle batch reads

Pre-reading hackily used read-all to suppress notifications. But that broke some assumptions about what read-all meant. Furthermore, the Core UI told plugins about read-all rather than the log monitor telling them -- which is really what should be telling them.

To address these concerns, LogMonitor now provides an event that both the PluginCore and PluginEventHandler listens to or tracking logging state allowing more granular information about the activities of LogMonitor, including distinguishing between ReadAll and Pre-read batches. Plugins no longer need to track if LogMonitor is in batch-read mode or not -- PluginCore now provides it. 

I've also converted all built-in plugins to use the new event-based system. The old system is marked deprecated and will go away once other known contributed plugins have converted to the new system.

* Change LogMonitorState enum to [Flags], drop 'None' state

As requested, and did associated simplifications and cleanup that followed.
2022-03-03 16:39:49 -03:30
F K
701f6f0b1c
Add new Rendering controls for notifications, add missing forwarding (#47)
Plugins authors can now optionally specify what ways their notifications are rendered (subject, of course, to user preferences/settings). The default is to render notifications in all available channels. Examples:
- Show native pop-up window only (ie. no voice/plugin notifiers)
- Disallow other plugin notifiers

This does not support selection of notifier plugins.

Furthermore, persistent notification updates were not previously being forwarded to anything but the native popup notifier. Now plugins and native voice are also supported (subject to user preferences) and respect the new rendering controls added here. There is currently no concept of closing notifications for the native voice or plugin-based notifiers.
2021-12-18 17:57:23 -03:30
Xjph
4c1031b8f9
Reorganize all observatory core projects into monorepo (#25)
* chore: move all observatory repos to core

* only save journal folder on change, don't constantly re-check during monitoring

* chore: monorepo project changes

* chore: monorepo migration
2021-10-21 19:31:32 -02:30