* Read the drive properties file once and store it in the Flask app config. Spin out the drive properties formatting to a helper method.
* Add empty removable disk drives to the attach peripherals UI
* Refinement of UI labels and help text, moving some context to the wiki
Uses a single endpoint for downloading files
Adds a select field to pick target dir for both download and upload forms
Moves the Macproxy/Netatalk helptext into the helptext blocks, and the related status messages down into the page footer
new:
- new templates to render structured info contents in
- get_diskinfo() class method that calls disktype and returns the results
- /diskinfo endpoint in the Flask app that renders the results from get_diskinfo()
changed:
- /logs/show and /scsi/info endpoints in the Flask app render in templates
- Now using the "RaSCSI Reloaded Control Page" header to function as the link back to the homepage (instead of the github project) which is in line with how most webapps work
- Removed the center style for "Attached!" to allow the ? button to be placed on the same line
- Remove individual device info, and introduced show all device info in a template
* Generate list of image types to create programmatically based on rascsi capabilities, rather than a hard-coded list in the Web UI.
* Add explicit sorting of dicts for display in the Web UI, to avoid random order in certain environments.
* Remove redundant sorting line, and add code comments.
* Add helptext for the SCSI-1 image type
* Removed static/global variable
* No need for ControllerManager as a singleton
* Updated factory handling
* Replaced loops
* Added const
* Added translations, fixed TODO, simplified operation creation
* Fixed SonarCloud warnings
* Replaced void * by BYTE *
* Added explicit mode_page_datetime struct
* Unit test updates
* Use enum classes
* Upddated file size check
* Use C++ output formatting
* Removed unused code
* Use array for garbage buffer
* Fixed data returned by READ CAPACITY(10)
* For mode pages: Replaced BYTE by std::byte
* Use std::byte for INQUIRY
* Use std::byte for REQUEST SENSE
* Replaced C array by vector
* Replaced C style array
* Replaced BYTE by std::byte
* Replaced DWORD
* Use more byte arreys
* Updated CTapDriver initialization/deletion
* Made status uint32_t instead of DWORD
* Replaced command byte array by vector
* Updated error handling
* Removed obsolete casts
* Improved locality of code
* rw_command has become obsolete
* Dynamically allocate command byte buffer
* Simplified receiving commands
* Use references
* Type safety update, dispatcher update
* Removed macros, replaced BOOL/FALSE/TRUE
- Memory management updates, more fixed Sonar issues
* Replaced macros, fixed other sonar issues
* Added const, replaced enum with a single value by constant
* Updated object initializations
* Fixed potential strncpy overflow reported by gcc 8.3
Add --token parameter to easyinstall.sh
Add --skip-token parameter to easyinstall.sh
Install required apt packages explicitly (--no-install-recommends)
Allow standalone RaSCSI and web UI installations to specify an auth token
Add development mode to web UI (web/start.sh --dev-mode)
Initial Docker-based development environment for Python and web UI
Bump protobuf version
Workaround for Flask development server and asyncio incompatibility
Build Python protobuf interface on container launch, if it doesn’t exist
Allow containers to be configured with environment variables, add support for token authentication
Move web UI live editing setup out of main Docker Compose config
Update dockerignore to exclude by default
Update README
Add OS_DISTRO, OS_VERSION and OS_ARCH build args
Allow extracted files to be moved to target when crossing a filesystem boundary
Reduce noise from watchmedo auto-restarts
Update Docker tag structure to rascsi:{build}-{platform}-{variant}
Prevent Docker Compose from attempting to pull images from Docker registry
Add workaround for issue #821
Allow container processes to be stopped with Ctrl+C
Update README, bind to ports 8080/8443 on the Docker host by default
Update README to clarify audience and no board connectivity
Add AIBOM and GAMERNIUM to --connect_type validation
Update cfilesystem.patch following rebase