From 45ceab4ce0033aa5991355775742ae8caf64349d Mon Sep 17 00:00:00 2001 From: Will Johnson Date: Mon, 4 Nov 2019 16:04:23 -0800 Subject: [PATCH] Release notes for v1.0.6. Also added in some comments to main.js and DetectorEdit.cpp for future work. Added in Wt::WString default encoding to be UTF-8 for macOS (not doing this before was an oversight). --- docs/releases/index.md | 21 +++++++++++++++++++++ src/DetectorEdit.cpp | 2 +- target/electron/app/main.js | 10 +--------- target/osx/AppDelegate.mm | 5 +++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/docs/releases/index.md b/docs/releases/index.md index dc2bda98..7fa9b378 100644 --- a/docs/releases/index.md +++ b/docs/releases/index.md @@ -1,3 +1,24 @@ +## v1.0.6 (November 4, 2019) +This release is mostly stability improvements, small UX improvements, and bug fixes. +Download Windows, Linux, and macOS binaries from: [https://github.com/sandialabs/InterSpec/releases/tag/v1.0.6](https://github.com/sandialabs/InterSpec/releases/tag/v1.0.6) + +* Improvements and fixes: +- For Windows and Linux made running application more robust by compiling the InterSpec C++ code to a node.js module, rather than a separate executable that had to be run by, and communicate with node.js. + - Updated to using [Electron](https://electronjs.org/) v7.0.1. +- Fixed a few potential JS issues when starting up that could prevent app from fully loading. +- Added checking for a file 'do_restore' in the applications OS-provided data directory; if it exists, it will be deleted, and `InterSpec` will try to load were you left off in your last session. When the app successfully fully loads, the file will be written again. If the file doesnt exist when the application is started, the previous app state will not be restored. +- On the "Peak Manager" tab you can export the currently fit peaks as a CSV file. Now, if you open up a different spectrum file, you can drag the previously exported CSV file onto the app, and the peaks defined in that file will be fit for. Additionally there is a new options (Help -> Options-> Ask to Propagate Peaks) you can enable so that when you load a new spectrum from the same detector as your current one, peaks will be propagated (and re-fit) from the old spectrum to the new one. In both cases a dialog showing the newly fit peaks will be presented to the user so they can select which peaks to keep. These feature are useful if you frequently deal with spectra from the same detector with similar isotopes. +- Improved suggesting peak assignments for single and double escape peaks from the right-click "Change Nuclide" sub-menu. Further improvements are expected in the future. +- Fix potential issue if google maps widget was shown more than once in a session. +- Fix a few issues assigning x-rays or reactions to peaks. +- Increase peak label sizes. +- Added a "Feature Marker" widget that allows easier, and more complete, selecting to show escape peak lines, Compton Edge, Compton Scatter and sum-peaks. +- Fix a few more instances of trouble loading files when there name/path contained some non-ASCII characters. +- Many smaller fixes and improvements. +- Added some less-common spectrum file formats and N42 variants. + + + ## v1.0.5 (August 23, 2019) This release is mostly small bug fixes, improvements, and the addition of the **Flux Tool**. Download Windows, Linux, and macOS binaries from: [https://github.com/sandialabs/InterSpec/releases/tag/v1.0.5](https://github.com/sandialabs/InterSpec/releases/tag/v1.0.5) diff --git a/src/DetectorEdit.cpp b/src/DetectorEdit.cpp index 351f9702..0e057076 100644 --- a/src/DetectorEdit.cpp +++ b/src/DetectorEdit.cpp @@ -1131,7 +1131,7 @@ GadrasDirectory::GadrasDirectory( std::string directory, GadrasDetSelect *parent m_deleteBtn->clicked().connect( boost::bind( &GadrasDetSelect::removeDirectory, parentSelect, this ) ); -//If we wanted to actually select directories, could do similar to file query widget... +//If we wanted to actually select directories, could do similar to file query widget... which webkitdirectory no longer seems to work, so see file query widget use of electrons dialog //#if( BUILD_AS_ELECTRON_APP ) // m_pathSelectedSignal.reset( new Wt::JSignal( this, "BaseDirSelected", false ) ); // const string uploadname = id() + "PathPicker"; diff --git a/target/electron/app/main.js b/target/electron/app/main.js index df168311..1b525172 100755 --- a/target/electron/app/main.js +++ b/target/electron/app/main.js @@ -23,17 +23,9 @@ /* ToDo list (partial): - Finish setting up launch_options.json (see get_launch_options()) - - Setup building/packaging Electron app as a single, or easy set of commands. - - Test out opening files (macOS and Windows; somewhat works on mac) - - Setup, or figure out, signing app on Windows and macOS - - On mac you can 'codesign-electron.sh InterSpec.app' to sign - - Handle errors in c++ by sending through IPC socket once its open + - Setup, or figure out, signing app on Windows - Handle fatal errors with dialog.showErrorBox(...) - Catch 'IntializeError' in stderr during startup, and handle - - Catch death in C++ code and display an error - - Could probably setup general error displaying mechanism of looking if - there is a window showing loading.html, and if so, display there, and - if not create a dialog. Needs more thought. - Look at creating a backup preferences file, and if the C++ fails to start 2 or 3 times, go back to the previous preferences file (should be done for all targets maybe). diff --git a/target/osx/AppDelegate.mm b/target/osx/AppDelegate.mm index 6d0381c9..24247504 100644 --- a/target/osx/AppDelegate.mm +++ b/target/osx/AppDelegate.mm @@ -41,6 +41,8 @@ #undef require #endif +#include + #include "InterSpec/InterSpec.h" #include "InterSpec/InterSpecApp.h" #include "InterSpec/InterSpecServer.h" @@ -244,6 +246,9 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSLog(@"Finished Launching"); + + Wt::WString::setDefaultEncoding( Wt::UTF8 ); + /* //Could maybe get rid of using XIB/NIB by manueally creating a window like: NSRect frame = NSMakeRect(0, 0, 300, 300);