2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-07-01 08:23:42 -04:00
Commit Graph

273 Commits

Author SHA1 Message Date
5c3474dc0e Initial overhaul work 2023-05-05 09:38:00 -02:30
f73227f02f Update to avalonia 11 preview 2023-05-05 09:38:00 -02:30
F K
639ad72fb4 2 Bug Fixes (#112)
Add a try-catch in ReadAllLines to handle a read failure if a file is locked.
Add a check for a non-existing export folder when exporting and prompt for new path if it doesn't exist.
2023-04-30 13:19:22 -02:30
5bbf2f50de Remove unused variables from catch 2023-03-01 16:31:18 -03:30
cff7f0c7cb Updated framework xml 2023-03-01 16:30:58 -03:30
0246d772af Minor README updates 2023-03-01 16:29:36 -03:30
35a0cfdcbd Update position when window is shown (#107) 2023-03-01 16:23:14 -03:30
5ada0e41d8 Implement click-through windows for X11 (Linux) (#106)
* Implement click-through windows for X11

* Adjust the "platform specific" comment

* Get rid of accidental whitespace

* Move else declaration into next line
2023-03-01 16:22:47 -03:30
F K
3f2f11bdf3 [Framework + Core] Feature: Add support for adding multiple grid items (#105)
For plugin developers: Adds a new method to the IObservatoryCore interface to add multiple grid items in 1 call -- which only invokes the UI thread once (and potentially only scrolls to bottom once) providing a small performance improvement and providing some modest convenience.
2023-03-01 16:22:20 -03:30
F K
7e401adb6f Handle disposed timer object in ResetTimer() (#104)
I've had this occur a number of times (twice in a row yesterday) where if you receive new records while doing a long read-all, this exception crashes ObsCore.

So may need some further digging, but in the meantime, it won't crash here.
2023-03-01 16:21:23 -03:30
F K
6298316c94 Implement Tab separated export format (#103)
Tab separated output facilitates much more efficient opening of exported content in a spreadsheet for further data analysis, furthermore, it vastly reduces file size at the cost of human-readability. However, for the spreadsheet junkies among us, this is a welcome option.

To complement this, there is now an "Export Options" expander in the Core settings panel. Here one can select their preferred export style (default remains Fixed width) and now one can pre-select the export folder.

With this change, clicking export *will not* prompt for an export folder if one is already set. It will simply immediately export data.

Enjoy!
2023-02-26 11:20:59 -03:30
f1790608e8 Avoid default null as collection key. 2023-01-19 19:34:34 -03:30
c20af38a2e Always attempt properties upgrade 2023-01-19 19:28:31 -03:30
e3e019e3f7 Handle missing effect full range of "+"s 2023-01-19 19:24:56 -03:30
565aaf0838 Apply same test for string length for both ordinal operations 2023-01-19 19:20:58 -03:30
52aa9fb1e5 Handle exceptions during async http requests. 2023-01-18 21:38:24 -03:30
cacaa98033 Fix barycentre naming logic 2023-01-17 19:06:30 -03:30
7a7c110b45 Skip property upgrade if no version present 2023-01-17 19:06:08 -03:30
f9341c8cd3 Allow omit of explicit true in complex criteria (#101) 2022-12-21 10:02:06 -03:30
229e76b87d Add SRV to VehicleSwitchTo 2022-12-13 19:12:34 -03:30
c4309b204c Update innosetup for .NET 6 2022-12-12 21:50:06 -03:30
eeae99dc2a Migrate to .NET 6 2022-12-04 15:01:56 -03:30
388b7110cf U14 Status change 2022-12-04 15:01:24 -03:30
e4049d67c1 Update 14 jounal changes 2022-12-04 11:00:07 -03:30
F K
9b34d50d32 Disable ShowActivated on notifications to avoid focus stealing (#98)
The recently updated avalonia seemed to change behavior in a way that caused notifications to steal focus from the game (often at at inopportune times). Not all users experienced this.
2022-12-04 10:41:30 -03:30
3a9b4da2b7 Update framework xml doc 2022-10-30 19:17:01 -02:30
62dd6730e8 Handle general exceptions during plugin loading. 2022-10-30 19:16:47 -02:30
95db12de72 Additional custom criteria convenience functions. 2022-09-04 19:20:49 -02:30
796819617b Odyssey Update 13 journal changes 2022-08-29 10:03:51 -02:30
428b44cc2b Make file browse result check nullsafe 2022-08-29 09:48:15 -02:30
F K
11a2dcb819 Adds ring/belt helper functions, improved criteria debuggability (#96)
Adds new functions to the Lua environment available to custom criteria for handling rings and belts:
- the existing `rings(scan.Rings)` function behavior is unchanged
- NEW: `ringsOnly(scan.Rings)` and `beltsOnly(scan.Rings)` functions return ONLY rings or belts, respectively, and shortcuts the `scan.Rings` check
- NEW: `hasRings(scan.Rings)` and `hasBelts(scan.Rings)` functions return true if there are one or more proper rings or belts, respectively, in scan.Rings and shortcuts the check, too

Furthermore, this adds a debugging aid that identifies what custom criteria caused an error/crash. For simple criteria, ie:
`::Hot Landable::`
... the description "Hot Landable" is used. For complex criteria, you can now annotate the `::Criteria::` line with a description used for debugging like so:
`::Criteria=Hot Landable::`. Criteria errors are logged like this:

```
Error encountered in Elite Observatory from plugin Explorer while processing custom criteria 'Criteria14=I just crash' on scan:
```

Duplicates are avoided by prepending the user-provided description with a generated name (ie. `Criteria14`, in the example above).

Finally, the Detail expression for simple criteria can now safely reference values checked as part of the criteria condition. In particular, the Detail expression is now conditionally evaluated if the result is true. So the following will now work (previously it failed for non-star bodies when StarType was nil):

```
::Ringed Star::
scan.StarType and hasRings(scan.Rings)
::Detail::
'Star type: ' .. scan.StarType
```
2022-08-29 09:45:51 -02:30
F K
be6ef85fa4 Fix boolean logic bug that slows ancillary file reading to a crawl (#93)
Symptoms: App takes a very long time to start up, sluggish response to events because it's reading and processing every ancillary file 10x instead of just once when successful.
2022-07-24 18:47:18 -02:30
342d5af11c Error handling improvements (#92)
* Consolidate plugin errors into single window.

* Handle error aggregation and loggin inside error reporter.

* Minor logging corrections.

* Error popup tweaking
2022-07-24 15:48:55 -02:30
d8d5f2794b Limited retries when ancillary files are locked. (#90)
* Limited retries when anciliary files are locked.

* Move sleep to top of loop.
2022-07-24 09:54:31 -02:30
ef31102d11 Handle barycentres without ordinals 2022-06-26 13:27:21 -02:30
48284c574d Make Lua GC call nullsafe 2022-06-26 13:14:02 -02:30
0c218ed52b Added framework xml documentation for all "exploration" events. 2022-06-12 14:44:04 -02:30
9586e37be7 Update to Avalonia 0.10.15 2022-06-12 13:57:25 -02:30
750cb5bec4 Handle anciliary files. 2022-06-09 21:10:35 -02:30
3896621092 Add new FCMaterials file classes. 2022-06-09 21:10:26 -02:30
d03d75aa24 Add descriptive error for multi-line criteria overruns. 2022-06-05 23:14:04 -02:30
396a5a9217 Journal changes for Odyssey Update 12 2022-06-05 23:09:16 -02:30
2200b94a6c Manually trigger Lua GC periodically. 2022-05-29 21:57:57 -02:30
bb9185ef8a Guard against empty rings array. 2022-05-29 21:52:44 -02:30
F K
fc4d038645 Workaround journal bug: Already mapped bodies are not undiscovered (#85)
Just checking something is not already discovered is not enough. Many valuable bodies in the bubble mis-fire this criteria because the journal reports them as not discovered (because they have no first discoverer because they're well known systems). Checking that they're also not mapped ensures this doesn't happen.

Also simplified rendering of the string info.
2022-05-28 18:56:47 -02:30
F K
8106fbd0df Explorer: Show data for the current system only (#86)
Resolves #63

This behavior is suppressed during batch reads.
2022-05-28 10:33:36 -02:30
F K
6616b54852 Suppress pre-reading if read-all is also selected (as it is redundant) (#84) 2022-05-28 10:24:10 -02:30
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
921f3867fa Add herald build api key to gitignore 2022-05-09 11:17:21 -02:30
9708a5fbc7 added HighValueMappable checks (#81)
* added HighValueMappable checks

* added high value mappable details
2022-05-09 11:12:17 -02:30