* Improve styling support when web authentication disabled, fix issue #1017
* Fix sudo PATH issue in Docker web container (allows easyinstall.sh to call commands in sbin)
* Fix logout button icon flicker/reload on resize
* Add script to install ftp server
* Grep only the first ip address to avoid capturing the docker ip address
* Consistently use --assume-yes and --no-install-recommends with apt-get
* Capture corner case where both rascsi and piscsi groups exist
* Add CI/CD dependency of easyinstall.sh
* Update the run choices
- Add a label to system name, and modify the style sheet to hide it in the modern theme
- Restore the Control Page subtitle, and hide it on small screens
- Tweak some wordings and help text
Hybrid approach of:
- Always checking for legacy services for each workflow that involves installing new services, then disable and rename them.
- Check for the rascsi group, as well as old rascsi.conf, rascsi_bridge, config dir and secret file inline whenever the script interacts with them, then rename them.
- Check for the old self signed cert and key, as well as compiled protobuf libs, and delete them when the web ui is installed
Also fixed:
- the old manpage renaming script which should keep the old 'rascsi' names.
- removed the ancient apache cleanup, since it's been over 2 years now since the PHP webapp was deprecated.
- general purpose stop/disable/status functions for systemd services
- general purpose deleteFile function
- default to half of the max no. of cores for compiling
- use the SKIP_PACKAGES flag in more functions
- introduce a SKIP_MAKE_CLEAN flag
* Rebrand project to PiSCSI
- rascsi ->piscsi
- rasctl -> scsictl
- rasdump -> scsidump
- ras* -> piscsi* (rasutil -> piscsi_util, etc.)
* Refined the formatting and wording of the app startup banner
* Kept some references to rascsi and rasctl where backwards compatibility is concerned
* Point to the new github repo URL
Co-authored-by: nucleogenic <nr@nucleogenic.com>
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
- Fixed ignore patterns in .dockerignore
- Added healthchecks to backend and web containers
- Reduced Docker image sizes
- Removed RaSCSI references in various areas (e.g. rascsi -> backend)
- Added compilation-only step to easyinstall.sh
- Moved apt package lists to variables
- Revert to triggering GitHub Actions runs on push
- Updated web/frontend_checks workflow to run black and flake8 against all Python sources
- Capture log files from backend/web containers
- Fix None to float conversion bug when user agent is absent or unrecognised
* Update config for black and flake8
* Auto-format Python sources with black
* Fix issues reported by flake8
* Exclude protobuf files from black
* Address formatting feedback
- counter for refreshing network status, currently set at 10 ticks (10s with the default refresh interval)
- adding a --refresh_interval option to control the overall screen refresh rate, keeping 1000ms as the default
- Restore a 'No Media' status message for RM devices that was lost with the last PR
- Display the pretty hostname as system name in header
- Move IP and hostname down to the footer
- New endpoint for setting the pretty hostname, plus form field in the Web UI
- (unrelated) Use platform.uname() instead of shell uname
- (unrelated) Better logic for fetching the Mac HD Drivers zip file in easyinstall.sh
- Bring back the shutdown splash, with the tweak that is blanks out after 700ms
- Restore the non-Latin transliteration originally from https://github.com/akuker/RASCSI/pull/449 which was lost when the `common` package was introduced
- Bump to the latest libraries, while removing implicit dependencies from requirements.txt
- Shorter duration of the startup splash
- Reintroduce shell shutdown/reboot methods for use with the Web UI. This addresses https://github.com/akuker/RASCSI/issues/538 (the ctrlboard client will continue to use the built-in rascsi system calls which are slightly faster)
- Remove overt references to RPi. This addresses https://github.com/akuker/RASCSI/issues/990
- Other refactorings
* Expose hardware info in env string
* Improve error handling for get_properties_by_drive_name
* Verbose uname parameters.
* Close open file in introspect method
* Add error handling for when no drive name was matched with props in the database
* Docker environment fixes
* New theme for web UI
* Apply breaking wrap to filenames only
* Reduce font sizes, whitespace and padding
* Right align action fields/buttons
* Improve mobile header, hide superfluous UI elements when logged out, drop placeholders from login labels, various other adjustments
* Force footer to bottom of screen
* Show manual link to logged out users
* Reduce header text size on desktop
* Fix incorrect selector ID
* Fix selector referencing old class name
* Fix right-aligned message when images table empty
* Add CSS linter/auto-formatter
* Run Stylelint + Prettier against modern theme CSS
* Select default theme based on browser’s user agent
* Style inputs on mobile/tablet devices
* Fixes for Safari 14 on iOS + iPad OS
* Explicitly define mobile browser support, switch to bare ua-parser without user-agent wrapper
* Add LICENSE file for modern theme icons
* Improve theme selection query string/field naming.
* Remove patch workaround from Docker build
* Update log level for UAs to info
* Move Bootstrap Reboot CSS to CDN
* Account for LUN column in attached devices table
* Prevent wrapping of config forms on small viewports
* Fix Stylelint issues
* Auto-format CSS with Prettier
* Support for ID and LUN parameter for the -L option in rascsi
* Added DeviceLogger class
* Removed dupiicate code
* Fixed SonarQube issues
* Added unit tests, improved code sharing
* Fixed regression (#979)
* Moved rasdump and monitor to sub-folders, cleaned up code
* Fixes rasdump issues and added additional features like device type check, LUN support and configurable buffer size
- Make clang++-11 the default for compiling rascsi
- Add --with_gcc option to use g++ instead
- Add option to skip apt-get package installation (this saves a significant amount of time running the script on a Zero when you already have the required packages installed)
- Add a line to the script menu showing current options
- Surrounding cleanup
* Cleaned up dependencies on controller manager
* Removed global fields
* Simplified setting up RascsiResponse and RascsiExecutor
* Got rid of remaining raw pointers
* Use references instead of pointers
* Improved encapsulation
* Headless bypass for sudo check. Also, correct check for mac drivers dir.
* Remove inline sudo -v checks. There's no proof they improve anything.
* Use akuker's dropbox storage
* Moved rascsi/rasctl/scsimon/rasdump.cpp to classes (for better testability)
* Moved bus.* to hal folder
* Removed some global variables
* Fixed code redundancies
* Using lambdas instead of member function pointers simplifies the command dispatching and reduces the code volume
* Removed duplicate error handling
* Fix for issue #956
* Unit test updates
* Resolved SonarQube issues
* Unit test updates
* Lambda syntax cleanup
* Use new-style casts
* Use std::none_of when saving the cache
* Use to_integer instead of casts
* Use accessors for getting CDB data
* Made ctrl_t private
* Improved encapsulation
* Replaced pointers by references
* Removed all remaining occurrences of DWORD and BYTE, making os.h obsolete
- New "format as" option when creating new images; removing the image creation options from easyinstall
- Bring in HFSer as new submodule providing the driver binaries; removing the Lido driver binary from this repo
- Add SpeedTools driver option
- Point to github mirror of hfdisk, since the original git server is down
- While rearranging the easyinstall options, moved the CtrlBoard option up to the main section
- Add an easyinstall script to configure Samba, while consolidating file sharing with Netatalk
- Moved C++ code to cpp/ from src/raspberrypi
- Related updates to Makefile, easyinstall.sh, and the github build rules
- Removed the native X68k C code in src/x68k from the repo
* Remove deprecated critital log level from test
* Move drive_properties back into template data sets
* Move properties data integrity checks to test code
* Streamline the drive formatting logic
* Added logic to figure out what type of host we're running on - Banana Pi or Raspberry Pi
* Split out the raspberry pi logic to separate classes that are created at start-up based upon the host configuration
* Added System Timer class for Allwinner H3 CPU
* Added stubs for GPIO BUS for Allwinner H3 CPU
Authored-by: Tony Kuker <akuker@gmail.com>